没有空格的命令注入

admin
27031admin首席执行运营官
2017-07-30 21:39:51
27031 2017-07-30 21:39:51
黑客话题: sql 注入

图片:center (2).jpg

    最近我在做一个错误赏金时遇到了一个很好的小指令注入漏洞。唯一的缺点是我不能在命令中使用任何空格。让我详细了解... 注意:我不能发布任何关于申请的细节,因为它是一个私人的赏金计划。这一切都从页面开始,为用户输入的域或IP进行“nslookup”输入框。像这样的页面总是激发一个错误赏金猎人,因为应用程序必须将用户的输入传递给底层系统命令来执行nslookup,并在浏览器中显示该命令的输出。如果开发人员在验证和消毒输入方面有任何错误,他们会无意中打开门,攻击者滥用此功能在服务器上执行任意命令。所以,当我看到输入框时,我开始探索并尝试强制应用程序执行任意命令。我从简单输入google.com开始


我的下一个自动尝试是输入google.com && ls
这返回与上述相同的输出,这意味着应用程序忽略了我提供的附加命令。同样的故事继续我所有的尝试,如google.com || ls
当我尝试输入google.com> /tmp/test.txt时,输出窗口是空白的,这是奇怪的。这建议可能应用程序是过滤空间,所以我尝试了相同的命令,但没有空格和...


成功!
但是空格的问题还没有解决。对于输入google.com && cat / etc / passwd,应用程序再次忽略空格后的任何内容。
:(

那么我下一个明显的举动就是在Google上搜索这个问题,因为如果我面临这个问题,有人必须已经面临类似的情况。不用说,Google并没有让人失望。


输入“ Bash Brace Expansion ”。 据此,如果您在bash终端上提供如下所示的输入:{echo,hello,world},它将执行命令echo hello world
对我来说,这是一个整洁和TIL的时刻。我在我的应用程序中尝试过,但没有成功。也许是因为我的目标应用是嵌入式设备,而shell是一个busybox shell。在Google上,我的疑点得到证实。
所以我再次回到Google寻找不同的解决方案。然后我遇到这个线程 - https://seclists.org/pauldotcom/2012/q2/200据此,您可以执行无空格的命令:CMD = $'\ x20a \ x20b \ x20c'; echo $ CMD
看看那个聪明才智!更多TIL!这里,CMD是包含编码空间的环境变量。在运行时,我们得到回声abc

现在,我在我的应用程序中尝试了很少的修改CMD = $'\ x20a \ x20b \ x20c'&& echo $ CMD
答对了!


从这里,执行任意命令是一个cakewalk。输入  google.com && CMD = $'\ x20 / etc / passwd'&& cat $ CMD




/ etc / passwd文件

本文标题:没有空格的命令注入
本文作者:admin
本文来自:蚁安黑客官网
转载请注明本文链接:http://www.mayidui.net/t784-1.html
1937cn丶Kender
沙发1937cn丶Kender白蚁王族 2017-08-19 12:44
支持大佬,顶一个
游客
登录黑客论坛后才可以回帖,黑客登录 或者 注册黑客
weixin
蚁安黑客

找黑客工具、找黑客教程、找黑客朋友,你想不到的黑客技术这儿都有!

微信号:baiyiwangan