命令执行原理:编写代码时没有做严格的安全控制,攻击者通过接口或相关参数提交“意想不到”的命令,后台进行执行,控制整个后台服务器
代码执行原理:没有对对接口输入的内容进行严格判断,攻击者精心构造的代码非法执行
参数的地方都可能出现命令执行漏洞,常见的路由器、防火墙、入侵检测、自动化运维平台脚本需要使用一些自动执行命令
对变量进行校验,过滤特殊符号&,&&,|,||
token验证
1、执行系统命令: assert,system,passthru,exec,pcntl_exec,shell_exec,popen,proc_open,``(反单引号)
2、代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13
3、文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite
4、.htaccess: SetHandler, auto_prepend_file, auto_append_file
用K8工具 看S2-045漏洞
传文件
命令执行代码查看,抓包显示命令在content-type里面
常见的struts2漏洞