CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查)

03-13 阅读 0评论

CTFHub | 文件上传

  • 无验证

    1. 使用工具:中国剑蚁(D:\AntSword_Loader\AntSword-Loader-v4.0.3-win32-x64\AntSword.exe)

    在下载这个工具的时候,浏览器拦截说有病毒。使用git clone下载。十分丝滑。

    CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,方法,下载,第1张
    (图片来源网络,侵删)
    1. 先上传文件a.php
     
    

    页面回显文件被放在:/load/a.php中

    1. 打开中国剑蚁,右键添加数据,输入url(http://xxx.com/load/a.php), 输入‘连接密码’:hack, 点击添加。
    2. 打开数据条,遍历目录,发现flag文件。
    • 前端验证

      1. 查看网页源代码,发现js有对文件类型的验证。限制只能上传 .jpg .png .gif的文件。
      2. 对a.php改名:a.jpg,成功添加进文件。
      3. burpsuite抓包,修改filename为a.php,为了服务器那边能够以.php的形式运行它。
      4. 利用剑蚁工具,步骤同这一题。
      5. 总结:先顺着js验证在前端上传文件,然后在赶在后端处理之前修改回去。
      • .haccess绕过

        1. 查看网页源代码,发现blacklist, 于是明白是.haccess绕过题, 先上传一个.haccess文件到服务器后端,配置成可以通过无后缀文件。
        SetHandler application/x-httpd-php
        
        
        1. 再按照这一题的方法上传a.php文件。
        2. 迷惑? 这一题我第一次做的时候.haccess写错了,标签名字写成了FileMatch, 后续步骤一样,也能得到网页文件,但只有一个,且只有一行,写着错误的flag。奇怪。
        • MIME绕过

          1. 先上传文件a.php
          2. burpsuite抓包拦截,改Content-Type字段。
          将:
          Content-Type: application/octet-stream     # 告知以流文件形式下载文件,只知道这是二进制文件。
          改成:
          Content-Type: image/gif
          

          注意:

          这里有两个Content-Type字段,第一个用来限定文件显示范围的,第二个才是限定文件类型。

          1. 套路
          • 00 截断

            php5.2 00截断上传的原理

            文件上传绕过之00截断_00截断绕过-CSDN博客

            1. 迷惑?为什么直接在上传文件命名为a.php%00.gif提交后,页面提示上传成功,但是实际上没有?而且路径也变成/htm/upload/,这个路径十分奇怪啊。
            2. 解决办法:burpsuite抓包,改第一行路径,加上a.php%00.gif
            • 双写后缀

              1. 过滤策略:将白名单上的后缀替换为空。
              2. 构造特殊的文件名,如a.pasahp, 这样的话,经过替换,最终得到的文件是a.php。

              这里很奇特的一点:我尝试构造a.phpphp,上传后的文件是a. 也就是说,两个php都被替换为空了。猜测这个str_ireplace()函数应该是设置一个指针,遍历整个字符串,边遍历便查找,一经找到就删除,继续往后查找,而不是找到第一个就删除并返回。

              CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,方法,下载,第2张
              (图片来源网络,侵删)
              1. 下同
              • 文件头检查

                1. 第一种方法:按理来说应该也可以,上传也成功,但是出现不解的问题。

                  1. 先提交一个.png文件(不宜太大,大了上传不了),burpsuite抓包,然后修改文件名为a.php,在文件内容里面(文件末尾)添加一句话木马。
                   

                  b.

                  c. 出现问题:剑蚁连接得上,但是返回{}空。

                2. 第二种方法:Winhex打开a.php文件。复制89504E47, 在文件开头>编辑>剪贴板数据>粘贴>ASCII Hex, 保存退出。直接上传a.php文件。

                CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),CTFHub |文件上传 (无验证, 前端验证, .haccess绕过, MIME绕过, 00截断, 双写后缀, 文件头检查),词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,方法,下载,第3张
                (图片来源网络,侵删)

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]