【文件操作】---文件包含漏洞全解---day31
【文件操作】---文件包含漏洞全解---day31
一、文件操作安全思维导图
二、文件包含各个脚本代码
1、ASP,PHP,JSP,ASPX等
<!-- #include file="1.asp" -->
<!-- #include file="top.aspx" -->
<c:import url="http://thief.one/1.jsp">
<jsp:include page="head.jsp"/>
<%@ include file="head.jsp"%>
<?php Include<(test.php')?>
2、原理
①源码:
②测试:
在同一目录下,防止一个1.txt的文件
浏览器中访问。
3、本地包含
①无限制
可以包含盘符中的任意文件
②有限制
把上面的测试代码注释掉
把最下面的两行取消注释。可以看到.html,
有限制的话那么就需要绕过,可以用上面的%00截断
但是%00截断所要求的条件比较苛刻。
在得知部署网站的操作系统之后
可以采用长度截断。
4、远程包含
我们可以在phpinfo中看一下是开启了远程包含。
可以在远程整一个后门代码。
如果遇到了有限制的,就采取上面的加%20 %23 或者? 来绕过。
三、各种伪协议流玩法
1、查看当前网站脚本语言是否支持某种协议
上面是php的一些协议的具体写法。
https://www.cnblogs.com/endust/p/11804767.html
2、php://filter参数
3、php://input
执行效果
4、file://
5、data://
6、CTF实战
大小写判断操作系统
然后通过读取index.php
或者执行命令,ls,查看文件。
四、ekucms演示
这个只能本地文件包含
思路是在日至文件中写入后门代码,然后再用菜刀连。