1 |
|
此处可大写绕过与 php://input
相结合。
URL:
1 | /?file=Php://input |
请求体:
1 | <?php system("ls");?>//第一次请求 |
借此讲讲 php://input
怎么用。
php://input
是一个 PHP 内置的伪协议,用于读取 HTTP 请求中的原始数据。
从超级全局变量 $_POST
数组读取的是处理过的、作为一个个元素的参数。当需要读取 POST 原始数据时,通常就会用到 php://input
伪协议来读取请求体。因为是直接读取请求体,所以 HTTP method 不是 POST 也能读取。
所以,我们可以发送请求时抓包,然后修改请求体为 Payload ,并把 URL 中将要被文件包含的参数的值改为 php://input
,最后发包看看响应的效果。