反射型、存储型、DOM类XSS原理
反射型、存储型、DOM类XSS原理
目录
一、理解XSS:
1.1、介绍:
跨站脚本攻击,英文全称(Cross-Site Scripting),缩写为CSS(因为层叠样式表Cascading Style Sheets,缩写为CSS),所以就改为XSS了。
它也是代码注入的一种,XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
1.2、原理:
由于服务器对用户提交的数据过滤不严,导致用户将恶意Script代码插入到Web页面的HTML代码中,并被浏览器当成了JS代码并返回给客户端执行,进而实现对了客户端的攻击
(注:XSS跨站漏洞利用不仅仅限于JavaScript语言,还包括flash等其它的脚本语言)
1.3、利用地方:
现代网站为了提高用户体验往往会包含大量的动态内容,即Web应用程序根据用户环境和需要来输出相应的内容。
经常遭受跨站脚本攻击的典型应用有:邮件、论坛、即时通信、留言板、社交平台等。
浏览器URL地址中提交了参数的地方
留言、提交表单、订单……
1.4、成功执行条件:
1、成功在web页面中插入恶意代码
2、被插入的恶意代码能够被浏览器成功执行并返回给用户
3、等待或欺骗用户去访问含有XSS漏洞的页面
1.5、XSS跨站危害:
窃取cookies
读取用户未公开的资料
模拟GET、POST请求操作用户的浏览器。使用JavaScript模拟浏览器发包
钓鱼、挂马
通过CSS,来发现用户曾经访问过的网站
劫持浏览器会话,达到执行任意操作,如非法转账、发送电子邮件等
进行大量的客户端攻击,如DDoS攻击
获取用户电脑的真实IP
重定向页面
获取键盘记录
1.6、利用的过程:
第一步:先判断是否可能存在XSS漏洞
就是进行上传一些特殊的数据字符等,查看是否上传成功(即检测是否存在过滤机制)
如果没有过滤机制,则说明可能存在XSS漏洞
第二步:构造漏洞利于语句
视情况而定,根据不同的XSS分类,进行区别对待
二、XSS分类:
按漏洞成因:
分为反射型、存储型、DOM型。
输出点的不同:
输出在HTML属性中、输出在CSS代码中、输出在JavaScript中
三、漏洞成因分类
3.1、分类:
是否存储在服务器中:反射型XSS、存储型XSS
第三类:DOM型XSS(基于DOM树)
3.2、反射型XSS(非持久型):
3.3、存储型XSS(持久型):
3.4、DOM型XSS:
- 点赞
- 收藏
- 关注作者
评论(0)