1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【网络攻防技术】实验七—— XSS攻击实验(Elgg)

【网络攻防技术】实验七—— XSS攻击实验(Elgg)

时间:2023-04-11 12:50:50

相关推荐

【网络攻防技术】实验七—— XSS攻击实验(Elgg)

文章目录

一、实验题目二、实验步骤及结果配置相关环境Task1: Posting a Malicious Message to Display an Alert WindowTask 2: Posting a Malicious Message to Display CookiesTask 3: Stealing Cookies from the Victim’s MachineTask 4: Becoming the Victim’s FriendTask 5: Modifying the Victim’s ProfileTask 6: Writing a Self-Propagating XSS WormTask 7: Defeating XSS Attacks Using CSP

一、实验题目

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

为了演示攻击者可以做什么,我们在预先构建的Ubuntu VM映像中设置了一个名为Elgg的web应用程序。我们已经注释掉了Elgg的一些保护方法,故意使其容易受到XSS攻击。学生们需要利用这些漏洞发动攻击,就像Samy Kamkar在通过臭名昭著的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-/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-/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)看到 的 4、5、6 变成了 OK

(4)修改 phpindex.php

(5)看到 的 1、2、4、5、6 变成了 OK

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。