【文件上传与包含漏洞综合利用】DVWA-文件上传-难度:High

实验过程和结果

步骤1:尝试直接上传php木马,失败,截图如下:

步骤2:将php木马后缀改为jpeg尝试上传,依旧失败,截图如下:

步骤3:将真实的jpeg图片1.jpeg上传,成功,截图如下:

步骤4:将真实的jpeg图片修改后缀为png上传,成功,截图如下:

步骤5:将真实jpeg图片后缀名改为php上传,失败,截图如下:

可以推测,检查是否为JPEG/PNG图,是依靠文件的后缀、文件头字段信息来进行双重检测的。为此,要尝试将木马明文写在真实JPEG/PNG图片中。

步骤6:通过cmd的copy指令,将php代码隐写到jpeg文件中,截图如下:

步骤7:010editor查看隐写情况,确实已经附在了jpeg文件尾部,截图如下:

步骤8:上传木马隐写入的jpeg文件,成功,截图如下:

步骤9:上传的是jpeg文件,不能直接执行,所以需要利用文件包含漏洞;这里新上传一个phpinfo,用于检验是否成功利用,然后再尝试包含木马。截图如下:

然而直接包含显示文件不存在

步骤10:查看High等级文件包含漏洞防护,截图如下:

发现必须以file打头或者为include.php文件,为此可以通过file://伪协议实现调用文件

步骤11:确认路径,首先随便输入一传路径,回显出完整路径截图如下:

得到几条路径:

D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\vulnerabilities\fi\index.php

http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=include.php

再根据文件上传路径时的信:

http://127.0.0.1/DVWA-master/vulnerabilities/upload/#

../../hackable/uploads/1.jpeg succesfully uploaded!

可得文件上传所在目录和文件包含所在目录的位置关系

步骤12:通过file伪协议包含上传的图片马,截图如下:

http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=file:///D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\hackable\uploads\jpegphpinfo.jpeg

虽然报语法错,但确实包含了——然而报错位置是图片原先的部分——这意味着拼接在最后的木马还是首先会遇到上述报错。

步骤13:寻找新的jpeg文件,尝试上传,截图如下:

 

没有错。

步骤14:接下来如法炮制,上传webshell木马,截图如下:

看起来没有问题,接下来用蚁剑连接

步骤15:蚁剑连接,设置cookie,截图如下:

步骤16:连接getshell

二、实验收获

通过本实验,我学会了文件上传漏洞和文件包含漏洞的利用方式。一方面,(任意)文件上传漏洞指的是上传非预期的文件格式(如php文件)到目标服务器,而通过其他方式(直连、包含等)进行执行来进一步利用。另一方面,利用文件包含漏洞,能够把静态文件中的php代码通过回显转发的方式进行包含执行。

过程中遇到很多问题:1.high的包含漏洞保护措施没有关注 2.一些jpeg/png图片被解析时,自身的一些字符会被错误识别为php代码,而往往会导致语法错误,通过copy到最后的隐写代码将不被执行,本例中我重新选了一个图片即可解决。

相关推荐

  1. 文件漏洞或预习文件包含漏洞

    2024-04-24 13:28:05       23 阅读
  2. 文件漏洞

    2024-04-24 13:28:05       15 阅读
  3. ·xss文件漏洞

    2024-04-24 13:28:05       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 13:28:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 13:28:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 13:28:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 13:28:05       20 阅读

热门阅读

  1. 第三方 app 登录微信

    2024-04-24 13:28:05       18 阅读
  2. 第12天 static final

    2024-04-24 13:28:05       13 阅读
  3. vue3 -- 基于maptalks和threejs实现3D地图板块效果

    2024-04-24 13:28:05       12 阅读
  4. HTML 基础知识及面试题

    2024-04-24 13:28:05       15 阅读
  5. (一)Mysql创建一个博客相关的数据库

    2024-04-24 13:28:05       16 阅读
  6. springboot项目打war包,并且部署外部tomcat中

    2024-04-24 13:28:05       19 阅读
  7. 【Redis】Spring Boot应用中的Redis分布式锁示例

    2024-04-24 13:28:05       13 阅读