本文共 684 字,大约阅读时间需要 2 分钟。
DVWA目录下自带phpinfo.php的文件,我们文件包含的目的便设定为读取该文件。
可以看到什么都没有过滤,就一个传入,直接读取
http://IP/dvwa/vulnerabilities/fi/?page=…/…/phpinfo.php
可以看到这里用str_replace
函数过滤了一些东西,但我们用双写来绕过该函数
http://IP/dvwa/vulnerabilities/fi/?page=…/./…/./phpinfo.php
当然,除此之外我们还可以用http协议和php伪协议还有file协议来读取文件,这里就不一一演示了。
先来看看fnmatch
函数的表现
if( !fnmatch( "file*", $file ) && $file != "include.php" )
这一条代码意思是,如果匹配开头不为file且或不为include.php,就不会包含文件,意思为只需要不满足其中一条,就能成功包含文件,那这里我们用到file协议来读文件。
http://IP/dvwa/vulnerabilities/fi/?page=file:///var/www/html/dvwa/phpinfo.php
这里直接就用白名单了,也算是杜绝了漏洞的产生
转载地址:http://fvbwk.baihongyu.com/