简介:在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞。
——————
eval:以php代码执行
system:根据系统代码执行(Windows Linux)
漏洞形成条件:可控变量,漏洞函数
代码执行:
脚本——java,php,python
产生——web源码(think PHP,eyoucms,wordpress)、中间件平台(tomcat,apache struts2,redis)、其他环境(php-cgi,jenkins-cl,java rmi)
检测——白盒 代码审计
检测——黑盒 漏扫工具、公开漏洞、手工看参数及功能点
防御——敏感函数禁用、变量过滤或固定、WAF产品
命令执行:
系统——Linux、Windows
产生——web源码(nexus,webmin,elasticsearch)、中间件平台(weblogic,apache)、其他环境(postgresql,samba,supervisord)
检测——白盒 代码审计
检测——黑盒 漏扫工具,公开漏洞,手工看参数及功能点
防御——敏感函数禁用、变量过滤或固定、WAF产品