XSS脚本攻击

一、什么是XSS

XSS全称(Cross Site Scripting)跨站脚本攻击,XSS属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着XSS可以进行“服务端”攻击,因为管理员要比普通用户的权限大得多,一般管理员都可以对网站进行文件管理,数据管理等操作,而攻击者一般也是靠管理员身份作为“跳板”进行实施攻击。 XSS攻击最终目的是在网页中嵌入客户端恶意脚本代码,最常用的攻击代码是javascript语言,但也会使用其它的脚本语言

二、XSS漏洞出现的原因

程序对输入和输出的控制不够严格,导致"精心构造“的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害

三、XSS的危害

1.劫持用户cookie

2.框架钓鱼

3.挂马

4.键盘记录

四、XSS分类

1.反射型XSS

交互的数据一般不会被存在在数据库里面,只是简单的把用户输入的数据反射给浏览器,一次性,所见即所得。

2.存储型XSS

交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性

3.DOM型XSS

不与后台服务器产生数据交互,通过前端的dom节点形成的XSS漏洞

五、XSS可能存在的地方

1.HTML context

2.Attribute Context

3.URL Context

4.Style Context

5.Script Context

六、XSS测试方法

APPscan、AWVS、Burpsuite 等

Burpsuite、firefox(hackbar)、XSSER XSSF等

手动:最重要的是考虑那里有输入,输入的数据在什么地方输出

七、同源策略

1.什么是跨域?

当协议、主机(主域名,子域名)、端口中的任意一个不相同时,称为不同域。我们把不同的域之间请求数据的操作,成为跨域操作。

2.什么是同源策略

为了安全考虑,所有浏览器都约定了“同源策略”,同源策略禁止页面加载或执行与自身来源不同的域的任何脚本既不同域之间不能使用JS进行操作。比如:x.com域名下的js不能操作y.com域名下的对象 那么为什么要有同源策略? 比如一个恶意网站的页面通过js嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。

3.哪些不受同源策略限制

(1)<script src="..."> //加载本地js执行

(2)<img src="..."> //图片

(3)<link href="..."> //css

(4)<iframe src="..."> //任意资源

4.同源策略修改

后台设置好Access-Control-Allow-Origin,设置为*,既允许所有人访问

八、XSS绕过

1.前端限制绕过

2.大小写混合

3.拼凑绕过

4.编码

5.注释干扰后台绕过

6.htmlspcialchars()函数

九、XSS常规防范

对输入进行过滤,对输出进行html实体编码

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值