【无标题】

远程调试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);即可找到后门

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全