
[!Important]
RCE重定向截断
0x01
访问靶场,回显源码
| |
0x02
审计源码
[!note]
1 2 3<?php system($c." >/dev/null 2>&1"); ?>
>代表重定向到哪里/dev/null代表空设备文件2>表示stderr标准错误&表示等同于的意思,2>&1,表示2的输出重定向等同于11表示stdout标准输出,系统默认值是1,所以>/dev/null等同于 1>/dev/null 因此,>/dev/null 2>&1也可以写成1> /dev/null 2> &1本题语句执行过程为:
1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。2>&1: 接着,标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
故构造payload主要思路为截断system($c)语句
方法如下
| |
0x03
payload尝试查看当前目录,发现flag.php

访问flag.php,获得flag
