文件上传+知道bypass
浏览 2327 | 评论 0 | 字数 2120
硝基苯
2022年05月08日
  • 前言

    本文章分为俩个部分,第一个部分是通过组合拳挖掘到文件上传,第二部分则是在有知道的waf下如何绕过,成功能执行命令。
    笔者会复现所有的渗透过程来分享自己的这次较为成功的渗透经验

    第一部分:利用组合拳得到文件上传

    信息搜集

    waf判定

    在对该资产的信息搜集中,我们得知该目标单位的网站安全业务与知道创宇公司有合作关系,后续的渗透过程中,笔者未曾碰到任何能出现相应指纹的回显,这也是为何笔者认为本次的bypass是针对知道创宇的。很有意思的是,awvs在扫描过程中并未被拦截,也为笔者打组合拳提供了很大的帮助

    目录遍历漏洞

    66816-vrbp1yy29op.png
    首先发现了存在目录遍历,但是并没有什么敏感文件或其他可以利用的点。先找上传了只能
    52833-3jfk8pm8fuu.png

    上传点的发现

    Awvs扫描上传后是绿色的,笔者当时也是直接通过awvs的提示直接找到了上传点
    84318-pdv8mxof4s.png
    可上传后并无路径回显,配合前面发现的目录遍历,决定去尝试访问一下。此时笔者有俩个想法:1.直接找uploads路径 2.uploads不存在的话可以看到有temp目录,竞争上传绕过也存在一定可能
    运气比较好,笔者发现uploads下确实出现了所上传的文件。

    上传中的bypass

    通过一系列的fuzz,我们可以看到一下文件(图中都是我之前测的)
    70270-z0lzlrm2jxk.png
    确定黑名单绕过,且在fuzz过程中,如果被拦截无回显,直接断开连接。正常情况如下所示(这里细心的读者就能发现filename是一串md5,但是存入后发现名字改变了已经)
    53981-n6wn3z4cgws.png
    最终确定,check文件头黑名单,内容不能出现<?php。当双后缀时发现,check最后的后缀,存入前面的后缀,所幸eval()函数并未过滤,传入内容为短标签上传一句话的图片马,文件名为1234.php.jpg,最终存入的文件后缀为.php
    进入到uploads下找到该php,确定能被解析

    第二部分:流量中的bypass

    出现问题:蚁剑无法直接连接,手工执行phpinfo发现
    57203-yrc72psdft.png
    流量被拦截。考虑流量混淆,但是因为只能传短标签,笔者首先想到了用file_put_contents写一个base64的流量混淆马上去,再用base64_decode去解开,发现,base64、rot13这些函数都被ban了。尝试发现`可以用
    02123-fcorg9kog1l.png
    但是在写入文件中发现echo写文件出现空格会被ban$IFS绕过即可
    99735-x65iyv8j1w.png
    成功写入
    10060-14stnm5nhr9.png
    尝试写入php文件,发现被ban
    62060-yu5bow5x35r.png
    考虑到之前上传时会对<?php检测,那用linux的base64编码绕过即可
    15677-ayu8wpgmwg.png
    上传我们的流量混淆的免杀马,蚁剑成功上线
    29498-5qtup9ceqan.png

    本文作者:硝基苯
    本文链接:https://www.c6sec.com/index.php/archives/665/
    最后修改时间:2022-05-08 21:31:05
    本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
    评论已关闭
    评论列表
    暂无评论