sqli-labs less11 POST - Error Based - Single quotes- String (基于错误的POST单引号字符型注入)

Posted superkrissv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqli-labs less11 POST - Error Based - Single quotes- String (基于错误的POST单引号字符型注入)相关的知识,希望对你有一定的参考价值。

技术分享图片

查看源码,用户名和密码通过post提交

技术分享图片

加单引号提交

 技术分享图片

出现报错,推测对应的SQL语句

select ... from ... where xxx=‘‘‘ and yyy=‘123‘ limit 0,1

技术分享图片

直接使用or构造永真登录

技术分享图片

成功,注意此处登录的用户为表中的第一个用户

技术分享图片

需要改变用户可以通过改变筛选条件实现

技术分享图片

作为表中的第二个用户登录

技术分享图片

如果在客户端进行了敏感字符的输入限定,可以直接使用hackbar提交POST数据绕过

如果采用构造这种输入,登录会失败,原因是因为and的优先级是高于or的

yyy=‘test‘返回false然后and运算仍为false, xxx=‘1‘ or false结果为false

也就是说这条查询不会返回任何结果

select ... from ... where xxx=‘1‘ or ‘1‘=‘1‘ and yyy=‘test‘ limit 0,1

技术分享图片

注意,如果yyy=‘test‘返回为true,此查询是可以得到结果成功登录的

比如表中一个用户密码为admin

技术分享图片

技术分享图片

这样是可以作为该用户成功登录的

技术分享图片

利用这种思路构造如下注入

可以成功绕过

select ... from ... where xxx=‘1‘ or ‘1‘=‘1‘ or ‘1‘=‘1‘ and yyy=‘test‘ limit 0,1

技术分享图片

技术分享图片

 

以上是关于sqli-labs less11 POST - Error Based - Single quotes- String (基于错误的POST单引号字符型注入)的主要内容,如果未能解决你的问题,请参考以下文章

sqli-labs less11 POST - Error Based - Single quotes- String (基于错误的POST单引号字符型注入)

sqli-labs(less-11-16)

sqli-labs lesson 11-15

sqli-labs less34 POST- Bypass AddSlashes (POST型绕过addslashes() 函数的宽字节注入)

sqli-labs less13 POST - Double Injection - Single quotes- String -twist (POST型单引号变形双注入)

sqli-labs less42 POST -Error based -String -Stacked(POST型基于错误的堆叠查询字符型注入)