关于XSS的一些介绍

1、xss是什么?

  XSS攻击:跨站点脚本攻击是一种Web应用程序的攻击,攻击者尝试注入恶意脚本代码到受信任的网站上执行恶意操作。 在跨站点脚本攻击中,恶意代码在受影响用户的浏览器端执行,并对用户的影响。

2、xss可以干嘛?

  弹框,很多人都觉得这个很好玩(仅仅是为了验证XSS攻击的存在);

  盗取Cookie使得攻击者冒充受害人且无需密码;

  伪造登陆提示来获取密码;

  捕获网上银行、电子邮件等网站的按键;

  使用浏览器对局域网进行端口扫描;

  偷偷重新配置家庭路由器使其防火墙失效;

  为跨站请求伪造攻击打基础;

  新型缓冲区溢出工具(JavaScript为新型shellcode);

3、产生xss漏洞的原因

  a、跨站点脚本的主要原因是程序猿对用户的信任。开发人员轻松地认为用户永远不会试图执行什么出格的事情,所以他们创建应用程序,却没有使用任何额外的代码来过滤用户输入以阻止任何恶意活动。另一个原因是,这种攻击有许多变体,用制造出一种行之有效的XSS过滤器是一件比较困难的事情。

但是这只是相对的,对用户输入数据的”编码”和”过滤”在任何时候都是很重要的,我们必须采取一些针对性的手段对其进行防御。

  b、浏览器的同源策略:同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。

  浏览器的同源策略限制了来自不同源的”document”或脚本,对当前”document”的读取或者设置某些属性。为了不让浏览器的页面行为发生混乱,浏览器提出了”Origin”(源)这以概念,来自不同的Origin的对象无法互相干扰。

  因为同源策略的原因,也就导致了我们的XSS Payload(XSS攻击代码)必须在我们希望攻击的同一个域下触发。例如攻击者如果想窃取在www.a.com下的cookie,那就必须在www.a.com这个域(可以是不同页面,但要保证是同一个域)下的的某一个页面放置XSS代码,可以是存储型,也可以是反射型或DOM Baesd型的。

4、xss分类

  存储型:

  反射型:

  DOM型:

  带外型:也称为二阶型、高阶型或Type III

5、总结

  这些都是一些概念上面的东西,因为网上实现很多,我就不班门弄斧了!

 

原文地址:https://www.cnblogs.com/Lzero/p/3974970.html