任意文件包含

文件包含的原理:

文件包含漏洞产生的原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。

文件包含分类

本地文件包含:包含本地主机上的文件(WEB服务器),文件名称是相对路径或者绝对路径

远程文件包含:包含互联网上的文件,文件名称为URL格式,危害大

简单演示(本地文件包含)

在无限制的情况下

在我的phpstudy下的www目录下建立了一个fileinclude目录,里面有如下文件

在index.php下有如下内容,使用了一个include函数,接受get传参的文件名,并包含该文件

1.php内有代码 代表输出php版本信息

包含1.php,即可输出版本信息

值得注意的是,即使包含文件不是php后缀,但是只要内容符合php代码规范,仍然可以执行,否则直接输出文本内容

下图1.txt 内有内容

无限制本地文件包含利用

1,读取Windows系统敏感信息: C:\boot.ini //查看系统版本C:\windows\system32\inetsrv\MetaBase.xml //IS配置文件

C:\windows\repair\sam //windows初次安装的密码

C:\program Files\mysq|\my.ini //Mysq|配置信息

C:\program Files\mysq|\data\mysq|\user.MYD //Mysql root

C:\windows\php.ini //php配置信息

2,读取linux系统敏感信息: /etc/passwd //linux用户信息

/usr/local/app/apache2/conf/httpd.conf //apache2配置文件

/usr/local/app/php5/lib/php.ini //php配置文件

/etc/httpd/conf/httpd.conf //apache配置文件

/etc/my.cnf //Mysq|配置文件

有限制情况下

例如,多了个.html,就会在包含文件后面添加.html

绕过方法:

1.php版本需低于5.3.4,才可以使用%00,url解码相当于空格

2.长度截断:windows,点号需要长于250;linux,点号需要长于4096只需在文件末尾添加类似“/./././././././.·····”、“..........·····”等的垃圾数据来将后面的“.html”挤出

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚安薯条

你的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值