文件包含漏洞知识总结

1.文件包含漏洞的原理

在代码中有包含另一个文件的地方,而这个包含文件的地方也正好是可以修改的变量,或者是攻击者可以控制的,导致了文件的查看,命令的执行等操作的实现

一般用于加载特定功能的函数,在php中最常用的是include函数

2.采用的基本方法

1.结合文件上传

在文件上传时,上传带有getshell的文件,由于文件包含的特性,导致文件格式的条件放松了,上传了文件都会以固定的文件类型解析

2.结合日志和session

当我们无法上传一个文件的时候,我们可以直接采用日志和session写入这个getshell代码

日志:知道该网站使用的中间件,一般不会修改日志的存放位置和名字,我们可以上网搜索一下日志存放的位置,然后修改ua头把shell写入日志文件

参考:网站服务常用中间件-日志文件存放目录&IIS&Apache&Tomcat&Nginx&Weblogic&Jboss_各个中间件web日志-CSDN博客

session:在我们和浏览器链接的时候,服务器就会自动生成一个session,也就是会话,我们可以在数据包中修改phpsessid固定文件名,并且输入数据包中输入文件内容固定shell,就可以写入一个带shell的会话文件,会话文件的存放位置我们可以直接搜,有时候session删除的快,我们还需要条件竞争

3.伪协议(配合编码和读写操作)

在不同的语言,不同的版本,可以使用的伪协议也是不一样的,我们需要先判断使用的版本和语言再确定要使用什么协议,而且对于协议来说,协议的前后不能有东西,否则就会不成功。而且协议能否使用也需要ini的设置

php协议:PHP伪协议详解-CSDN博客

3.漏洞的挖掘

黑盒:观察网页是否跳转了其他文件,有没有和网址相似的

白盒:对于固定包含函数的追踪

4.案例ctfshow关卡

没钱没开ctfshow,我直接参考:CTFSHOW-文件包含_@include($file);-CSDN博客

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值