命令执行测试-业务安全测试实操(12)

命令执行测试

测试原理和方法

在应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的承数。如PHP中的svstem、exec、shell exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。测试中如果没有对参数(如cmd=、command、excute=等) 进行过滤,就可以直接造成命令执行漏洞或配合绕过及命令连接符(在操作系统中,“&、、1、:”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令) 等进行命令执行漏洞测试。'
 

测试过程


攻击者发现疑似存在命令执行的漏洞链接,添加命令执行payload,确认漏洞,如图 所示。

 

以某网络安全审计系统为例,由于未对register key参数进行过滤可能存在命令执行漏洞,抓包并对其进行测试,构造命令执行语句并执行成功,证明此参数未经严格过滤造成命令执行漏洞,如图 所示。

 

猜你喜欢

转载自blog.csdn.net/luozhonghua2014/article/details/131269015