XSS

XSS叫做跨站脚本攻击,分为三类,存储型XSS,反射型XSS和DOM型XSS。

XSS的本质:恶意代码未经过滤,与网站正常的代码混在一起,导致恶意代码随着正常代码的执行被执行。恶意代码在用户的终端执行,可以获取用户信息,或者冒充用户做一些事情。

存储型XSS的攻击步骤:

1、攻击者将恶意代码提交到目标网站的数据库中。

2、用户打开目标网站,网站服务端将恶意代码从数据库中取出,拼接在html中返回给浏览器。

3、用户浏览器接收到响应执行代码,其中恶意代码也被执行。

4、恶意代码窃取用户数据,或者冒充用户行为。

反射型XSS的攻击步骤:

1、攻击者构造出包含恶意代码的url;

2、用户打开带有恶意代码的url时,网站服务器端将恶意代码从url中取出,拼接在html中返回给浏览器。

3、用户浏览器接收到响应后解析执行,恶意代码也被执行。

4、攻击者窃取用户信息或冒充用户身份

反射型XSS和存储型XSS的区别:存储型XSS的恶意代码存在数据库中,反射型XSS的恶意代码存在url中。

反射型XSS常见于通过url传递参数的功能,网站搜索,跳转等。用户主动点击恶意url才能生效,post的内容也可以触发反射型xss。

DOM型XSS

DOM型XSS的攻击步骤:

1、攻击者构造出包含恶意代码的特殊url;

2、用户打开带有恶意代码的url;

3、用户浏览器接收到响应后解析执行,前端JS取出URL中的恶意代码并执行。

4、恶意代码窃取用户数据或者冒充用户的行为。

DOM型XSS与反射型XSS以及存储型XSS的区别:DOM型XSS中,取出和执行恶意代码都在浏览器端执行,属于前端JS的自身漏洞,其他两种XSS都有服务器取出,属于服务端的安全漏洞。

防止XSS攻击:输入过滤,输出编码。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容