文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于文件上传漏洞获得网站 shell 权限

2023-10-06 14:17

关注

目录

一、基于 DVWA 的 low 级别演示文件上传漏洞

1、文件上传漏洞简介

2、上传文件测试

二、基于 DVWA 的 Medium 级别演示文件上传漏洞

三、基于 DVWA 的 High 级别演示文件上传漏洞

1、上传测试                        

2、文件包含漏洞

3、制作简单的图片木马进行上传绕过


一、基于 DVWA 的 low 级别演示文件上传漏洞

1、文件上传漏洞简介

File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查, 使得攻击者可以通过上传木马获取服务器的 webshell 权限,因此文件上传漏洞带来的危害常常是毁灭性 的,Apache、Tomcat、Nginx 等都曝出过文件上传漏洞。         

2、上传文件测试

选中上传文件         

        

使用蚁剑进行连接 

在空白处单击鼠标右键,点击添加数据

URL 地址: http://192.168.1.103/DVWA-master/hackable/uploads/root.php 密码为 root,用于接受 post 方式提交的数据         

         

上传下载文件 注:仅在 web 站点目录可进行上传,因为当前用户仅对 web 站点目录拥有写权限,下载文件则需 要拥有对下载文件的读权限。          也可删除文件 打开虚拟终端

         

可以看到用户是 apache 因为我们是通过 php 解析来进行执行命令的,apache 的运行用户为 apache 所以我们获取到的就是 apache 权限。如果站点是以 root 身份运行的我们获取到的就是超级管 理员权限。 如果系统或运行的服务存在可提权的漏洞即可提权为 root 用户。                           

二、基于 DVWA 的 Medium 级别演示文件上传漏洞

截取上传文件的 HTTP 请求进行修改提交         

         

将 root1.php 改名为:root1.png          bp抓取并更改文件后缀并放行         

        

使用蚁剑进行连接

URL 地址:http://192.168.1.103/DVWA-master/hackable/uploads/root1.php 连接密码:root          总结: 因为代码已经对文件格式验证完成,文件格式满足需求然后进行上传,上传的过程中截取 HTTP 请 求对文件格式进行再次修改,最终 root1.php 被上传到 Web 站点。                           

三、基于 DVWA 的 High 级别演示文件上传漏洞

1、上传测试                        

       

上传失败,尽管root1.png 是以 png 结尾的,但是文件里面的内容不对。一样上传不 了。

        

把代码+图片合在一起。最终看到还是一个图片,只是这个图片中有代码。 思路: 1、把代码+图片合在一起。最终看到还是一个图片,只是这个图片中有代码。 2、上传一个带有代码的 png 图片 3、以文件包含漏洞来执行图片中的 php 代码                           

2、文件包含漏洞

文件包含,即 通过 php 函数加载另一个文件中的 php 代码 ,此函数通常会获取所有文件内容进行执 行,识别到 php 代码后会执行 php 代码。 inclusion [ ɪ n ˈ klu ːʒ n] 包含          http://192.168.1.103/DVWA-master/vulnerabilities/fi/?page=file1.php          ​                   修改文件地址 http://192.168.1.103/DVWA-master/vulnerabilities/fi/?page=file:etc/passwd 注:file:///是固定格式后面跟文件路径/etc/passwd          页面中加载了 passwd 文件,那么我们可以上传一个带有 php 一句话木马代码的 png 图片。上传 成功后,使用菜刀进行连接。                           

3、制作简单的图片木马进行上传绕过

上传图片文件到 kali 中,将一句话木马追加到图片中。 上传 webshell.php 和 xuegod.jpg 到 kali 系统中:          使用 mimetype 命令查看文件类型
└─# mimetype webshell.php webshell.php: application/x-php          └─# mimetype root.jpg root.jpg: image/jpeg
        

windows 中通过文件名后缀来识别文件类型,但是 linux 中文件名后缀并不根据文件后缀来直接识别文件类型,一般是通过文件头来进行识别。

└─# cp webshell.php webshell.jpg └─# mimetype webshell.jpg webshell.jpg: application/x-php
可以看到我们更改文件后缀为图片类型但是识别到的还是 php 文件类型 所以我们通过将 php 代码合并到图片中来进行隐藏。
└─# cat webshell.php >> root.jpg └─# vim root.jpg
按大写的 G 直接跳转到文件末尾         

        

上传文件 

文件上传成功,但是文件后缀名称并不能更改,因为代码中对文件名称也进行了严格的校验。

拓展:如果 php 版本低于 5.4 可以使用 webshell.php%00.jpg 进行截断绕过,这样文件会被直接 当做 php 文件进行执行,不过我们当前的 php 版本大于 5.4 所以我们需要使用文件包含进行绕过。

         

以文件包含漏洞 来执行图片中的 php 代码          http://192.168.1.103/DVWA- master/vulnerabilities/fi/?page=file:// /var/www/html/DVWA- master/hackable/uploads/root.jpg          由于文件包含,需要登录 DVWA ,在未登录的状态下,会导致连接不成功。可以直接把已经登录的 Cookie 信息在编辑 Shell 配置添加到 Header 头里,这样就可以了。 按 F12 键,获取 Cookie         

         

成功         

来源地址:https://blog.csdn.net/m0_58001548/article/details/130252658

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯