sqli11

第11关: POST - Error based - Single quotes - String

// POST-基于错误-单引号-字符型

1.进入11关,界面如下,这是一个登陆界面

 

 

 2.随便输入一个用户名,密码结果显示错误,我们在随便输入的用户名后加一个单引号试一下

 

 

 3.爆出了的信息有点少,我们再在账号后面加一个双引号试试

 

 

 我们从2,3步大致可推出sql的语句为:select username,password from users where username='用户名' and password='密码' limit 0,1

4.知道sql的语句了,我们可以构造一个万能密码

select username,password from users where username='adafd' or 1=1 # ' and password=' ' limit 0,1

 

 

 5.利用报错函数爆出数据库,下面介绍一下要用到的函数

extractvalue() :对XML文档进行查询的函数

语法:extractvalue(目标xml文档,xml路径)

第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。

6.我们用bp抓一下我们刚才的万能密码post包

 

 

 7.使用extractvalue函数

 

 

通过extractvalue函数的报错,我们还可以在select的地方查询其他的,比如说表名,字段名,数据,我就不说明了

posted @ 2020-06-05 22:38  追风6  阅读(332)  评论(0)    收藏  举报
Live2D