本文章分为俩个部分,第一个部分是通过组合拳挖掘到文件上传,第二部分则是在有知道的waf下如何绕过,成功能执行命令。
笔者会复现所有的渗透过程来分享自己的这次较为成功的渗透经验
在对该资产的信息搜集中,我们得知该目标单位的网站安全业务与知道创宇公司有合作关系,后续的渗透过程中,笔者未曾碰到任何能出现相应指纹的回显,这也是为何笔者认为本次的bypass是针对知道创宇的。很有意思的是,awvs在扫描过程中并未被拦截,也为笔者打组合拳提供了很大的帮助
首先发现了存在目录遍历,但是并没有什么敏感文件或其他可以利用的点。先找上传了只能
Awvs扫描上传后是绿色的,笔者当时也是直接通过awvs的提示直接找到了上传点
可上传后并无路径回显
,配合前面发现的目录遍历,决定去尝试访问一下。此时笔者有俩个想法:1.直接找uploads路径 2.uploads不存在的话可以看到有temp目录,竞争上传绕过也存在一定可能
运气比较好,笔者发现uploads下确实出现了所上传的文件。
通过一系列的fuzz,我们可以看到一下文件(图中都是我之前测的)
确定黑名单
绕过,且在fuzz过程中,如果被拦截
则无回显
,直接断开连接
。正常情况如下所示(这里细心的读者就能发现filename是一串md5,但是存入后发现名字改变了已经)
最终确定,check文件头
,黑名单
,内容不能出现<?php
。当双后缀时发现,check最后的后缀,存入前面的后缀,所幸eval()函数并未过滤,传入内容为短标签
上传一句话的图片马
,文件名为1234.php.jpg
,最终存入的文件后缀为.php
。
进入到uploads下找到该php,确定能被解析
出现问题:蚁剑
无法直接连接,手工执行phpinfo发现
流量被拦截。考虑流量混淆
,但是因为只能传短标签,笔者首先想到了用file_put_contents写一个base64的流量混淆马上去,再用base64_decode去解开,发现,base64、rot13这些函数都被ban了。尝试发现`
可以用
但是在写入文件中发现echo写文件出现空格会被ban$IFS绕过即可
成功写入
尝试写入php文件,发现被ban
考虑到之前上传时会对<?php
检测,那用linux的base64编码绕过即可
上传我们的流量混淆的免杀马,蚁剑成功上线
本文作者:硝基苯
本文链接:https://www.c6sec.com/index.php/archives/665/
最后修改时间:2022-05-08 21:31:05
本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!