什么是JavaScript注入,它如何在软件测试中使用?

7

什么是JavaScript注入?它和SQL注入类似吗?

在软件测试中,我该如何使用JavaScript注入?


1
谷歌搜索没有帮助你的哪方面? - Michael Petrotta
看一下跨站脚本攻击(XSS)。 - StuartLC
4个回答

6

JS注入是由客户端调用的客户端运行JavaScript。您可以在浏览器或控制台(如Chrome)中执行此操作。在测试中,这可能很有用,因为您可以与实时Web应用程序交互,而无需重写、重新编译和重新测试。它还可以在黑客攻击中非常有用,通过更改网页来使弱密码验证脚本始终返回true,从而授予您登录访问权限。在Chrome中,按下ctrl+shift+j并转到控制台。在那里,您可以玩弄一些JavaScript并自己看看它是如何工作的。其他浏览器使用URL栏,例如:

javascript:alert(some element = some val)

2

XSS(跨站脚本攻击)通常是讨论 JavaScript 注入时需要了解的攻击方式。基本上,您会加载恶意 JavaScript 到一个网页中,这些 JavaScript 可以在以后用于网络钓鱼。

我认为还没有很好的 JavaScript 工具可以发现 XSS 漏洞。在涉及安全性时,仍然需要一个人(最好是安全专家)来进行测试,可能需要使用工具来协助。


2

尽管大多数人在这里提到客户端JavaScript注入(又称跨站脚本攻击)

术语“跨站脚本”最初指的是从不相关的攻击站点加载被攻击的第三方Web应用程序,以一种方式执行攻击者准备的JavaScript片段,该片段处于目标域的安全上下文中(反射型或非持久性XSS漏洞)。
维基百科

随着NoSQL的兴起,我们有了一种新型注入 - 服务端JavaScript注入SSJS,某些方面与SQL注入非常相似。考虑阅读这篇论文(pdf!),其中描述了它们两个。


0

您可能指的是如何在类似Firebug的控制台中打开任何网页的JavaScript,并覆盖在其中定义的函数。通过这样做并添加其他代码(或删除),您可以输出本应“封装”在闭包中的数据……它确实可以更进一步。

在某些浏览器中,如果您不介意在一个单行中编写代码,甚至可以在URL栏中执行此操作。

注意:跨站脚本攻击是我完全忘记的事情,直到nonnb提到它。哈哈,真是太傻了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接