前几天看到群里一个道友发了网站说有云锁。求突破绕过。
我琢磨着上去看了下。找了个上传页面。程序是.NET写的。也就是aspx。一般支持ASPX也支持ASP。
首先习惯看下服务是IIS6.0的
一般IIS6.0有个解析漏洞类似XXXX.asp;.jpg这种。这个网站上传后文件名按时间生成。
这里我找了个上传点传了个正常图片上去。找到了上传目录,发现可以列目录。这样省了很多麻烦。然后继续测试排除。
发现文件名虽然会变,但是后缀不会变。但是奇怪的是比如我上传文件名为xxxx.asp;.jpg最后得到的文件就是
可以大致猜到这个程序的作者的过滤方式大概是。匹配出文件名最后出现的点。将点和后门所有的字符去掉。
为了印证这个猜想。我传了一个xxx.asp.jpg上去。。呵呵是不是以为是apache解析。当然不是。。我这个是asp又不是php。而且没有apache的环境不支持解析php文件。
把文件传上去后印证了我的猜想。
成功绕过了。
接下来就是云锁了。上传了一个一句话文件。云锁直接拦截
因为是几天前弄得。没做记录。几天特意上去弄了些截图。如果把一句话写到程序自带文件里面,云锁还是拦截。
接下后给大家说说,在这上面遇到的2种拦截方法,一个是上面的云锁。一种是直接把文件内容替换。。第二种文件内容被替换的我就没办法了。不过应该只杀脚本文件。针对第一种拦截。我没有研究过云锁的拦截规则。所以也不知道怎么说。应该是正则匹配+关键词函数。。。我的绕过方法是---这里我拿一个小马做测试。小马直接是asp文件.访问直接拦截
于是我把这个小马文件后缀改成图片文件的后缀。比如jpg传上去。又不解析所以不拦截。
然后我又传了一个文件。内容是
[Visual Basic .NET] 纯文本查看 复制代码 <!--#include file="刚才传的那个小马图片.jpg"-->
<%response.Write 1+1%>
就是用包含来绕过。下面那个只是用来测试是否解析asp文件,解析的话就会输出2。。因为云锁貌似对于这些函数不拦截。访问该文件。成功绕过
大概就是这样一个方法。这里就是给大家介绍个思路,在遇到无法突破的环境时候,可以尝试多测试几次,用排除法排除掉一些可能性。在对症下药。 |