09 命令执行

9-1.命令执行介绍
1)命令执行漏洞原理
命令执行漏洞定义:WEB应用程序接收用户输入,拼接到要执行的系统命令中执行。
产生原因:
1、用户输入未过滤或净化;
2、拼接到系统命令中执行。
2)PHP下命令执行函数
在PHP中具有执行系统命令功能的函数如下等:
1、system
2、exec
3、shell_exec
4、passthru
5、popen
6、proc_popen
提示:在某些情况下,要注意存在以上函数的php文件,有可能是webshell.
3)命令执行漏洞代码分析
以下给出一个存在命令执行漏洞的简单代码。
参考链接:http://www.php.net/manual/zh/function.system.php

4)命令执行漏洞案例演示
在windows下执行ipconfig来获取网卡信息

9-2.Windows命令执行漏洞利用技巧
1)命令执行示例代码分析
以下使用PHP代码,对指定目标执行ping命令

2)命令执行漏洞利用思路
代码中拼接用户的输入并代码system函数执行,但是无法直接执行用户的自定义命令。
思路:
截断输入,重新拼接。两条命令都输入并执行。
3)命令执行漏洞拼接符介绍
在windows系统下的cmd命令中,有以下一些截断拼接符。
&前面的语句为假则直接执行后面的
&&前面的语句为假则直接出错,后面的也不执行
|直接执行后面的语句
||前面出错执行后面的

正常情况下:
ping 127.0.0.1
ping 111&ipconfig
ping 127.0.0.1&&ipconfig
ping 127.0.0.1|ipconfig
ping 111||ipconfig
4)命令执行漏洞利用演示
使用拼接符从而利用命令执行漏洞执行ipconfig命令

9-3.Linux命令执行漏洞利用技巧
1)命令执行示例代码分析
以下使用PHP代码,对指定目标执行Ping命令。

2)Kali linux测试环境搭建
启动apache服务,service apache2 start
拷贝代码到 /var/www/html/目录下的一个文件中
3)命令执行漏洞拼接符介绍
在Linux系统下的shell命令中,有以下一些截断拼接符。
在Linux上,上面的;也可以用|、||代替
; 前面的执行完执行后面的
| 是管道符,显示后面的执行结果
|| 当前面的执行出错时执行后面的
4)命令执行漏洞利用演示
使用拼接符从而利用命令执行漏洞执行ifconfig命令
http://xxx/cmd3.php?cmd=127.0.0.1;ifconfig

posted on 2021-04-24 23:54  Ben_John  阅读(85)  评论(0编辑  收藏  举报

导航