问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

xss漏洞如何防御?

发布网友 发布时间:2022-04-22 17:36

我来回答

3个回答

懂视网 时间:2022-04-30 15:31

php

xss攻击防范

如果类似商品标题之类的,可以使用 strip_tags() 过滤,全部清除掉html标签。
如果类似商品描述之类的,可以使用 htmlspecialchars() 过滤,把html标签转义。

sql注入防范

数字类型参数,可以使用 (int)/intval() 强制转为整形。
字符串类型参数,可以使用 mysql_real_escape_string() 转义特殊字符。

java

xss攻击防范

输入时处理,使用 StringEscapeUtils.escapeHtml4()/HtmlUtils.htmlEscape() 来进行过滤。
输出时处理,使用 <c:out value="${msg}" /> 来进行过滤。

sql注入防范

StringEscapeUtils.escapeSql() 将SQL参数特殊字符转义。

xss攻击和sql注入防范

标签:

热心网友 时间:2022-04-30 12:39

1、基于特征的防御。XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同,这就是给XSS漏洞防御带来的困难,不可能以单一特征来概括所有XSS攻击。
传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对JavaScript这个关键词进行检索,但是这种鉴别不够灵活,凡是提交的信息中各有JavaScript时,就被硬性的判定为XSS攻击。
2、基于代码修改的防御。Web页面开发者在编写程序时往往会出现一些失误或漏洞,XSS攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击:
①用户向服务器上提交的信息要对URL和附带的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。
②实现Session标记、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
③确认接收的内容被妥善的规范化,仅包含最小的、安全的Tag,去掉任何对远程内容的引用,使用HTTP only的cookie。
3、客户端分层防御策略。客户端跨站脚本攻击的分层防御策略是基于独立分配线程和分层防御策略的安全模型。它建立在客户端,这是它与其他模型最大的区别。之所以客户端安全性如此重要,客户端在接受服务器信息,选择性的执行相关内容。这样就可以使防御XSS攻击变得容易,该模型主要由三大部分组成:
①对每一个网页分配独立线程且分析资源消耗的网页线程分析模块;
②包含分层防御策略四个规则的用户输入分析模块;
③保存互联网上有关XSS恶意网站信息的XSS信息数据库。

热心网友 时间:2022-04-30 13:57

防御方法
(1)基于特征的防御。XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难,不可能以单一特征来概括所有XSS攻击。
传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对“javascript”这个关键字进行检索,但是这种鉴别不够灵活,凡是提交的信息中各有“javascript”时,就被硬性的被判定为XSS攻击。
(2)基于代码修改的防御。Web页面开发者在编写程序时往往会出现一些失误和漏洞,XSS攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击:1)用户向服务器上提交的信息要对URL和附带的的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。2)实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。3)确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。
当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞。
(3)客户端分层防御策略。客户端跨站脚本攻击的分层防御策略是基于独立分配线程和分层防御策略的安全模型。它建立在客户端(浏览器),这是它与其他模型最大的区别,之所以客户端安全性如此重要,客户端在接受服务器信息,选择性的执行相关内容。这样就可以使防御XSS攻击变得容易,该模型主要由三大部分组成:(1)对每一个网页分配独立线程且分析资源消耗的“网页线程分析模块”;
(2)包含分层防御策略四个规则的用户输入分析模块;
(3)保存互联网上有关XSS恶意网站信息的XSS信息数据库。
XSS攻击主要是由程序漏洞造成的,要完全防止XSS安全漏洞主要依靠程序员较高的编程能力和安全意识,当然安全的软件开发流程及其他一些编程安全原则也可以大大减少XSS安全漏洞的发生。这些防范XSS漏洞原则包括:
(1)不信任用户提交的任何内容,对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、REFER、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。尽量采用POST而非GET提交表单;对“<”,“>”,“;”,“””等字符做过滤;任何内容输出到页面之前都必须加以en-code,避免不小心把htmltag显示出来。
(2)实现Session 标记(session tokens)、CAPTCHA(验证码)系统或者HTTP引用头检查,以防功能被第三方网站所执行,对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。
(3)cookie 防盗。避免直接在cookie中泄露用户隐私,例如email、密码,等等;通过使cookie和系统IP绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,很难拿来直接进行重放攻击。
(4)确认接收的内容被妥善地规范化,仅包含最小的、安全的Tag(没有JavaScript),去掉任何对远程内容的引用(尤其是样式表和JavaScript),使用HTTPonly的cookie。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有效的教学激励策略有哪些 手机充电嗡嗡响怎么回事 手机在充电时发出嗡嗡作响 手机充电头快充有嗡嗡的声音 影视多媒体设计真的不好找工作吗 专科学影视多媒体技术好就业吗 影视多媒体技术专业就业怎么样 影视多媒体技术就业率 胆结石病人在输血后半个月,全身开始发痒是什么原因,怎样能够止痒呢?谢 ... 有关胆结石手术后的恢复,求教 如何避免xss,比如svg&quot;&gt;&lt;svg+onload%3D&#39;document.cookie&#39;&gt; 关于&lt;script&gt;alert(1)&lt;/script&gt;的xss问题? 如何利用xss绕过360网盾做防360拦截空间,详解 如何绕过火狐浏览器的xss防御 发现XSS漏洞的一般做法有哪些? 在input的标签里怎么绕过xss双引号的编码过滤 有什么 绕过 htmlentities 进行 xss 攻击的方法吗 如何避免被 chrome浏览器 xss过滤 有方法能绕过IE11的xss防护机制吗? 如何绕过 浏览器xss filter 如何正确防御xss攻击 如何防止xss攻击,需要过滤什么 XSS 攻击时怎么绕过 htmlspecialchars 函数 用水天相接怎么造句 水天相接造句10字以内 昂首东望和水天相接是什么意思 水天相接的意思是什么四年级 兑换多少人民币 美元兑人民币比率是多少 10965美元兑换人民币是多少钱? 今天美金换人民币的兑换率? XSS攻击的定义,类型以及防御方法? 如何关闭跨站点脚本 (XSS) 筛选器 数据结构的题,帮忙一下,是一小套题 请教各位大神关于从js写法上避免xss攻击的问题 asp 求修复方法 XSS跨站脚本漏洞 姓氏里是“侯”还是“候”? 侯姓的来源和历史是什么? 侯姓和候姓的区别是什么? 侯姓的来源 姓氏侯的来源 中国侯姓有多少人口? 百家姓侯姓的来历 侯姓氏历史、家谱是什么? 姓侯的祖籍在哪? 候姓还是侯姓? 历史上侯姓名人都有哪些 中国有哪些姓侯的著名人物 姓侯的祖籍在哪 侯姓是单姓还是复姓 侯姓溯源的名人精粹