当前位置:  开发笔记 > 编程语言 > 正文

XSS背后的一般概念是什么?

如何解决《XSS背后的一般概念是什么?》经验,为你挑选了4个好方法。

由于已经给出了关于XSS如何恶意的答案,我将仅在XSS上发布两个不错的flash介绍并回答以下未回答的问题:

如何防止XSS在我的网站上发生?

以下是关于XSS的两个不错的flash介绍:

https://www.virtualforge.com/vmovie/xss_lesson_1/xss_selling_platform_v1.0.swf

https://www.virtualforge.com/vmovie/xss_lesson_2/xss_selling_platform_v2.0.swf

至于防止XSS,当你要在页面上重新显示任何 用户控制的输入时,你需要HTML转义.这包括请求标头,请求参数以及将从数据库提供的任何存储的用户控制输入.特别是<,>,"'需要转义,因为它可以malform其中该输入被重新显示周围的HTML代码.

几乎任何视图技术都提供了内置的方法来转义HTML(或XML,这也是足够的)实体.

在PHP中,您可以使用htmlspecialchars().例如


如果你还需要使用它来转义单引号,你需要提供ENT_QUOTES参数,也可以看到前面提到的PHP文档.

在JSP中,您可以使用JSTL fn:escapeXml().例如

">

要么


请注意,在请求处理期间,您实际上不需要转义XSS,而只是在响应处理期间.在请求处理期间不需要转义,它可能迟早会使用户输入变形(并且作为网站管理员,您还想知道问题的用户实际输入了什么,以便您可以在必要时采取社交行动).关于SQL注入,只是在数据即将保留在数据库中时请求处理期间将其转义.



1> BalusC..:

由于已经给出了关于XSS如何恶意的答案,我将仅在XSS上发布两个不错的flash介绍并回答以下未回答的问题:

如何防止XSS在我的网站上发生?

以下是关于XSS的两个不错的flash介绍:

https://www.virtualforge.com/vmovie/xss_lesson_1/xss_selling_platform_v1.0.swf

https://www.virtualforge.com/vmovie/xss_lesson_2/xss_selling_platform_v2.0.swf

至于防止XSS,当你要在页面上重新显示任何 用户控制的输入时,你需要HTML转义.这包括请求标头,请求参数以及将从数据库提供的任何存储的用户控制输入.特别是<,>,"'需要转义,因为它可以malform其中该输入被重新显示周围的HTML代码.

几乎任何视图技术都提供了内置的方法来转义HTML(或XML,这也是足够的)实体.

在PHP中,您可以使用htmlspecialchars().例如


如果你还需要使用它来转义单引号,你需要提供ENT_QUOTES参数,也可以看到前面提到的PHP文档.

在JSP中,您可以使用JSTL fn:escapeXml().例如

">

要么


请注意,在请求处理期间,您实际上不需要转义XSS,而只是在响应处理期间.在请求处理期间不需要转义,它可能迟早会使用户输入变形(并且作为网站管理员,您还想知道问题的用户实际输入了什么,以便您可以在必要时采取社交行动).关于SQL注入,只是在数据即将保留在数据库中时请求处理期间将其转义.


哦通过flash文件提供安全信息的讽刺:)

2> Matt Briggs..:

直接XSS

    我发现谷歌有一个xss漏洞

    我编写了一个脚本,重写了一个公共谷歌页面,看起来与实际的谷歌登录完全一样

    我的虚假页面提交给第三方服务器,然后重定向回真实页面

    我得到谷歌帐号密码,用户没有意识到发生了什么,谷歌不知道发生了什么

XSS作为CSRF的平台(据说这实际上发生了)

    亚马逊有一个csrf漏洞,其中"始终保持登录状态"cookie允许您将条目标记为具有攻击性

    我在高流量网站上发现了一个xss漏洞

    我写了一个javascript,点击网址,标记由亚马逊的同性恋作者撰写的所有书籍作为攻击性

    对亚马逊来说,他们通过真正的身份验证cookie从真实浏览器获得有效请求.所有的书都在一夜之间从网站上消失了

    互联网吓坏了.

XSS作为会话固定攻击的平台

    我发现一个电子商务网站在登录后没有重置会话(像任何asp.net网站一样),能够通过查询字符串或cookie传递会话ID,并在会话中存储身份验证信息(很常见) )

    我在该网站的页面上发现了一个XSS漏洞

    我编写了一个脚本,将会话ID设置为我控制的会话ID

    有人点击该页面,并进入我的会话.

    他们登录

    我现在有能力做任何我想做的事情,包括用保存卡购买产品

这三个是重要的.XSS,CSRF和会话修复攻击的问题在于它们非常非常难以跟踪和修复,并且非常容易允许,特别是如果开发人员对它们了解不多.



3> Roland Bouma..:

我不知道JS/VBscript如何造成如此大的破坏!

好.假设您有一个站点,并且该站点是由该站点提供的http://trusted.server.com/thesite.假设这个网站有一个搜索框,当你搜索网址变成:http://trusted.server.com/thesite?query=somesearchstring.

如果网站决定不处理搜索字符串并将其输出到结果中,例如"你搜索"somesearchstring"没有产生任何结果,那么任何人都可以向网站注入任意html.例如:

http://trusted.server.com/thesite?query=
username:
password:

因此,在这种情况下,网站将在搜索结果页面上尽职尽责地显示虚假登录表单,如果用户提交,则会将数据发送到邪恶的不受信任的服务器.但是用户没有看到,尤其是 如果网址真的很长,他们只会看到第一个但是,并假设他们正在与trusted.server.com打交道.

对此的变化包括注入一个

mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有