Facebook 如何禁用浏览器的集成开发人员工具?

2024-01-03

显然,由于最近的诈骗,开发人员工具被人们利用来发布垃圾邮件,甚至用于“破解”帐户。 Facebook 屏蔽了开发者工具,我什至无法使用控制台。

他们是怎么做到的??Stack Overflow 上的一篇帖子声称这是不可能的 https://stackoverflow.com/questions/7559409/disable-developer-tools,但 Facebook 已经证明他们错了。

只需前往 Facebook 并打开开发者工具,在控制台中输入一个字符,就会弹出此警告。不管你输入什么,它都不会被执行。

这怎么可能?

他们甚至阻止了控制台中的自动完成:


我是 Facebook 的一名安全工程师,这是我的错。我们正在对一些用户进行测试,看看它是否可以减缓一些攻击,即用户被诱骗将(恶意)JavaScript 代码粘贴到浏览器控制台中。

需要明确的是:试图阻止黑客客户端是一种bad idea https://stackoverflow.com/questions/7559409/disable-developer-tools一般来说; 这是为了防止特定的社会工程攻击 https://www.facebook.com/photo.php?v=956977232793.

如果您最终加入了测试组并对此感到恼火,那么抱歉。 我尝试制作旧的选择退出页面(现在帮助页面 https://www.facebook.com/selfxss)尽可能简单,同时仍然足够可怕,至少可以停下来some的受害者。

实际的代码非常类似于@joeldixon66 的链接 https://stackoverflow.com/a/21692733;我们的情况有点复杂,但没有什么充分的理由。

Chrome 将所有控制台代码包装在

with ((console && console._commandLineAPI) || {}) {
  <code goes here>
}

...所以网站重新定义console._commandLineAPI扔:

Object.defineProperty(console, '_commandLineAPI',
   { get : function() { throw 'Nooo!' } })

This is 还不够(尝试一下!) http://escape.alf.nu/20,但这就是 主要技巧。


结语:Chrome 团队认为从用户端 JS 击败控制台是一个错误,并且解决了问题 https://code.google.com/p/chromium/issues/detail?id=349993,使该技术无效。之后又增加了额外的保护保护用户免受自我xss攻击 https://code.google.com/p/chromium/issues/detail?id=345205#c21.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook 如何禁用浏览器的集成开发人员工具? 的相关文章

  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 用户验证 Facebook 后未调用应用程序打开 Url 方法

    我已将 ios 应用程序中的 facebook 升级到 3 0 并使用提供的代码https developers facebook com docs howtos login with facebook using ios sdk http
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 无法修改我的脚本来限制抓取时的请求数量

    我用 python 编写了一个脚本Thread同时处理多个请求并更快地进行抓取过程 该脚本正在相应地完成其工作 简而言之 抓取工具的作用是 它解析从登陆页面通向其主页 存储信息的位置 的所有链接并抓取happy hours and feat
  • org.hibernate.exception.ConstraintViolationException:无法执行语句

    所以情况是这样的 我正在使用 struts2 和 hibernate 创建一个 web 应用程序 我正在创建一个更改密码页面 用户可以通过该页面更改其密码 但我收到错误为 org hibernate exception Constraint
  • 从 Linux 命令行为视频添加水印

    有谁知道如何使用简单的工具从 Linux 命令行为视频添加水印 当前版本不支持 ffmpeg 中的水印 需要自定义编译 Max ffmpeg y i inputFile mpg vhook usr lib vhook watermark s
  • 点选择器 event_handler 在 matplotlib 中绘制线并显示坐标

    我有下面的类 它通过 y 轴绘制一条垂直线 这样当我单击它时 就会在该位置绘制一条水平线 我的目标是让 y 坐标实际打印在绘制水平线的 y 轴上 为了进行测试 我尝试使用 y 坐标打印标题 但它没有按预期工作 我真正想要完成的是使条形图上的
  • 循环遍历 $_POST 变量

    抱歉 我找不到这个问题的合适标题 我使用 for 循环生成了以下内容 并使用以下模式连接了提交按钮的名称 提交 编辑 类别 1 提交 编辑 类别 2 提交 编辑 类别 3 echo
  • 在 Python 中从设备名称映射到挂载点的可靠且“尽可能便携”的方式

    我希望能够获取设备名称 例如 dev disk2 并确定其安装位置 如果有 例如 mnt cdrom or Volumes RANDLABEL 在Python中 我可以做到这一点的一种方法是运行df or mount然后解析输出 但这看起来
  • 如何在 JavaScript 中模拟按键? [复制]

    这个问题在这里已经有答案了 我正在尝试找到一种模拟按键的方法 例如 当功能启动时 应按下 向下箭头 键 因此网页应稍微滚动 我只对 Chrome 感兴趣 jQuery 或纯 JS 都合适 纯 JS 会更可取 这是我尝试过的代码示例之一 va
  • 使用 find 排除子目录

    我有这样的目录结构 data abc incoming def incoming processed 123 incoming 456 incoming processed Data 目录内的所有文件夹中都有一个传入子文件夹 我想获取除 d
  • 将作品放入 Postman 但不放入 AXIOS

    这是我的 MERN 应用程序中最奇怪的事情 当我从 Postman 向我的 api 执行 PUT 时 它会工作并更新我的 api 和 mongoDB 在前端 即使控制台日志显示正确的值并且 url 相同 它也不会更新 api 任何帮助或指导
  • 是否有固定大小分配器的优雅 C++ 实现?

    我认为如果必须包含的头文件数量尽可能少 C 库就是 优雅的 我知道已经存在固定大小的分配器 例如Loki SmallObjectAllocator and boost pool 虽然两者都很优秀 但我认为它们不够优雅 也不容易无缝集成到项目
  • 我应该如何使用 pandas 处理时间序列数据中的重复时间?

    我从 API 调用返回以下内容作为更大数据集的一部分 时间 datetime datetime 2017 5 21 18 18 1 tzinfo tzutc 价格 0 052600 时间 datetime datetime 2017 5 2
  • T-SQL 如何匹配多行

    有两个表 包装表和产品表 就我而言 包装中包含多种产品 我们需要识别多个产品是否可以与包裹记录中已有的包裹匹配 一些脚本如下 DECLARE tblPackage TABLE PackageID int ProductID int INSE
  • Mailgun Laravel 发送电子邮件错误 客户端错误消息

    在 Laravel 5 1 上设置 mailgun 后 我确实收到错误消息 客户端错误响应 url https api mailgun net v3 messages mime https api mailgun net v3 messag
  • 如何在脚本化 ssh 命令中使用简单引号和双引号

    我正在编写一个小型 bash 脚本 并希望通过 ssh 执行以下命令 sudo i mysql uroot pPASSWORD execute select user host password last changed from mysq
  • ICU 资源包是否用于消息翻译资源

    我了解 ICU 的本地化部分 日期 时间和货币格式 排序规则等 当谈到消息翻译时 我看到人们说 ICU 不提供消息翻译功能 例如检查这个 SOF 问题 https stackoverflow com questions 5644412 ph
  • 工作单元模式的实现

    我首先使用 ASP NET MVC 和实体框架代码创建一个应用程序 我正在使用存储库和工作单元模式 并受到以下链接的影响 http www asp net mvc tutorials getting started with ef 5 us
  • Intellij 在新块中添加额外的行

    当我在 Intellij 中编写代码时 我经常通过键入以下类型的序列来创建新块 if test 键入左大括号会导致 Intellij 自动插入右大括号并将光标移动到两个大括号之间 if test 此时 我只需按 Enter 即可获得一个格式
  • 谷歌地图打开时的信息窗口事件

    您好 我正在使用谷歌融合表和谷歌地图 问题是我的标记显示正确 但我想在信息窗口中插入一些图像 所以问题是我进行查询来查找这些标记的位置 并且这些标记可以有许多类别 这就是为什么我无法使用合并表 当用户单击标记时 信息窗口将显示并显示标记上的
  • Java URL:未知协议“C”

    我知道有similar对这个问题的提问 比如this https stackoverflow com questions 7243550 unknown protocol c jdom a saxbuilder一 但是 在读完 类似标题的问
  • Facebook 如何禁用浏览器的集成开发人员工具?

    显然 由于最近的诈骗 开发人员工具被人们利用来发布垃圾邮件 甚至用于 破解 帐户 Facebook 屏蔽了开发者工具 我什至无法使用控制台 他们是怎么做到的 Stack Overflow 上的一篇帖子声称这是不可能的 https stack