学习xss的一些记录(一)

最近正在学习关于xss的一些知识,做为一个前端开发者,这个知识也是基础的,之前也没怎么好好学习与总结,深感惭愧,接下来的几天时间好好补习下。javascript

xss是什么

xss的全称是Cross Site Scripting,即跨站脚本。攻击者经过向要攻击的网站中插入一些恶意html,或者js代码,来达到攻击这个网站的其余用户的目的。html

xss具体是怎样的

解释太抽象,我要来点案例
下面的一个例子来自这里,借用一下大神的例子,传送门前端

1.看下面这个表单,它的功能是在输入框中输入一些内容,点提交后,下方会显示你刚才的输入
clipboard.pngjava

好比输入abcd123,就显示成这样了,
clipboard.pngweb

由于你的输入比较正规,因此没什么问题,那若是你输入一些邪恶的呢,好比说下面这个数据库

clipboard.png

那就执行了一段脚本了,这里是一个弹出框,只是用来讲明这个脚本执行了,实际攻击中并非这样用的,由于弹个框没意义,哈哈。但若是这里不是弹出框而是获取cookie呢,若是这段内容还能够被其余用户看到的话,那就能够获得其余用户的cookie了,能够利用这个cookie去登陆其余用户的帐号,能够看到不应看的,想一想就有点小激动有没有。后端

xss竟然还有分类

据说xss分为反射型XSS,储蓄型XSS,DOM XSS,哎哟有三种啊,他们都是什么鬼啊,应该要细细讲来。浏览器

反射型XSS

原理是这样的:服务器

Hacker——发现存在反射XSS的URL——根据输出点的环境构造XSS代码——进行编码、缩短(无关紧要,是为了增长迷惑性)——发送给受害人——受害打开后,执行XSS代码——完成hacker想要的功能(获取cookies、url、浏览器信息、IP等等)cookie

解释来自于这篇文章,传送门

这里能够看出是经过修改url的方式,由于url的参数可能在页面中用到,那咱们就能够在参数中加一些恶意代码,当受害人访问这个连接的时候,这个恶意代码就执行了,固然首先要把这个url发给受害人。

储蓄型XSS

储蓄型也叫持久型,什么状况下才能持久呢,那就是被保存到数据库中了,或者说被后端保存起来了。

原理应该是这样的:

Hacker——发现存在储蓄型XSS的表单或者能保存到后端的地方——根据输出点的环境构造XSS代码——受害人访问这个输出点,执行了XSS代码——完成hacker想要的功能(获取cookies、url、浏览器信息、IP等等)

好比说有一个留言板,你们均可以留言,能够想到这个留言是要保存到后端的,若是这个留言板有xss漏洞的话,咱们发表一些恶意代码,而后恶意代码就被保存到服务器上了,当别人访问的时候,恶意代码执行,而后中招。

DOM XSS

参考文章

看了一些文章以后,感受到DOM XSS也是反射型XSS的一种,由于他的攻击方法也是在url上加参数,可能这个不一样点在于对这个参数的处理上吧,反射型XSS应该是后端处理上,DOM XSS应该是javascript基础上处理的,二者差异不大,但与储蓄型xss却又明显区别,差很少是这样。

今天就先记录到这里,搞懂xss是什么和大概攻击情况的问题,下一篇来记录xss后端处理和前端处理的问题。

相关文章
相关标签/搜索