在做web题时,flag被放在php代码里无法查看,于是了解了php伪协议中的filter
php://filter读取源代码
因为php代码无法被直接查看,于是使用
?file=php://filter/read=convert.base64-encode/resource=xx.php
得到php代码的base64码
php伪协议
PHP伪协议指的是PHP所支持的协议与封装协议,在web渗透漏洞利用中常用于配合文件包含进行web攻击,从而获取网站权限。
php.ini配置文件参数:
allow_url_fopen :on #默认开启 ,表示允许url里的封装协议访问文件;
allow_url_include:off #默认关闭,表示不允许包含url里的封装协议包含文件;
从别人那里了解到的:
php://input
php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA
data:URL代码执行
将攻击代码转换为data:URL形式进行攻击,以传递相应格式的数据用来执行PHP代码。为了防止直接在URL连接中的一些敏感字符被waf检测拦截,可将攻击代码进行base64编码。