一.远程代码执行
1.远程系统命令执行
命令执行原理:命令执行原理:设计者在编写代码时没有做严格的安全控制,导致攻击者通过接口或相关参数提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器 。(写代码的时候没有对参数严格的安全控制)
2.远程代码执行
代码执行原理:代码执行原理:没有对对接口输入的内容进行严格判断,造成攻击者精心构造的代码非法执行。(相关的参数没有进行严格判断,但执行参数时使用了不安全的函数,造成了通过这个函数执行参数里面攻击者的命令)
远程代码执行与远程命令执行的区别
使用的函数不一样(因为有些函数只能执行php、java代码等,不能执行操作系统命令)
二.系统命令执行实战测试
函数执行
分析原理:
总结:IP给变量,变量做判断,判断之后直接执行系统命令
代码执行
三.命令执行测试方法
& 不管前后是否有错误,后面都会被执行
&& 前面只要有错误,后面就不会执行
进入pikachu
进入DVWA
| 前面执行
|| 后面执行
四.命令执行漏洞出现的地方
1.只要带参数的地方都可能出现命令执行漏洞
2.常见的路由器、防火墙、入侵检测、自动化运维平台
五.如何挖命令执行漏洞
白盒测试:找函数
(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