安全街
一步步,我们的信息安全时代

XSS早年间刚流行的时候,大家都没有当回事。自从有人发现能打cookie后,才变得流行起来,到现在,已经是各种猥琐套路了。XSS攻击并非主动攻击,要“看缘分”。国内的安全圈尤其不重视反射性XSS,“反射性XSS,忽略”已经成为了一个梗。相对来说,储存型XSS危害还是较大的,影响广,同时还有可能获取管理员的权限。
在此次渗透任务中,我发现了一个XSS漏洞,在利用管理员cookie不成功后,成功使用一些骚操作获取了后台权限。

日常之打cookie

此次的渗透目标是一个本市的旅游网站,我很轻易的发现了随处存在的储存型XSS。在测试其他漏洞无果后,我决定对XSS漏洞下手。
XSS漏洞的一般姿势是打cookie,对于旅游网站,我们获取普通用户cookie的价值不大(就算用了别人的账户还是要交钱旅游),并且我们的渗透任务是针对网站的,所以我们使用订单页的储存型XSS尝试获取管理员的cookie。
我发现这个网站不支持在线支付功能,要求在订单页被管理员审核通过后,再进一步电话联系。这样,我们有100%的几率可以获取管理员cookie。找到一个XSS平台,将XSS代码写入了订单页并提交,接着,耐心等待吧~

提示:我们在进行渗透测试时,请务必不要填写任何真实信息,以防止引火上身。不要使用用本人手机号注册的账号去搞有危害性的操作,不然就是风里雨里看守所等你的故事。

大约下午的时候,我收到了XSS平台发来的邮件,提示我管理员的cookie被打到了。我怀着激动的心情使用收到的cookie从发来的链接进入了后台,发现正是审核我订单的页面。当我尝试进入index页面时,突然跳到了登陆页面,提示我重新登录。我一下子懵住了,这是什么情况?
这时我仔细地看了一下后台登陆页和地址栏,发现了几点情况:

  • 后台页面是裸ip的,经测试,网站的ip和此ip并不相同,并且这个后台页面是开在2015端口上!讲道理这要是通过注入得到了账号密码,又没有此XSS漏洞,就是扫破天也扫不出来这后台的位置。
  • 从登陆页面可以看到,后台做了权限控制,分别是以人事审核财务的身份登录。毫无疑问,我们刚刚获取的cookie是审核权限的cookie。

此后我又试了一次,虽然此后台并未做Http-Only,但我们依旧无法用拿来的cookie遨游后台。

骚操作之XSS钓鱼

XSS虽然常被用来打cookie,但其实还有很多其他的利用方法。XSS本身没有任何苛刻条件的限制,这实在不是一个鸡肋漏洞,它的弱势在于被动触发,在我们当前的渗透任务中,这种触发达到了100%,因此我们只要善于利用,一定能达到意想不到的结果。
我看着登陆界面,灵光一闪想起了钓鱼。这种方式对有Http-Only的网站也非常有效。下面来讲讲我是如何进行骚操作的:

  • 将登陆页面另存为,下载到本地。
  • 将网页中的资源文件(如图片)改成它在网络上的地址。(因为当你网页另存为后它资源文件的连接会指向本地)
  • 修改js,达到这样的效果:当管理员在此页输入账号和密码,并点击登录时,把账号密码发送到XSS平台
  • 接下来,我对所有代码做了压缩,并全部写入了js,达到这样的效果:当执行这段js代码时,会在当前页面上覆盖一个浮层,并在这个浮层上使用innerHTML方法插入我们刚刚修改的html代码并解析,这看起来就好像是把登陆页面覆盖在当前页面上一样。在管理员点击登录后,销毁这个浮层。
  • 将这段js代码写到XSS平台上,并把短链接插入到订单页,提交订单。

来总结性的说说效果,当管理员审核我们的订单时,会触发XSS,执行我们写好的js代码。这时,他的审核页面上会被覆盖上一个浮层(注意此时url并没有变),这个浮层就是我们精心设计的登陆页面,覆盖全屏幕,并且与真正的登陆页面100%相似(可以说除了url不一样之外没有任何不同)。管理员会认为是误退出,于是想要再次登陆,当他输入账号密码并点击登录后,他的账号密码会被发送到XSS平台,并且这个浮层消失,露出原本的订单审核页面。
在以上的过程中,我们通过针对性钓鱼骗取了管理员的明文账号密码,即使是设置了Http-Only的cookie也阻挡不了我们前进的脚步。
我使用了一上午的时间来完成这项工作,并在中午吃饭的时候提交了订单。下午,XSS平台给我发来邮件,告诉我管理员的用户名和密码到账了。于是我光明正大的使用账号密码登陆了后台,才不去用什么狗屁cookie。

后续的渗透

经过一番探测,我确认了我现在的权限只能审核订单,并没有一丝一毫的价值。XSS漏洞的价值已经被榨干了,我开始寻找其他的漏洞。
最终,我发现这个后台使用了Struts2框架,于是我使用s2-045漏洞利用工具尝试性对服务期执行命令,结果成功getshell。早知道这么容易就不辛辛苦苦去钓鱼了!

结语

没有鸡肋的漏洞,只有贫瘠的利用方式。只要思路足够猥琐,什么漏洞都能够发光发热。虽然这次XSS在整个渗透流程中发挥的作用不大,却不可否认它是具有很高的危害性的。XSS绝不是弹窗这么简单。
在我看来,安全人员学习开发也是很重要的,若只会利用工具,终究难有好的思路。
另外,事实证明,国内的安全意识还有待提高,s2-045这种惊天漏洞爆发后,时隔4个月,网站居然仍没有更新升级。这种后台站白帽子们一般是扫描不到的,而有针对性的黑客却很容易将之拿来利用,所以已经游走在威胁边缘了。
国内安全意识的提高不能只依赖白帽子们的提醒,更重要的是站长们要自己真正意识到安全的重要性和造成损失的后果。

*本文为原创,作者T1dDl3R,首发于本博客。转载请注明

这篇文章还没有人发言,快抢第一!

发表评论