文件包含与文件上传利用总结
前言文件包含和文件上传是 Web 安全中最常见的两类漏洞,单独利用往往存在限制,但两者结合可以打出一套完整的 RCE 链。本文整理了两类漏洞的常见利用手法和绕过技巧,偏向实战向的 cheatsheet。 一、文件包含(LFI / RFI)1.1 前置知识PHP 中能触发文件包含的函数: include() / include_once() — 包含失败只发 warning,继续执行 require() / require_once() — 包含失败发 fatal error,停止执行 以及各种封装了 include 的链:include($c) 配合伪协议或日志即可 getshell 影响利用的关键 php.ini 配置: 配置项 作用 利用影响 allow_url_fopen 是否允许打开远程文件(HTTP/FTP) RFI 需要开启 allow_url_include 是否允许 include 远程文件 RFI 需要开启;data:// 协议也需要开启此项 open_basedir 限制 PHP 能访问的目录范...
PHP命令执行绕过总结
PHP 命令执行(RCE)各类绕过技巧汇总,持续更新。 一、关键字绕过1.1 绕过 flag 关键字转义符、通配符、引号拼接: 1234?c=system('tac fla\g.php');?c=system('tac fla*.php');?c=system('tac fla?.php');?c=system('tac fla''g.php'); 1.2 绕过空格12345678910# %09(Tab)编码绕过cat%09flag.php# 重定向 <> 绕过(注意:< 和 / 不能连用,但 ca\t<>fl\ag 可以)cat<>flag# ${IFS} / $IFS$9{cat,flag.txt}cat${IFS}flag.phpcat$IFS$9flag.php 二、无数字/无字符 RCE——拼函数法当数字被过滤时,利用 PHP 内置函数组合读文件。 2....