【网络攻防技术】实验七—— XSS攻击实验(Elgg)
文章目录
- 一、实验题目
- 二、实验步骤及结果
- 配置相关环境
- Task1: 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
一、实验题目
跨站点脚本(XSS)是一种常见于web应用程序中的计算机安全漏洞。此漏洞使攻击者有可能将恶意代码(如JavaScripts)注入受害者的web浏览器。
为了演示攻击者可以做什么,我们在预先构建的Ubuntu VM映像中设置了一个名为Elgg的web应用程序。我们已经注释掉了Elgg的一些保护方法,故意使其容易受到XSS攻击。学生们需要利用这些漏洞发动攻击,就像Samy Kamkar在2005年通过臭名昭著的Samy蠕虫对MySpace所做的那样。此攻击的最终目标是在用户之间传播XSS蠕虫,这样无论谁查看受感染的用户配置文件都会受到感染,无论谁受感染都会将您(即攻击者)添加到他/她的好友列表中。
二、实验步骤及结果
配置相关环境
Task1: Posting a Malicious Message to Display an Alert Window
(1)正常登录站点,这里我以samy身份登录;接下来在profile插入XSS并保存
(2)回到个人主页
Task 2: Posting a Malicious Message to Display Cookies
(1)回到编辑页面,把alert中的xss代码替换成document.cookie后保存
(2)得到cookie
Task 3: Stealing Cookies from the Victim’s Machine
(1)nc监听端口5555,xss会把Cookie发送到自己的IP:10.9.0.1
(2)开启监听后发起XSS攻击
(3)得到数据
Task 4: Becoming the Victim’s Friend
(1)在获取到接口后,需要在个人中心的about me里,插入JavaScript代码,所有访问自己的人都会触发代码调用把samy添加为朋友的接口
(2)保存后,所有访问者均会触发这段代码,我们可以用Alice登录
(3)目前没有samy,然后在newest栏目访问samy
(4)Alice不做任何操作,回到好友页
(5)Question1:Explain the purpose of Lines1 and Lines2,why are they are needed?
Answer:站点存在了CSRF防御机制,用户访问页面有个服务器下发的token值,直接构造添加朋友的url是不够的,因为不知道对方的token是多少,只是访问http://www.seed-server.com/action/friends/add?friend=59,是不够的,详见CSRF实验。
(6)Question2:If the Elgg application only provide the Editor mode for the “About Me”field,i.e.,you cannot switch to the Text mode,can you still launch a successful attack?
Answer:攻击点有很多,Brief description,Location,Interests等字段,都可以注入Script代码。
Task 5: Modifying the Victim’s Profile
(1)首先用自己的账户(samy)登录,查看修改数据的请求包
(2)由上可知,接口地址为:http://www.seed-server.com/action/profile/edit;以post方式提交数据构建一个Script
(3)Alice账户登录后访问samy,刷新个人主页,发现profile已被修改:
(4)Question:Why do we need Line1?Remove this line,and repeat your attack.Report and explain your observation
Answer: 在samy的profile about me中,插入了JavaScript代码,在提交成功后,如果samy自己访问了自己的主页,同样会触发这段代码,而这段代码的about字段是空的,只是修改了其他字段内容,所以,只要samy访问了自己的主页,那么注入的script代码会被修改为空,后续其他人访问samy也就不会触发攻击了; if判断,让代码判断当前用户的guid,如果是samy的,则不执行攻击
Task 6: Writing a Self-Propagating XSS Worm
(1) link型蠕虫
只要让代码调用自己网站的 js,再把刚刚的代码放入自己网站的 js 中即可。
(2)DOM型蠕虫
① 编辑 Samy 的 profile,使其可以把自己赋值到别人的 profile 中
② 登录 Alice 账号,查看 Samy 的 profile,看到自己的 profile 已经被修改了
③ 登录 Boby 账号,查看 Alice 的 profile,看到自己的 profile 已经被修改了
Task 7: Defeating XSS Attacks Using CSP
(1)原始状态为
(2)修改 apache_csp.conf:
(3)看到 example32b.com 的 4、5、6 变成了 OK
(4)修改 phpindex.php
(5)看到 example32c.com 的 1、2、4、5、6 变成了 OK
【网络攻防技术】实验七—— XSS攻击实验(Elgg)相关推荐
- 20155201 网络攻防技术 实验六 信息搜集与漏洞
20155201 网络攻防技术 实验六 信息搜集与漏洞 一.实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描: ...
- 网络攻防技术-Lab5-shellcode编写实验(SEED Labs – Shellcode Development Lab)
网络攻防技术实验,实验环境.实验说明.实验代码见 Shellcode Development Lab Task 1: Writing Shellcode a: The Entire Process 1 ...
- 网络信息安全(二)——ARP攻击实验演示(如何优雅切断别人网络)
大家好! 我是小黄,很高兴又跟大家见面啦 ! 今天更新的是: 网络信息安全(二)--ARP攻击实验演示. 往期检索:程序设计学习笔记--目录 本实验仅适用于学习和测试 ,严禁非法操作 ! ! ! 特别 ...
- 20169205 2016-2017-2 《网络攻防技术》第7周学习总结
20169205 2016-2017-2 <网络攻防技术>第7周学习总结 教材学习内容总结 课本第七章主要围绕windows操作系统安全攻防技术进行讲述,教材中主要涉及的攻击内容如下: W ...
- 网络攻防技术(摆烂一天)
网络攻防技术非常基础 1. 信息采集 信息采集的重点概念: 信息采集是黑客为了更有效的实施攻击而在攻击前对被攻击目标进行探测活动(信息渗透的过程) 信息采集是渗透重要的一部分:知道的越多就可能知道的更 ...
- 2018-2019-2 20189215 《网络攻防技术》第五周作业
<Python 黑帽子>第四章 代码托管:[https://github.com/jsjliyang/python3-Black.Hat/tree/master/chapter4) 教材& ...
- 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
2018-2019-2 20165315<网络攻防技术>Exp6 信息搜集与漏洞扫描 目录 一.实验内容 二.实验步骤 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫 ...
- 2018-2019-2 20189215 《网络攻防技术》第九周作业
教材<网络攻防技术>第九.十章学习 第9章 恶意代码安全攻防 9.1 恶意代码基础知识 恶意代码是指使计算机按照攻击者的意图执行以达到恶意目标的指令集.类型包括:计算机病毒.蠕虫.恶意移动 ...
- 2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165212<网络攻防技术>Exp5 MSF基础应用 攻击成果 主动攻击的实践 ms17010eternalblue payload windows/x64/m ...
- 2018-2019-2 20165312《网络攻防技术》Exp7 网络欺诈防范
2018-2019-2 20165312<网络攻防技术>Exp7 网络欺诈防范 目录 一.相关知识点总结 二.实验内容 三.实验步骤 四.实验总结及问题回答 五.实验中遇到的问题及解决方法 ...
最新文章
- 同是产品经理,为什么几年后会差距这么大?
- Android 反射、代理调用系统隐藏API方法与接口类连接Wi-Fi
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- matlab 过度曝光,MATLAB:补偿图像处理中的过度曝光/过饱和度
- PyTorch 学习笔记(五):Finetune和各层定制学习率
- 【PAT乙】1069 微博转发抽奖 (20分) set
- php 管道,PHP 进程间通信---管道篇
- MinIO之Windows环境的搭建
- Matlab遥感图像分波段,组合显示
- CREO:CREO软件之零件【模型】、【分析】、【注释】、【工具】【视图】、【柔性建模】、【编辑】、【造型】、【渲染】的简介及其使用方法之详细攻略
- 基于thinkphp6开放,免费开源可商用的兴趣社区论坛圈子小程序
- 标准数独游戏-深搜解法
- ewebeditor php漏洞,ewebeditor for php任意文件上传漏洞
- Scrapy中Spiders的用法
- 浅述Docker的容器编排
- Chemistry Methods | Image2SMILES+: Transformer-Based Molecular Optical Recognition Engine
- JS pos机- V0.2
- C++模拟扑克过五关
- python棋盘放麦粒_棋盘上的麦粒有什么问题?
- PetStore项目总结