【无标题】

远程调试php底层浮现8.1-dev后门

Docker源码: https://github.com/phith0n/phpsrc-debug-docker/blob/master/backdoor/Dockerfile

下载已经Build好的镜像:
docker pull tuwen/phpsrc-debug:8.1-backdoor

1、运行容器:docker run -it --rm --name debug -p 8080:8080 -p 2222:22 tuwen/phpsrc debug:8.1-backdoor

运行成功的时候会启动ssh同时输出一个私钥:

2、将这个私钥保存至本地文件中,我所保存的是D盘的private.key文件中,同时修改改文件的权限,删除除了administrators和system用户之外的用户

3、再vscode中安装ssh插件

使用插件,添加连接,输入:
ssh -p2222 -i d:/private.key root@192.168.26.140
ssh -------- 用于本地与远程主机之间建立远程连接
-p2222 -------- 强制指定ssh连接的端口为2222(远程端口)
-i d:/private.key -------- 本地将密钥文件存放的路径
root@192.168.26.140 ------- 对端用户名与ip地址
如果连接不上:

复制代码
	1、检查密钥文件的权限,是否只剩两个用户,且开启权限
	2、将虚拟机的远程连接打开了之后,如果要操作虚拟机需要开启另外一个窗口,进行操作,本窗口一直做监听
	3、清理缓存,删除本地C:/用户/.ssh文件夹下的所有文件

连接成功后,打开容器的/usr/src/php目录

给容器下载插件:

在调试页面,点击创建一个launch.json文件,同时给文件中添加信息,

复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
    "configurations": [
         {
            "name": "gdb Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/usr/local/bin/php",
            "args": ["-S", "0.0.0.0:8080", "-t", "/var/www/html"],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]

    
}

在容器中找到文件/ext/zlib/zlib.c在此文件的366行添加断点

在虚拟机上容器内给/var/www/html目录中写入一个index.php

php 复制代码
echo '<?php echo "hello world"; ?>' > /var/www/html/index.php

启动php内的简易web服务器

复制代码
root@ae72395a0ced:/# /usr/local/bin/php -S 0.0.0.0:8080 -t /var/www/html

/usr/local/bin/php ----- 启动简易web服务器
-S 0.0.0.0:8080 ------ (0.0.0.0)监听所有网络接口,(8080)服务器监听地址,如果有别的主机访问此 虚拟机ip:8080 时请求会被PHP内置服务器接收,然后PHP内置服务器从指定目录,找对应文件处理
-t /var/www/html ------ PHP内置服务器指定的网页根目录

在burpsuite上开启拦截,将这条请求发送至repeater

根据调试zlib.c中的代码,得知,添加User-Agentt: zerodiumvar_dump(233*233);即可找到后门

相关推荐
布莱克6054 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
陈工大模型5 小时前
解压工具的三个技术分水岭:编码、分卷、容器格式
人工智能·windows·安全·解压工具·免费国内办公软件
QXWZ_IA6 小时前
具身智能巡检和无人机巡检怎么选?
人工智能·安全·无人机
时间售卖铺7 小时前
Chrony与SSH实战:精准时间同步与安全远程登录
运维·安全·云原生·ssh
QXWZ_IA7 小时前
管道GIS测绘如何实现自动化成图:三种成图方式怎么选
运维·人工智能·安全·自动化
Yuzhiyuxia1 天前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
QXWZ_IA1 天前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠1 天前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
进击的荆棘1 天前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
KCENN1 天前
安全地毯压敏传感防护在工业流水线与机器人作业区的耐腐蚀材质及紧急停机机制
安全