某天在日常浏览网上资源时,突然发现了一个教育在线云播的网站,主页界面如下。
在确定是教育类型的网站之后拿着我的burp开挖,测试了一下常规漏洞无果,开始转向弱口令,且发现密码加密了
这里可以想到的思路有两个
1、 fofa同类型站点爆破出账户后,在尝试是否有未授权之类的漏洞,并加以利用。
2、 直接转向爆破用户名弱口令.获取一定权限后继续测试扩大攻击面。
Fofa搜了一堆,挨着爆破了一圈admin账户,无果,继续尝试爆破 如 root administrator system账户还是无果,于是直接尝试爆破用户名弱口令。
运气很好爆破出了一个teacher账户
观察其返回包的内容,发现并不存在session等参数,直觉告诉我这里可以登录绕过
于是到另一个站点,随意输入账户密码,抓取返回包,替换为上一个站点的response成功绕过登录限制
但这个账户,权限还是很小,并无任何可以执行的敏感操作,于是开始尝试寻找管理员账户的用户名,很遗憾没有找到,但在浏览过程找到几处上传点。于是乎,转向文件上传测试。
尝试改一下后缀as进行模糊黑盒fuzz
突然惊喜,as都能够成功上传,看来离拿shell不远了,直接改为aspx
也许是不让上传继续改为asp,ashx,asmx 返回结果都是如下。看来这个开发公司在愚弄我啊,终究还是我太菜了,太好欺负了。
接着试了另外基础上传点均为一个模块,想着收拾收拾东西溜了,早点睡。
第二天、不到黄河不死心,又开始新的一通比较细致的fuzz,这次我开着玩的御剑大宝贝来了,不出货,我赖着不走了,不负所望,又为我带来点希望,随手点开一个。
好家伙,目录遍历,之前忽略掉了这个东西。直到御剑出货了才发现,寻找寻找源码,看看配置文件,java学的差不多了,但是net站点还是不会呀,哈哈哈哈,无源码备份文件,在同类型站点查看是否有目录遍历,无果,看来应该是这个站点的管理员配置服务器粗心大意了。
Fuzz一番发现了一个测试上传的页面,且功能能够正常访问。
且后缀未做任何过滤。
但现在问题又出现了,shell倒是可以传上去了,但是并未返回文件路径,以及文件名,看了一下wappalyzer,发现是iis的服务器那就是win系统了。
结合windows系统命令规则,我们尝试在文件后缀中恶意添加禁止的字符,例如
发现系统报错,并成功返回了路径以及文件名
,
但是这文件名有点复杂啊。如果说是这种文件名,我就算知道路径了我也不知道文件名到底是个啥啊。
于是,单独将文件名提出来,单独看了看。
最终得出他的命名规则
1a3xisnmccnjmchodbzzcyk15.a\sp
1 = 文件本身文件名
a3xisnmccnjmchodbzzcyk15 = ASP.NET_SessionId=a3xisnmccnjmchodbzzcyk15;
文件名 = 文件名+session+后缀
OK至此我们已经得到,完整的上传路径,已经文件名。拿到shell岂不是轻轻松松,直接传个shell ,之后拼接路径,访问。
我的光,它又消失了,之前他还在闪闪发光,看来凡事不能高兴的太早。
继续尝试其他后缀,php,asp,asmx,ashx,cshtml ,又换了一波哥斯拉,全是403梦想破碎.猜测upload目录下面应该是没有执行的权限。有鉴于是win系统,那么是否可能会存在目录穿越呢,回到上传包,继续构造,为了方便确定存在目录穿越漏洞,我继续在文件名处加了特殊字符,nice啊可以跳目录那就好办。
构造上传包,拼接路径——getshell 一气呵成
至于后续-你懂,通杀一片。舒服了
相关漏洞已提交至平台,如有露点,请提示。 欢迎各位大师傅们关注微信公众号F12sec 我们是一群爱分享,热爱网络安全的年轻人。共同进步,冲冲冲。