2025.2.5——三、[第二章 web进阶]XSS闯关 XSS|代码审计|符号转义|沙箱逃逸

题目来源:BUUCTF  [第二章 web进阶]XSS闯关

目录

一、打开靶机,整理信息

二、解题

level 1

step 1:寻找注入点,进行注入

step 2:构造payload

level 2  简单绕过

step 1:直接上payload,看回显

step 2:查看源代码

step 3:绕过过滤

level 3 符号转义

step 1:先用payload测试

step 2:代码审计

step 3:构造payload

level 4  网页重定向

step 1:查看页面

step 2:代码审计

step 3:构造payload

level 5 getQueryVariable()函数绕过

step 1:查看新页面

step 2:代码审计

step 3:构造payload

level 6 xss模板注入(沙箱逃逸)

step 1:常用payload尝试

step 2:尝试注入

step 3:利用Angular(版本号v1.4.0-v1.4.9)沙箱逃逸

三、小结


一、打开靶机,整理信息

        仍然是一个与XSS有关的关卡,那就按流程做吧

        使用说明如下:

alert函数

1.介绍

        是 JavaScript 中的一个内置函数,用于在浏览器中弹出一个简单的警告对话框。这个对话框会显示一段文本消息,并且通常会带有一个 “确定” 按钮,用户点击 “确定” 按钮后,对话框会关闭,页面继续执行后续代码。

2.基本语法

        alert(message);

        message是要在警告对话框中显示的内容,可以是字符串、数字、布尔值等类型的数据。如果传入的不是字符串类型,JavaScript会自动将其转换为字符串。

JavaScript

        一种广泛使用的高级、动态、弱类型、基于原型的编程语言,最初是为了实现网页的交互效果而设计的,如今其应用场景已经远远超出了网页开发的范畴。

延伸到前端框架

        早期的网页开发主要使用HTML、CSS、JavaScript来实现基本的页面展示和交互功能。随着互联网的发展,网页的复杂度不断增加,前端代码变得越来越庞大和难以维护。为了解决这些问题,前端框架应运而生,它们提供了一套标准化的开发模式和工具,帮助开发者提高开发效率和代码质量。

※常见的前端框架:

1.视图层框架:React、Vue.js、Angular
2.移动端框架:React Native、Vue Native、Ionic
3.CSS 框架:Bootstrap、Tailwind CSS、Foundation
4.状态管理框架:Redux、Vuex、MobX
5.路由框架:React Router、Vue Router、Angular Router

二、解题

level 1

step 1:寻找注入点,进行注入

        同样没有注入点,看url,看起来可以传参的样子

step 2:构造payload

        第一关,直接传参,利用回显看有无过滤

<script>alert('xss')</script>

        并未过滤,第一关成功,进入下一关


        突然开窍了,xss注入核心步骤就是构造恶意脚本,而我们的恶意脚本是JavaScript语言来执行,所以学习了解JavaScript语言也是很重要的。

        比如上面第一关能注入的原因就是网站接收用户输入时,没有对输入内容进行严格的过滤,直接将输入内容存储到数据库或者作为响应返回给浏览器,浏览器会将其当作HTML和JavaScript代码来解析执行。


level 2  简单绕过

step 1:直接上payload,看回显

        没有任何显示,应该是有过滤

step 2:查看源代码

if(location.search == ""){  //location.search是window.location对象的一个属性,它返回URL中问号(?)及其后面的部分,如果URL没有查询字符串,location.search的值就是空字符串
    		location.search = "?username=xss"  //如果查询字符串为空,将其设置为 "?username=xss"
    	}
    	var username = '<script>alert('xss')</script>';
    	document.getElementById('ccc').innerHTML= "Welcome " + escape(username);
        //document.ge
小组任务分工表 总周期:2025.5.1 - 2025.7.15(共11周) 时间段 核心任务 负责人 交付物 第1周 (5.1-5.7) 1. Docker部署DVWA靶场 2. 搭建Kali渗透平台 A(组长) 《环境部署手册》 第2-3周 (5.8-5.21) 1. 手工复现10类漏洞(SQL注入/XSS/CSRF) 2. 工具链攻击(Burp Suite+SQLMap) A+B 《漏洞渗透报告V1.0》 第4周 (5.22-5.28) 1. 设计代码层加固方案 - PDO预处理(SQL注入防御) - htmlspecialchars()转义XSS防御) B 防御核心代码库(GitHub) 第5周 (5.29-6.4) 1. 开发架构层防护 - ModSecurity规则集(20条) - CSP策略部署 B+C WAF规则配置文件 第6周 (6.5-6.11) 1. OWASP ZAP扫描对比测试 2. ApacheBench性能压测 C 《安全扫描对比表》 第7周 (6.12-6.18) 1. 构建Docker沙箱镜像 - 集成漏洞/防御双模式 - 开发XSS可视化插件 C+A Docker镜像文件 第8周 (6.19-6.25) 1. 编写《DVWA漏洞修复指南》 - 含PHP/Java代码示例 - 防御决策流程图 A+C 修复指南初稿 第9周 (6.26-7.2) 1. 组织校内实训(30人参与) 2. 收集教学反馈 全员 《实训反馈分析报告》 第10周 (7.3-7.9) 1. 优化防御方案(误报率/QPS) 2. 论文初稿撰写 全员 论文初稿 第11周 (7.10-7.15) 1. 最终成果整合 2. 答辩材料准备 全员 毕业设计材料包 成员职责细化说明 成员 主责领域 详细分工 A 渗透测试 + 技术统筹 - 漏洞复现实验设计 - 工具链(Burp Suite/SQLMap)操作 - 论文攻防章节撰写 B 防御开发 + 安全架构 - PDO/XSS过滤代码开发 - ModSecurity规则编写 - CSP策略调试 C 验证 + 教学转化 - OWASP ZAP扫描/性能测试 - Docker沙箱构建 - 修复指南编写 协作关键要求 版本控制 每日代码/文档提交至GitHub私有仓库(分支:dev-a/dev-b/dev-c) 每周日合并主分支(main)并解决冲突 进度监督 每周一20:00钉钉会议:每人汇报进度(需截图证明交付物) 延期处理:单项任务延误≥2天需全组加班补足 质量检查点 第3周末:A完成所有漏洞复现(提交攻击截图) 第5周末:B提交防御代码(通过PHPUnit单元测试) 第7周末:C提供沙箱镜像(附使用手册) 风险预案: 若防御方案误报率>5%(第6周测试结果):B需精简ModSecurity规则 若Docker沙箱运行失败:C改用VMware虚拟机备份方案 任一成员进度滞后:组长A重新分配任务(如渗透报告由B协助编写) 此方案确保: ✅ 任务粒度细化到周(共11阶段) ✅ 个人职责无重叠(渗透/防御/验证分离) ✅ 交付物可量化验收(如“20条WAF规则”) ✅ 风险控制明确(技术/进度双重预案)
06-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值