这个类型的poc所匹配的内容非常不固定,这里给出在验证中大致需要注意的问题
与远程命令执行类似,这个也能够直接执行相关命令, 但是不同的是,这个直接执行的是对应的语言代码,一般情况下与系统无关,那么我们通常并不用考虑它在不同系统中的兼容性问题
与所有能够回显的判断方式类似,我们需要统一规范的就是一定不要在body中直接去匹配在request中出现的内容
php在现在来看使用的基数仍然够大,且配置灵活,很容易在一些我们想不到的点中出现问题
那么在php这门语言的环境中,一般我们有以下的要求
system
、shell_exec
、phpinfo
等函数测试漏洞,容易出现误报和漏报
system
等函数测试漏洞则会出现漏报echo
、print
、var_dump
之类的输出语句直接输出一个内容,然后在返回里查找这个内容,此类POC很容易误报和漏报
var_dump
等函数输出可能存在差异导致查找不成功无回显命令执行要求我们使用反连平台进行测试,只要反连平台接收到相关的请求并能正确处理就说明目标系统成功执行相关命令
需要注意,如果目标允许的情况下,使用反连平台时要尽可能地避免掉dns请求,尽量简化配置流程
漏洞如果能通过回显检测,就不要使用反连平台,鼓励将公开的无回显的POC改为有回显的
与命令执行不同,当我们需要发出请求的时候,一定不要再去使用相关方法去调用系统命令,直接使用语言内提供的能力即可,这样
对于目标系统不出网的情况这里不多加赘述,可以参考第四章常见问题中内容