【无标题】

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

相关推荐
程序员哈基耄14 分钟前
纯客户端隐私工具集:在浏览器中守护你的数字安全
安全
darkb1rd2 小时前
五、PHP类型转换与类型安全
android·安全·php
中科三方3 小时前
域名转移详细指南:流程、材料、注意事项和常见问题全解析
网络·安全
云小逸6 小时前
【nmap源码学习】 Nmap 源码深度解析:nmap_main 函数详解与 NSE 脚本引擎原理
网络协议·学习·安全
迎仔6 小时前
04-网络安全基础:数字世界的防盗门与守卫
网络·安全·web安全
MicroTech20257 小时前
微算法科技(NASDAQ :MLGO)量子测量区块链共识机制:保障数字资产安全高效存储与交易
科技·安全·区块链
意法半导体STM327 小时前
【官方原创】FDCAN数据段波特率增加后发送失败的问题分析 LAT1617
javascript·网络·stm32·单片机·嵌入式硬件·安全
2501_941329727 小时前
【校园安全】YOLO11-C3k2-DBB实现校园安全行为识别与异常检测系统
人工智能·安全·目标跟踪
大模型玩家七七8 小时前
安全对齐不是消灭风险,而是重新分配风险
android·java·数据库·人工智能·深度学习·安全
Guheyunyi8 小时前
什么是安全监测预警系统?应用场景有哪些?
大数据·运维·人工智能·安全·音视频