zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Web安全 RCE漏洞(命令执行漏洞的 测试和利用).

2023-09-27 14:29:29 时间

系统命令执行的概括

系统命令执行一般是 在Web应用中,可能有时候需要调用一些系统命令来执行,而程序在开发的时候没有对输入进行严格的过滤,导致恶意用户可以构造一些恶意的系统命令,从而达成系统命令执行攻击。

目录:

         系统命令执行的 概括:

免责声明:

         系统命令执行的函数:

         系统命令执行的危害:

测试的靶场:

1.命令执行漏洞的 管道符 方法:

2.命令执行漏洞 绕过前端限制.

 (1)尝试127.0.0.1是这个正常执行,说明可能存在命令执行漏洞.

 (2)输入127.0.0.1 & ls,说IP格式不正确.

 (3)用 Burp 抓包看看数据.

 (4)在数据包里面添加 | dir ,看看服务器的响应了相关文件名.

 (5)在数据包里面添加 cat <  key_2234286364586.php 读取这个php文件拿到flag.

3.命令执行漏洞的防御措施.

(1)对传入的命令做一个严格的过滤.

(2)尽可能不要使用外部执行命令

(3)尽可能使用 escapeshellarg 函数来处理传入的命令参数.


免责声明:

严禁利用本文章中所提到的工具和技术进行非法攻击,否则后果自负,上传者不承担任何责任。


系统命令执行的函数:

system(),passthru(),exec(),shell_exec() ......


系统命令执行的危害:

(1)可以使用Web程序的权限来执行来执行系统的命令.(包含读写文件的)

(2)利用写入的木马可以连接服务器(反弹shell).

(3)进行进一步的渗透,从而可以控制整个网站甚至服务器.


测试的靶场:

(1)自己搭建的DVWA靶场:安装在win XP(IP地址:192.168.0.105) 

       DVWA靶场搭建链接: DVWA的靶场搭建_半个西瓜.的博客-CSDN博客

(2)墨者学院的在线靶场:在线靶场_墨者学院


1.命令执行漏洞的 管道符 方法:

(1)&  符号 可以两个命令都执行.

执行的命令:   

127.0.0.1 & ipconfig


如果想执行系统的其他命令把< ipconfig > 换为 想执行的系统命令.

查看文件目录:

127.0.01 & dir


(2)&&  符号 当前命令执行成功,后面命令才能执行.

1.执行的命令:(前面的 11111111 执行错误,所有后面的 dir 就不会执行)

11111111 && dir


(2) 读取 bgxg.php 文件的内容:(前面的 127.0.0.1 执行成功,就会读取 type bgxg.php 文件的内容)

127.0.0.1 && type bgxg.php


(3)|  符号 不管前面命令执行成不成功,后面的命令都会继续执行.

显示当前Windows系统的版本号:(不管 127.0.0.1 执行成不成功,都会执行 ver

127.0.0.1 | ver


(4)||  符号 当前面的命令错误就会执行后面的,否则只执行前面的.

查看开启的所有端口:(因为 11111 执行错误,所有执行了 nettat -a 如果 11111 是正确的,则不会执行 netstat -a 

11111 || netstat -a


2.命令执行漏洞 绕过前端限制.

(1)尝试127.0.0.1是这个正常执行,说明可能存在命令执行漏洞.


 (2)输入127.0.0.1 & ls,说IP格式不正确.


 (3)用 Burp 抓包看看数据.


 (4)在数据包里面添加 | dir ,看看服务器的响应了相关文件名.


(5)在数据包里面添加 cat <  key_2234286364586.php 读取这个php文件拿到flag.


3.命令执行漏洞的防御措施.

(1)对传入的命令做一个严格的过滤.

(2)尽可能不要使用外部执行命令

(3)尽可能使用 escapeshellarg 函数来处理传入的命令参数.

       


参考链接:命令执行漏洞利用及绕过方式总结 - My_Dreams - 博客园

参考链接:windows常用命令有哪些(整理)_san.hang的博客-CSDN博客