Sqli-labs Less-18 User-Agent注入 updatexml()报错注入
本关我们这里从源代码直接了解到
$uname = check_input($_POST['uname']); $passwd = check_input($_POST['passwd']);
对uname和passwd进行了check_input()函数的处理,所以我们在输入uname和passwd上进行注入是不行的,但是在代码中,我们看到了insert()
$insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)";
将useragent和ip插入到数据库中,那么我们是不是可以用这个来进行注入呢?
Ip地址我们这里修改不是很方便,但是useragent修改较为方便,我们从useragent入手
我们利用fiddler进行抓包改包
从上图可以看到,修改user-agent后的在前台显示user-agent已经为修改后的了。
那我们将user-agent修改为注入语句呢?
将user-agent修改为' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1
可以看到我们已经得到了数据库库名。
其余的与上述payload类似。