我很喜欢今天的看到的write-up,因为作者是针对他对一个网站整体进行漏洞挖掘的过程写的,内容包括几个不同的漏洞,从中能够学习到怎样系统性的挖掘漏洞。
从文中可以看到作者从3000+个mail.ru的子域名中,按顺序一个个进行漏洞挖掘。
1. Improper authentication
这个漏洞存在于redacted_shop.mail.ru子域名,由于本人比较菜,老实说这样的漏洞我即使看到了都不会意识到这是一个漏洞。
在对一个子域名进行检查时,首先进行的是个人账户的功能性检查。然后作者发现该网站登录的验证方式包括邮箱验证,而在提交验证码时,有一个链接会同时被提交redacted_shop.mail.ru/?login=hV8oUH,实现了自动登录的功能。而这一功能就是一个漏洞,一方面攻击者可以进行暴力破解,另一方面这样的链接可能会被搜索引擎索引。
2. Blind XSS
检查登录功能后,作者又进行了目录爆破(使用dirb工具),然后开始检查修改用户数据部分的功能性,csrf,xss......并没有什么发现。最终作者在个人数据,配送地址,订单的评论部分都添加了自己的js payload,然后奇迹就发生了,凌晨的时候作者发现自己的blind xss script在管理员平台被执行了(这里应该是用盲打平台,我也是前段时间才知道的这种工具,所以不是特别熟悉),获得了cookie,并成功登录了管理员账户(o(╯□╰)o)
3. 其他的一些漏洞
后面作者又提到了几个漏洞,但是由于还没有修复,细节并没有透露。
①从手机端绕过双重验证
②管理员平台的blind xss
③由于自动登录,匿名用户在访问某子域名时是自动登录,且订阅区域会自动替换他的邮箱地址,该子域名存在一个stored xss,攻击者可以由此获得用户的邮箱地址,匿名性无效。
④一个手机验证码爆破的漏洞
⑤某子域名上的文章图片中泄露了用户的邮箱地址
这篇write-up首先很好的示例了如何对一个网站进行系统的漏洞挖掘。其次,登录验证部分的漏洞看起来很简单(实际上确实很小,没有reward),但是仍旧值得注意。
1. 在对漏洞进行挖掘时,要善于使用一些已经存在的工具协助挖掘(例如作者用到的dirb)
2. 在一切可能的地方插入自己的js payload,使用盲打平台。
3. 测试时切记,不要破坏网站的功能性,否则后果很严重!!尤其是blind xss,由于无法看到返回结果,很容易对网站的功能造成破坏,关闭标签
4. 作者提到了一个在过滤<>时的payload:
“; alert (1); //