gpt4 book ai didi

javascript - XSS - 只能使用 JavaScript 才能实现吗?

转载 作者:行者123 更新时间:2023-11-28 16:02:10 25 4
gpt4 key购买 nike

我知道 SO 上有很多关于跨站点脚本的问题,并尝试阅读投票最多的问题。也阅读了一些网页后,我仍然不确定这种攻击类型可以使用的所有可能性。我不问如何清理输入,而是问人们可以期待什么。

在 SO 和其他页面上给出的大多数示例中,有两种方法,其中最简单的(例如 this one on PHPMaster )接缝是插入一些 <script>用于窃取cookie等的代码

对方提出here by user Baba就是插入完整<form>代码结构,但是在用户提交表单之前它似乎不应该工作,但是一些 JavaScript 事件如 ... onmouseover='form.submit()'...可能会用到。

我能够检查的所有网络示例都只是基于使用某些 JavaScript 代码的方法。

是否可以使用其他方法,例如以某种方式更改 HTML,甚至服务器端脚本?

我知道人们可以通过 SQL 注入(inject)或只是攻击服务器来获取此信息,但我的意思是只能通过操纵(错误处理)GET、POST 请求——或者其他一些请求?

最佳答案

跨站脚本不仅仅是将 JavaScript 代码插入网页。它是一个通用术语,指的是在易受攻击的网页上下文中由浏览器解释的任何代码注入(inject),请参阅 CWE-79 :

During page generation, the application does not prevent the data from containing content that is executable by a web browser, such as JavaScript, HTML tags, HTML attributes, mouse events, Flash, ActiveX, etc.

例如,攻击者可以将自己的登录表单注入(inject)现有登录页面,将凭据重定向到他的网站。这也称为 XSS。

但是,注入(inject) JavaScript 通常更容易、更有前途,因为它可以控制文档和受害者浏览器。使用 JavaScript,攻击者可以读取 cookie,从而窃取受害者的 session cookie 来劫持受害者的​​ session 。在某些情况下,攻击者甚至能够在受害者的计算机上执行任意命令。

XSS 的攻击媒介多种多样,但它们都有一个共同点,即由于某些输入处理不当而可能发生。这可以是通过 GET 或 POST 提供的参数,也可以是 HTTP 请求中包含的任何其他信息,例如cookie 或任何其他 HTTP header 字段。有些使用单个注入(inject)点,有些则分为多个注入(inject)点;有些是直接的,有些是间接的;有些是自动触发的,有些需要某些事件;等等

关于javascript - XSS - 只能使用 JavaScript 才能实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16610070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com