安全测试 之 安全漏洞 :XSS

1. 背景

安全测试学习

2. XSS 分类

  • 它们的区别在于攻击载荷的存储和触发方式

2.1. 反射型XSS(也称为非持久性XSS)

a. 定义

  • 反射型XSS发生在恶意脚本作为参数直接包含在请求的URL中,然后由服务器动态地包含在响应页面里返回给客户端。用户需要点击一个包含恶意链接的URL才会触发攻击。

b. 特点

  • 非持久性:恶意代码没有存储在服务器上,而是通过URL传递给受害者。
  • 一次性的:每次攻击都需要用户交互,即点击特定的链接。
  • 针对性:攻击通常针对特定的用户或目标群体,通过钓鱼邮件、即时消息等方式传播恶意链接。

2.2. 存储型XSS(也称为持久性XSS)

a. 定义

  • 存储型XSS则是将恶意脚本提交到服务器(例如,通过表单提交或评论区),并且存储在服务器的数据库或文件系统中。当其他用户访问包含此恶意脚本的页面时,脚本将从服务器取出并执行。

b. 特点:

  • 持久性:恶意脚本存储在服务器上,能够持续影响任何访问该存储页面的用户,无需再次诱导点击。
  • 广泛影响:由于存储在服务器上,任何查看受影响页面的用户都可能成为攻击目标,影响范围更广。
  • 自动触发:一旦存储成功,每次页面加载时,浏览器自动执行恶意脚本,无需用户的额外交互。

3. xss 定义

  • xss攻击又称css,全称 cross site script(跨站脚本攻击),用于对应用注入恶意代码,浏览器和服务器没有对用户的输入进行过滤,导致用户注入的恶意脚本嵌入到页面中

4. xss 危害

  • 其他用户浏览页面的时候执行任意js脚本
  • 获取用户的cookie,然后盗取用户登录态

5. 总结

反射型XSS依赖于用户点击特定链接,而存储型XSS则是在服务器上"种植"恶意脚本,等待不知情的访客触发。存储型XSS通常被认为更加危险,因为它具有持久性和自动化的特点,可能导致大规模的信息泄露或恶意操作。无论哪种类型的XSS,其核心都是利用网站对用户输入过滤不足的漏洞,注入可执行的JavaScript代码,进而控制用户浏览器会话或窃取敏感信息。

相关推荐
Irene19911 小时前
ElementPlus 与成熟后台框架对比:vue-element-plus-admin、vue-pure-admin等
前端·ui·框架·vue3
尘中客5 小时前
放弃 Echarts?前端直接渲染后端高精度 SVG 矢量图流的踩坑记录
前端·javascript·echarts·前端开发·svg矢量图·echarts避坑
FreeBuf_5 小时前
Chrome 0Day漏洞遭野外利用
前端·chrome
小彭努力中6 小时前
199.Vue3 + OpenLayers 实现:点击 / 拖动地图播放音频
前端·vue.js·音视频·openlayers·animate
2501_916007476 小时前
网站爬虫原理,基于浏览器点击行为还原可接口请求
前端·javascript·爬虫·ios·小程序·uni-app·iphone
前端大波6 小时前
Sentry 每日错误巡检自动化:设计思路与上手实战
前端·自动化·sentry
ZC跨境爬虫7 小时前
使用Claude Code开发校园交友平台前端UI全记录(含架构、坑点、登录逻辑及算法)
前端·ui·架构
慧一居士7 小时前
Vue项目中,何时使用布局、子组件嵌套、插槽 对应的使用场景,和完整的使用示例
前端·vue.js
Можно7 小时前
uni.request 和 axios 的区别?前端请求库全面对比
前端·uni-app
M ? A8 小时前
解决 VuReact 中 ESLint 规则冲突的完整指南
前端·react.js·前端框架