在https://tinyurl.com/中,将生成tinyurl短域名:
在以下链接的srcURL参数中插入生成的tinyurl短域名,然后发送给受害者:
https://m-nexus.thefacebook.com/servlet/taskProc?taskId=shortURL&taskEnv=xml&taskContentType=json&srcURL={YOUR_TINY_URL_HERE}
如果攻击者不小心上钩后,他输入的用户名密码将会存储到我服务器的文件中,之后,再跳转到带m-nexus.thefacebook.com字串的真正的Facebook登录页面。
我在服务端访问以下文件,即可看到钓鱼窃取来的受害者用户名密码信息:
当然,作为攻击者来说,也可以利用该漏洞让受害者跳转到其它部署有恶意软件的恶意网站,实现感染类攻击。
探测Facebook内部架构或服务:
利用Burp Intruder发送枚举请求,可以探测出防火墙后运行于Facebook服务端的应用服务情况,如端口或应用名称等信息:
比如,我在端口10303上发现了Facebook服务端的一个名为“LightRay”的应用服务:
该漏洞上报后,Facebook安全团队迅速做了修复处理,赏金为$1000:
好戏才刚刚开始
现在,在知道Facebook生产系统部署了MicroStrategy Web SDK后,我甚是欢喜,因为MicroStrategy Web SDK是基于java的,而我喜欢发现java类漏洞。于是,我用JD Decompiler 工具对每个jar文件进行了反编译准备进行代码审计,另外,我还在我自架的网站上部署了MicroStrategy Web SDK,如果有相应漏洞,也好进行验证。经过26天的钻研和折腾之后,我终于发现了一个有意思的线索。
在源码的“com.microstrategy.web.app.task.WikiScrapperTask”类中,当我们发送了作为用户输入的参数后,“str1”即被初始化,它会检查用户输入的URL字串中是否包含或https://, 如果有,然后会调用“webScrapper”方法。
“webScrapper”方法会在后台用Java的HTML解析器JSOUP向用户输入的URL发送一个GET请求,以获取和解析其中的HTML页面:
因此,最终它又可形成一个SSRF漏洞: