khno / weirdJs

分享各种怪异的JS代码、各种网站攻击、以及探讨一些冷门的问题
https://github.com/khno/weirdJs/issues
25 stars 1 forks source link

如何用JS实现XSS攻击 #4

Open xsf0105 opened 5 years ago

xsf0105 commented 5 years ago

先随便写点,看的人多了再来补充:

1、一旦在DOM解析过程成出现不在预期内的改变(JS代码执行或样式大量变化时),就可能发生XSS攻击

2、XSS分类: XSS分为反射型XSS,存储型XSS和DOM XSS

1)、反射型XSS是在将XSS代码放在URL中,将参数提交到服务器。服务器解析后响应,在响应结果中存在XSS代码,最终通过浏览器解析执行。 2)、存储型XSS是将XSS代码存储到服务端(数据库、内存、文件系统等),在下次请求同一个页面时就不需要带上XSS代码了,而是从服务器读取。 3)、DOM XSS的发生主要是在JS中使用eval造成的,所以应当避免使用eval语句。

3、XSS危害有盗取用户cookie,通过JS或CSS改变样式,DDos造成正常用户无法得到服务器响应。

4、XSS代码的预防 对数据解码,再过滤掉危险标签、属性和事件等。

xsf0105 commented 5 years ago

如何用JS实现XSS?

先来理解下什么是XSS:XSS的攻击方式就是想办法让用户的浏览器去执行一些这个网页中原本不存在的前端代码

比如在论坛留言中输入:

<Script>alert(“hey!you are attacked”)</Script>

当浏览器解析到用户输入的代码那一行时,就会弹出这段内容

窃取网页浏览中的cookie值

当执行document.cookie就能获取当前网站的cookie,如果要防止用户获取,可以在服务端设置cookie的时候设置http-only,这样可以预防用户通过XSS获取

劫持流量实现恶意跳转

<script>window.location.href="http://www.abc.com";</script> 那么所访问的网站就会被跳转到abc。2011年新浪就曾爆出过严重的xss漏洞,导致大量用户自动关注某个微博号并自动转发某条微博。

18960602786 commented 1 year ago