freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

XSS漏洞原理
新之助 2021-07-29 00:21:51 190736

XSS(Cross Site Scripting)

跨站脚本,诞生于1996年,为了防止和CSS混淆固取名XSS

攻击者向WEB页面插入前端代码(HTML、CSS、JS等),让代码可以被浏览器执行,访问该页面的用户就会被攻击一般是插入恶意JS代码。

一、基本介绍

本质: 由于过度信任用户的输入,导致对输入内容校验不严格,将用户输入的数据当作有效前端代码来执行

危害:

会话劫持,盗取Cookie,伪装用户登陆

窃取用户信息,强制弹出广告页面,页面篡改

传播跨站蠕虫,网页挂马、提权

分类:

按大类分:  可分为持久型和非持久型(又称为反射型)

按形式分: 反射型、存储型、DOM型

漏洞点:

数据交互的地方,输入框,URL参数,Cookie、POST表单、HTTP头、

翻页功能处、留言板、评论栏、UR 哈希串中

测试流程:

1.在目标站点上寻找,数据交互的地方,如:搜索框、留言板、URL参数、页码等地方

2.输入一些,特殊字符,提交后,查看源码,是否对你的输入做了处理(特殊字符过滤或转义)

3.通过搜索你的输入,查看到输出点处,是否可以对其进行标签或元素的闭合

4.构造测试代码(payload),看是否可以成功执行,执行成功则存在XSS漏洞

: 如果在输入payload时有长度限制可以直接在查看当前输入点的源码处,修改标签属性绕过限制

二、详细剖析

反射型跨站脚本(Reflected Cross-site Scripting):

也称作非持久型、参数型跨站脚本、一次性

攻击流程: 前端输入→后端解析→前端输出

原理:

将用户输入的数据通过URL的形式直接或未经过完善的安全过滤就在浏览器中进行输出

导致输出的数据中存在可被浏览器执行的前端代码;因为只执行一次,且只有用户访问

有该漏洞的URL时才会触发攻击,所以一般被攻击者用来做钓鱼使用,诱骗受害者访

问该页面,从而完成攻击

存储型跨站脚本(Stored Cross-site Scripting):

持久型、比反射型危害更大

攻击流程: 前端输入→经过后端→存入数据库→前端调用数据→前端输出

原理:

将用户输入的数据通过后端存入网站数据库中,当网页被浏览时,网页进行

数据查询展示时,会从数据库中获取数据内容并将数据内容在网页中输出展

示,只要用户浏览了包含此恶意代码的页面就会触发攻击,此XSS不需要

用户访问特定的URL就能执行,攻击者事先将恶意恶意代码提交存储到服务器中

DOM型跨站脚本(DOM Cross-site Scripting):

类似反射型XSS,只不过反射型是由后端解析输出到前端DOM型是直接由前端的JS解析后输出,一次性

攻击流程: 前端输入前端JS解析输出

原理:

类似于反射型,只不过反射型的攻击代码在URL的参数当中,

而DOM型攻击代码在URL的哈希串中(URL中#号后面的部分)

攻击者构造好带有恶意代码的URL链接,诱使用户访问带有恶意代码的URL
用户通过浏览器打开时,JS解析URL中的恶意代码并执行

# web安全 # 漏洞原理
本文为 新之助 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
WEB漏洞原理
新之助 LV.4
WEB漏洞靶场教学(适合刚开始接触的人看),从漏洞原理到手法,细节都有
  • 11 文章数
  • 4 关注者
SQL Injection(Blind)-黑盒测试
2023-04-13
SQL Injection-黑盒测试
2023-04-13
File Upload-黑盒测试
2023-04-12
文章目录