网络攻防技术——XSS实验

一、题目

跨站点脚本(XSS)是一种常见于web应用程序中的计算机安全漏洞。此漏洞使攻击者有可能将恶意代码(如JavaScripts)注入受害者的web浏览器。

为了演示攻击者可以做什么,我们在预先构建的Ubuntu VM映像中设置了一个名为Elgg的web应用程序。我们已经注释掉了Elgg的一些保护方法,故意使其容易受到XSS攻击。学生们需要利用这些漏洞发动攻击,就像Samy Kamkar在2005年通过臭名昭著的Samy蠕虫对MySpace所做的那样。此攻击的最终目标是在用户之间传播XSS蠕虫,这样无论谁查看受感染的用户配置文件都会受到感染,无论谁受感染都会将您(即攻击者)添加到他/她的好友列表中。

二、过程

一、Task 1: Posting a Malicious Message to Display an Alert Window
在Elgg配置文件中嵌入一个JavaScript程序,这样当另一个用户查看您的配置文件时,将执行JavaScript程序,并将显示一个警报窗口。以下JavaScript程序将显示一个警报窗口:
在这里插入图片描述

回到个人主页得到结果弹窗如图:
在这里插入图片描述

二、Task 2: Posting a Malicious Message to Display Cookies
此任务的目的是在Elgg配置文件中嵌入一个JavaScript程序,这样当另一个用户查看您的配置文件时,用户的Cookie将显示在警报窗口中。这可以通过在上一个任务中向JavaScript程序中添加document.cookie
在这里插入图片描述

得到cookie如图:
在这里插入图片描述

三、Task 3: Stealing Cookies from the Victim’s Machine

在此任务中,攻击者希望JavaScript代码将Cookie发送给自己。要实现这一点,恶意的JavaScript代码需要向攻击者发送一个HTTP请求,并将Cookie附加到该请求中。我们可以通过让恶意JavaScript插入一个为攻击者的机器设置src属性的标签来实现这一点。当JavaScript插入img标签时,浏览器会试图从src字段中的URL加载图像;这将导致向攻击者的机器发送一个HTTPGET请求。下面给出的JavaScript将Cookie发送到攻击者机器的端口5555(IP地址为10.9.0.1),其中攻击者有一个TCP服务器侦听同一端口。
首先开启监听:
在这里插入图片描述

修改Alice的profile,登录samy账号点进Alice的profile:
在这里插入图片描述

在监听窗口得到返回的cookie:
在这里插入图片描述

四、Task 4: Becoming the Victim’s Friend
编写一个XSS蠕虫,将Samy作为朋友添加到任何其他访问Samy页面的用户中。这种蠕虫不会自我传播;在任务6中,我们将使它能够自我传播。在这个任务中,我们需要编写一个恶意的JavaScript程序,该程序直接从受害者的浏览器伪造HTTP请求,而不需要攻击者的干预。这次袭击的目的是让萨米成为受害者的朋友。我们已经在Elgg服务器上创建了一个名为Samy的用户(用户名是Samy)。为了为受害者添加朋友,我们应该首先了解合法用户如何在Elgg中添加朋友。更具体地说,我们需要找出当用户添加朋友时向服务器发送了什么。火狐的HTTP检查工具可以帮助我们获取信息。它可以显示从浏览器发送的任何HTTP请求消息的内容。从这些内容中,我们可以识别请求中的所有参数。
利用 js 实现 GET 方法。修改samy 的 profile 如图所示。保存后,所有访问者均会触发这段代码。

<script type="text/javascript">
window.onload = function () {
     
var Ajax=null;
var ts="&__elgg_ts="+elgg.security.token.__elgg_ts; 
var token="&__elgg_token="+elgg.security.token.__elgg_token; 
//Construct the HTTP request to add Samy as a friend.
var sendurl="http://www.seed-server.com/action/friends/add?friend=59"
  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值