功能强大的IP轮换与暴力猜解技术

发布时间 - 2019-12-21 00:00:00    点击率:

本文分享的是通过ip轮换结合暴力破解方法禁用facebook新创建的未确认用户,此前在2014年facebook曾针对该漏洞做过修复,但是由于修复策略不够完善,导致可以用ip轮换方法再次绕过这种防护,形成对任意新创建未确认facebook用户的间接禁用攻击。

早前的账户创建确认漏洞

在2014年Facebook曾针对该漏洞做过修复。

当时的漏洞情况是这样的:如果你用个人邮箱注册一个Facebook账户,创建完成之后,Facebook会向你的邮箱发送一个5位数确认码邮件,但出于个人邮箱被恶意注册的安全原因考虑,Facebook还会在邮件末尾附加上一个“未曾注册过Facebook”的选项按钮,以便让那些个人邮箱被恶意注册的用户提交上报Facebook。

如下:

提交之后,会产生以下链接:

https://www.facebook.com/confirmemail.php?e=victim@mail.com&c=5-DIGIT-CODE&report=1

移动端对应的是:

https://m.facebook.com/confirmemail.php?e=victim@mail.com&c=5-DIGIT-CODE&report=1&message=1

漏洞原因在于,其中的 c 参数,也就是Facebook发送过来的一个5位数确认码,可以被攻击者暴力破解猜测到,因此可导致攻击者用此种方式去禁用任何未及时确认的Facebook新注册账户。该漏洞已于2014年10月被Facebook修复。

现在存在的问题

通过测试分析,作者发现该路径下设置了访问频率限制(Rate limit),针对5位数确认码做暴力猜解时会被Facebook阻拦掉。如下:

我猜想Facebook之前的修复策略如果是基于IP的限制方法的话,我可以通过变换IP地址来进行暴力猜解啊。果然,当我变换新的IP地址再进行进行暴力猜解之后,Facebook完全不会实施阻拦。

为了更顺利的实施这种暴力猜解工作,需要对每次请求的IP地址都做出变化,也即IP轮换。为了综合利用IP轮换+暴力猜解,我谷歌了一些在线资料,并最终用Luminati+Burp搭建了一个测试环境,完美绕过了Facebook后端限制,并有效地猜测出Facebook5位数确认码,实现对Facebook未确认账户的禁用。

漏洞影响

1、对于受害者用户来说,如果攻击者以此方式禁用了它的Facebook账户,那么由于其邮箱地址已经被Facebook列入黑名单,所以受害者在今后就无法用该邮箱注册Facebook账户了;

2、另外,如果攻击者知道受害者用户的确切注册邮箱,即使用户已经经过了Facebook确认,但一样能通过此种方式去举报受害者用户邮箱,形成账户滥用提交,后期可由Facebook对受害者的Facebook账户实现禁用,整个过程无需与用户进行任何交互。

漏洞上报及处理进程

2019.6.30 : 漏洞初报
2019.7.3 : Facebook深入确认
2019.8.23: Facebook完成修复
2019.8.23 : Facebook奖励了$1000

相关文章教程推荐:web服务器安全


# 的是  # 确认码  # 微软  # 做过  # 此种  # 是这样  # 可以用  # 当我  # 会在  # 相关文章 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何选择可靠的免备案建站服务器?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  详解jQuery中基本的动画方法  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  php 三元运算符实例详细介绍  Laravel怎么在Controller之外的地方验证数据  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  利用JavaScript实现拖拽改变元素大小  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  深入理解Android中的xmlns:tools属性  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何正确下载安装西数主机建站助手?  如何在Windows服务器上快速搭建网站?  如何解决hover在ie6中的兼容性问题  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  在线制作视频网站免费,都有哪些好的动漫网站?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  JavaScript常见的五种数组去重的方式  黑客如何利用漏洞与弱口令入侵网站服务器?  C#如何调用原生C++ COM对象详解  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  微信小程序 配置文件详细介绍  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何为不同团队 ID 动态生成多个非值班状态按钮  nginx修改上传文件大小限制的方法  node.js报错:Cannot find module 'ejs'的解决办法  Laravel如何自定义分页视图?(Pagination示例)  jQuery 常见小例汇总  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  微信小程序 canvas开发实例及注意事项  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel怎么上传文件_Laravel图片上传及存储配置  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel如何生成API文档?(Swagger/OpenAPI教程)