博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习xss的一些记录(一)
阅读量:5948 次
发布时间:2019-06-19

本文共 1267 字,大约阅读时间需要 4 分钟。

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

xss是什么

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

xss具体是怎样的

解释太抽象,我要来点案例

下面的一个例子来自这里,借用一下大神的例子,

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

clipboard.png

比如输入abcd123,就显示成这样了,

clipboard.png

因为你的输入比较正规,所以没什么问题,那如果你输入一些邪恶的呢,比如说下面这个

clipboard.png

那就执行了一段脚本了,这里是一个弹出框,只是用来说明这个脚本执行了,实际攻击中并不是这样用的,因为弹个框没意义,哈哈。但如果这里不是弹出框而是获取cookie呢,如果这段内容还可以被其他用户看到的话,那就可以得到其他用户的cookie了,可以利用这个cookie去登录其他用户的账号,可以看到不该看的,想想就有点小激动有没有。

xss居然还有分类

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

反射型XSS

原理是这样的:

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

解释来自于这篇文章,

这里可以看出是通过修改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后端处理和前端处理的问题。

转载地址:http://bhsxx.baihongyu.com/

你可能感兴趣的文章
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
sed处理文本
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>