01
—
背景
近期看到篇文章说sqlmap也能被反制了,看到的时候,第一反应是完了,拿起一个破站一顿操作的日子已经过去了吗?以后我这种脚本小子没有容身之地了,再也没有什么安全的工具是安全的了?
作为一个脚本小子,这不妥妥的要复现一波,看看具体是怎么样的,不然到时被反制了岂不是要丢死人了。
秉着有坑我不踩的想法,特定找了下一些资料并按照大佬的文章复现了下。大佬的文章中说的主要是利用反引号去命令执行。
02
—
**复现
**
复现之前我们先了解下在shell中反引号、双引号、单引号的规则。先搞懂了这些,我们才能继续扩展思路,不然怎么触发都不知道,下一次遇到坑,那不是还是跳下去不是。
反引号:反引号之间的内容会先作为命令执行,输出内容再用字符串的形式返回。
双引号:双引号里的特殊字符比如 $、\ 等还会保留其特殊含义,变量名会被解析成变量值。
单引号:单引号内的所有字符都会原样输出,没有特殊含义,单引号内的变量、命令替换都不会生效。
一开始看到反制,想着直接搭建个linux,在win下进行反弹shell,一直无法复现出来。后面想了下,不对呀,反引号是linux的独有特征,环境应该是linux才对,win不可能复现出来。
又安装了个linux,在linux下载环境部署,真就环境搭建一下午,复现几分钟。
Linux效果:
执行ls的时候,发现查看的是自己本机上的文件,这不就是利用linux的反引号特征,那就是无论什么工具,参数只要带上反引就可以实现。
随便找了个工具nmap,备注:纯粹就随便找了个工具,各位师傅别想太多。
最终效果如下:
为了再核实下,我换了个命令:
为了测试完整,用sqlmap的文件测试,看看将反引号藏在包里是否会执行,发现是无效的。
正常跑sqlmap,不会触发命令执行,只有在输入命令的时候。
触发反制的思路应该是这样的:
在蜜罐上部署个页面,攻击者在linux使用sqlmap,还需要执行反弹shell的命令,才能达到效果。
03
—**
总结**
其实sqlmap这个反制思路,主要是利用了linux的特征导致命令执行的,如果用的工具不是linux的话,那么其实是没有任何影响的,win压根不会触发。
反制成功的条件太苛刻了,本质上在linux的环境下,用任何命令加上反引号都能命令执行,等同于自己在linux上执行力这个命令。
这种或许只能反制一下刚入门的小白。随着反制技术越来越骚,思路还是能借鉴的。
拿着破站直接开干的日子,确实过去咯