24 lines
958 B
Markdown
24 lines
958 B
Markdown
### LFI 怎么打 RCE
|
|
|
|
**1. 日志文件注入**
|
|
|
|
Web 服务器通常记录访问日志(如 Apache 的 `access.log`、`error.log`),攻击者可在 User-Agent、Referer 等头中插入PHP 代码,然后通过 LFI 包含日志文件,使代码被执行
|
|
|
|
**2. 包含 `/proc/self/environ`**
|
|
|
|
该文件包含当前进程的环境变量,User-Agent、Referer 等请求头会作为环境变量值写入。可通过 User-Agent 注入代码,然后包含该文件
|
|
|
|
**3. PHP 伪协议**
|
|
|
|
a) `php://filter` 配合文件上传
|
|
|
|
通过 `php://filter/convert.base64-encode/resource=` 可读取源码,但若想写入 Webshell,常结合文件上传功能:先上传一个含有 PHP 代码的图片马,然后用 `php://filter` 读取并解码写入新文件
|
|
|
|
b) `php://input`
|
|
|
|
当 `allow_url_include=On` 时,可通过 `php://input` 执行 POST 数据中的代码
|
|
|
|
c) `data://` 协议
|
|
|
|
同样需要 `allow_url_include=On`,可直接在 URL 中嵌入代码
|