如何执行XSS脚本?

时间:2017-05-24 06:32:55

标签: xss

例如,

:

我知道如果只包含域名和资源路径,浏览器会发送请求。如果有查询字符串,则由GET方法发送。但是如何在客户端的浏览器中执行脚本呢?

为什么有人会“启用”XSS?

我正在学习XSS,所以请帮帮我!

1 个答案:

答案 0 :(得分:0)

对于一个非常基本的示例,假设您有一个表单,您要求提供用户名。然后在下一页上,您(作为应用程序开发人员)编写“Hello,[用户输入的任何内容]”。问题是,如果用户为他的名字输入<script>alert(1)</script>之类的内容,则会按原样打印在易受攻击的页面中,并在浏览器中运行。这被称为反射xss,这只是冰山一角,例如你的用户可能会将他们的真实姓名存储在数据库中,而另一个页面上的查询可能会列出用户名,其中也可能包含javascript,在这种情况下将在不同用户的浏览器中运行。

解决方案btw是输出编码,实际上意味着用安全的字符替换某些字符,例如&lt;或者&gt;与&amp; lt;和&amp; gt;因此,当编写脚本标记时,它将不会被执行(但这只是html编码的一小部分,有时需要另外一个)。

所以关键是XSS不是由开发人员故意启用的,恰恰相反,每个人都想避免它。这是代码的漏洞。但是,有时它并不那么简单,特别是对于那些不了解安全编码实践的人。

请注意,XSS上的比我在这里提到的更多,无论是它如何表现出来以及如何防止它出现。