什么是XSS跨站脚本攻击
最近网上流行的XSS是小学生的恶称,骂小学生的。一是指某些人的想法、思维方式、对事物的认知和思考能力如孩子般幼稚、单纯、天真。
XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。
跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。
XSS攻击如何实现以及保护Web站点免受跨站点脚本攻击
1、防止跨站点脚本攻击的解决 *** :输入过滤 对每一个用户的输入或者请求首部,都要进行过滤。这需要程序员有良好的安全素养,而且需要覆盖到所有的输入源。而且还不能够阻止其他的一些问题,如错误页等。
2、不可信数据 不可信数据通常是来自HTTP请求的数据,以URL参数、表单字段、标头或者Cookie的形式。不过从安全角度来看,来自数据库、 *** 服务器和其他来源的数据往往也是不可信的,也就是说,这些数据可能没有完全通过验证。
3、客户端分层防御策略。客户端跨站脚本攻击的分层防御策略是基于独立分配线程和分层防御策略的安全模型。它建立在客户端,这是它与其他模型更大的区别。
如何防范XSS跨站脚本攻击测试篇
1、一些通常的跨站点脚本预防的更佳实践包括在部署前测试应用代码,并且以快速、简明的方式修补缺陷和漏洞。Web应用开发人员应该过滤用户的输入来移除可能的恶意字符和浏览器脚本,并且植入用户输入过滤代码来移除恶意字符。
2、来自应用安全国际组织OWASP的建议,对XSS更佳的防护应该结合以下两种 *** :验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
3、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
4、在将不可信数据插入到Style属性里时,对这些数据进行CSS编码。在将不可信数据插入到HTML URL里时,对这些数据进行URL编码。
5、一些开源的防御XSS攻击的代码库:PHP AntiXSS 这是一个不错的PHP库,可以帮助开发人员增加一层保护,防止跨站脚本漏洞。
6、然后黑客就可以利用受害者的cookie窃取受害者的个人信息等等。这种攻击对服务器没有多大危害,但对用户危害很大,要防范这种攻击应该在设计网站的时候对用户提交的内容进行严格的过滤。