【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

06-01 1709阅读

文件上传

文章目录

  • 文件上传
    • What is Upload-File?
    • Upload-File In CTF
      • Web151
        • 考点:前端校验
        • 解题:
        • Web152
          • 考点:后端校验要严密
          • 解题:
          • Web153
            • 考点:后端校验 配置文件介绍
            • 解题:
            • Web154
              • 考点:后端内容校验 大小写绕过
              • 解题:
              • Web155
                • 考点:后端内容校验 短标签绕过
                • 解题:
                • Web156
                  • 考点:后端内容校验 中括号 符号绕过
                  • 解题:
                  • Web157、158
                    • 考点:后端内容校验 大括号 符号绕过
                    • 解题:
                    • Web159
                      • 考点:后端内容校验 小括号 符号绕过
                      • 解题:
                      • Web160
                        • 考点:后端内容校验 强限制 日志文件包含利用
                        • 解题:
                        • Web161
                          • 考点:文件头检测
                          • 解题:
                          • Web162
                          • Web164
                            • 考点:PNG图片二次渲染
                            • Web165
                              • 考点:JPG图片二次渲染
                              • web166
                                • 考点:zip文件包含
                                • Web167
                                  • 考点:.htaccess解析
                                  • web168
                                    • 考点:基础免杀
                                    • Web169、170
                                      • 考点:高级免杀 包含日志

                                        What is Upload-File?

                                        顾名思义就是给网上传文件,比如qq空间

                                        上传文件时服务器后端语言没有对上传的文件进行严格的验证和过滤,容易造成上传任意文件的情况,从而使得攻击者绕过上传机制上传恶意代码并执行控制服务器

                                        恶意代码文件就是php asp aspx jsp等,也被称为webshell

                                        Upload-File In CTF

                                        Web151

                                        考点:前端校验
                                        解题:

                                        【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                        进来之后很明显一个上传点 并且给出提示

                                        直接上传php后缀文件被禁止 同时任意长传一个其他的后缀 随意输入也被禁止

                                        故为白名单检测 只能上传png后缀格式

                                        于是构造一句话木马放到图片中上传

                                        GIF89a
                                        

                                        【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                        抓包,想要把php的内容解析 需要把后缀修改

                                        在抓包的这一块已经绕过了前端验证

                                        【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                        修改 发送 上传成功

                                        【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                        得到图片的路径/upload/upload.php

                                        一定注意是php后缀 因为修改过 上传的就是php后缀的文件

                                        • 法1 : 直接rce

                                          【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                          • 法2 : 中国蚁剑

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            密码是我们一句话木马里面的参数a

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            连接成功

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            Web152

                                            考点:后端校验要严密
                                            解题:

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            这里和上一题一样 就能打通 但是思考一下题目 为什么说后端验证要严格呢

                                            这里我们重新构造了一个一句话木马图片不加前缀GIF89a

                                            【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                            好吧 效果是一样的hhh

                                            本来我以为与Content-Type有关

                                            • image/png
                                            • image/gif
                                            • jpg image/jpeg

                                              然鹅并没有 OK 解决 下一题

                                              Web153

                                              考点:后端校验 配置文件介绍
                                              解题:

                                              再上传一个png 改后缀为php 好!寄

                                              【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                              可以看到msg没有正常显示位置 上传失败

                                              所以我们使用配置文件去解析一下,配置文件有两个 下面分别介绍一下

                                              Reference1

                                              • .user.ini

                                                在nginx或者Apache服务中都可以使用

                                                利用条件:open_basedir没有被限制

                                                利用函数:auto_append_file 、 auto_prepend_file

                                                利用原理:使用该配置文件可以让所有php文件自动包含某个文件

                                                解释两个函数:

                                                auto_append_file : 在加载打开的php文件的第一行代码之后加载配置指定的php文件

                                                auto_prepend_file : 在加载打开的php文件的第一行代码之前加载配置指定的php文件

                                                利用过程:

                                                1. 上传一句话木马图片
                                                2. 上传配置文件
                                                3. 找到目标服务器任意的php进行访问 会触发我们的配置文件
                                                • .htaccess

                                                  只能在Apache使用

                                                  那我们先探测一下 这个网址的服务是什么

                                                  在kali里面直接whatweb

                                                  ┌──(kali㉿kali)-[~]
                                                  └─$ whatweb http://340f03f0-6c52-4b26-95e2-65c0a527be46.challenge.ctf.show/
                                                  http://340f03f0-6c52-4b26-95e2-65c0a527be46.challenge.ctf.show/ [200 OK] Country[CHINA][CN], HTML5, HTTPServer[nginx/1.20.1], IP[124.223.158.81], JQuery[3.2.1], PHP[7.3.11], Script, Title[CTFshow-web入门], X-Powered-By[PHP/7.3.11], nginx[1.20.1]
                                                  

                                                  发现是nginx 所以使用第一个配置文件

                                                  先上传我们一句话木马构造的png文件 不用抓包了 就直接上传即可

                                                  然后 想办法上传配置文件

                                                  先上传一个正常的png后缀 否则过不了前端 抓包 修改名字和内容

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  然后在upload目录下尝试index.php 确实存在 访问则会触发配置文件

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  Web154

                                                  考点:后端内容校验 大小写绕过
                                                  解题:

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  上传png文件 发现对内容有检测

                                                  先大小写绕过试试

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  成功

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  上传配置文件

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  拿到flag

                                                  Web155

                                                  考点:后端内容校验 短标签绕过
                                                  解题:

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  大小写绕过失效 改为短标签

                                                   正常写法
                                                   短标签写法,5.4 起 
                                                   asp 风格写法
                                                   echo 1;  长标签写法
                                                  

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  参考

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  直接在上面的包里修改上传即可

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  拿到flag

                                                  Web156

                                                  考点:后端内容校验 中括号 符号绕过
                                                  解题:

                                                  中括号被限制了

                                                  使用大括号绕过

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  我们要来看看源码学习一下 用蚁剑连接一下

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                  【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                   
                                                  

                                                  解释一下命令语句:

                                                  • system : 输出并返回最后一行的shell结果
                                                  • exec :不输出结果 返回最后一行shell的结果 所有结果可以保存到一个返回的数组里面
                                                  • passthru :只调用命令,把命令的运行结果原样直接输出到标准输出设备上

                                                    在我们的payload中 使用>可以把结果自定义存储到myflag.txt文件中

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    触发

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    查看:注意是在upload目录下

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    也可以直接使用system

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    Web159

                                                    考点:后端内容校验 小括号 符号绕过
                                                    解题:

                                                    仍然在前端有限制 只能上传png后缀的文件

                                                    所以首先通过png后缀的图片写马

                                                    发现小括号被过滤了,绕过的方法就是 ` 反引号去代替绕过

                                                    两种写马的方法:

                                                    1. 写入到文件中 用 > 进行定向
                                                     
                                                     
                                                    1. 直接使用echo进行显示
                                                     
                                                     

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    然后通过配置文件.user.ini去解析php

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    Web160

                                                    考点:后端内容校验 强限制 日志文件包含利用
                                                    解题:

                                                    首先要介绍一下php中include函数:

                                                    在php代码的进行过程中,遇到include函数就去跳转到包含的文件中进行读取,并显示在输出中,如果是php代码,会自动解析,如果不是,则单纯以文本的方式显示,示例如下:

                                                     
                                                    

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    然后回到这个题目中我们发现,反引号和空格全部被过滤了,通过单一的上传时无法实现的,所以我们采用对日志的利用。

                                                    那么日志记录的是什么呢,查看了一下本地的access.log文件

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    发现记录的有User-Agent字段里面的内容

                                                    所以我们把一句话木马放到User-Agent字段中进行写入到日志中,然后通过include的函数,触发解析日志中的一句话木马

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                     
                                                    

                                                    到此成功上传png文件,但是请注意两点,一个是对log有过滤,对于字符串的过滤我们将他隔开即可

                                                    第二个是需要作为php语句进行解析,所以还是需要使用.user.ini

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    然后进行触发

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    进行连接,注意两点,一是url要加头,二是连到index.php

                                                    【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

                                                    源码一贴,学习一下验证思想:

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码