一、远程命令(command)执行
原理
系统对用户输入的参数过滤不严,导致用户可以输入&、|、||等命令连接符,拼接并执行命令
利用条件
1、应用调用执行系统命令的函数
2、将用户输入作为系统命令的参数拼接到了命令行中
3、没有对用户输入进行过滤或过滤不严
危害
1、继承Web服务程序的权限去执行系统命令
2、反弹shell
3、控制整个网站甚至控制服务器
4、进一步内网渗透
拼接符
| 示例 | 含义 |
|---|---|
| cmd1 | cmd2 | 只执行cmd2 |
| cmd1 || cmd2 | 只有当cmd1执行失败后,cmd2才被执行 |
| cmd1 & cmd2 | 先执行cmd1,不管是否成功,都会执行cmd2 |
| cmd1 && cmd2 | 先执行cmd1,cmd1执行成功后才执行cmd2,否则不执行cmd2 |
Linux系统中支持用分号 (;)执行多个命令,cmd1;cmd2 按顺序依次执行,先执行cmd1再执行cmd2
二、示例
利用代码
<?php

文章探讨了远程命令执行漏洞的原理,利用条件(如未过滤用户输入),并通过PHP示例展示了如何通过分号、管道符号执行系统命令。讨论了创建用户、写入木马文件和CS上线的攻击方式,并强调了命令执行与代码执行的区别。
最低0.47元/天 解锁文章
1275

被折叠的 条评论
为什么被折叠?



