控制台中的 XSS 脚本

信息安全 Web应用程序 应用安全 xss
2021-08-21 10:39:45

那么我需要知道是否可以通过开发人员工具的控制台输入xss脚本(例如:firefox的firebug)?这是正确的方法吗?

4个回答

当然有可能。它实际上是一个控制台,您可以在其中运行和执行任意 JavaScript。

例如,这是我在这个页面上弹出一个警告框: 安慰

仅当您的最终用户愚蠢到在他们不理解的开发工具中运行代码时,这才是危险的。

或者,如果插件中有可用的漏洞利用,您的调用也可能被利用来利用 XSS 攻击

我觉得你可能不明白 XSS 是什么。让我们看一下OWASP 的定义

当攻击者使用 Web 应用程序将恶意代码(通常以浏览器端脚本的形式)发送给不同的最终用户时,就会发生跨站点脚本 (XSS) 攻击。

我要强调这个定义的最后一部分:“……给不同的最终用户。”

在我看来,要成为 XSS 攻击,您需要向网站提交请求并让该网站响应恶意内容。发生这种情况的方式通常分为两种不同的方法:

反射型 XSS:您的部分 URL 呈现在页面上,攻击负载是您的 URL 的一部分。您需要诱使用户单击您的链接以执行攻击。

存储的 XSS:由于不安全的编程,XSS 存储在服务器本身上。然后,当用户访问带有 XSS 有效负载的页面时,会从服务器调用攻击。用户只需要访问页面,不需要点击链接。

基于以上,我会说 XSS 是不可能通过控制台的。相反,您只是在本地浏览器上执行您选择的 javascript。您将无法攻击其他用户。

攻击者可以使用它来轻松制作更复杂的有效负载,使其返回恶意 url,注入恶意 JavaScript 和带有恶意链接的自然事物,这些恶意链接将注入攻击者 JavaScript。

您可以通过这样做来更改输入的 maxlength 属性。

首先,您查找输入的 id,然后在控制台中键入它

var inp = document.getElementById("id_name");

然后通过在控制台中输入来更改 maxlength 属性

inp.setAttribute("maxlength","2000");

之后,您最多可以在所选输入中键入 2000 个字符。

这本身不是 XSS 攻击,但如果受害者依赖 maxlength 属性(没有任何服务器端表单验证)来保护网站,那么这将使攻击者可以自由发送尽可能多的代码。服务器。