Cross-Site Request Forgery (CSRF) Attack Lab网安实验

Cross-Site Request Forgery (CSRF) Attack Lab网安实验

3.1 Task 1: Observing HTTP Request.

使用F12打开网络元素,观察发送的GET和POST报文
在这里插入图片描述

在这里插入图片描述

3.2 Task 2: CSRF Attack using GET Request

/var/www/CSRF/Attacker/目录下建立index.html文件并写入JS的恶意代码。index.html是作为www.csrflabattacker.com网站服务器默认打开的文件,打开后将默认编译其中代码,通过img的特性自动发送报文。

需要root权限才能修改

在这里插入图片描述
我们打开网络抓包,并访问www.csrflabattacker.com网站,可以看到由该网站向www.csrflabelgg.com发送了add?friend=43的报文,43为Boby的Elgg网站账户id号。
在这里插入图片描述
可以看到在Alice访问www.csrflabattacker.com后相当于发送了添加Boby为好友的报文给服务器,与Boby成功成为好友
在这里插入图片描述

3.3 Task 3: CSRF Attack using POST Request

使用POST发送报文,需要先将各个参数加入到变量中,参考实验文档的格式
在这里插入图片描述
同样登录www.csrflabattacker.com恶意网站,在执行恶意代码后自动跳转回用户首页,可以发现用户的姓名与简介已经被修改了
在这里插入图片描述

Question 1: Boby does not knowAlice’s Elgg password, so he cannot log into Alice’s account to get the information. Please describe how Boby can solve this problem.
Answer 1:由于网站设计者的问题以及实验需要,发送报文不检查该报文是否为有发送该报文权限的用户,Boby只需要获得Alice的账户id即可盗用Alice权限发出修改指令

Question 2: If Boby would like to launch the attack to anybody who visits his malicious web page. In this case, he does not know who is visiting the web page beforehand. Can he still launch the CSRF attack to modify the victim’s Elgg profile? Please explain.
Answer 2: 不能,因为发送修改的报文需要id号(这里是Alice的id=42),如果要攻击其他用户,需要先获取其id并修改攻击的报文

3.4 Task 4: Implementing a countermeasure for Elgg

进入/var/www/CSRF/Elgg/vendor/elgg/elgg/engine/classes/Elgg/目录内对ActionsService.php进行修改,找到函数gatekeeper并注释掉第一行的return true,之后重复之前的攻击,可以发现攻击失败,Alice的主页没有被修改。
在这里插入图片描述
在这里插入图片描述

总结

不去管理服务器内部实现,我们只关注于向服务器发送的报文,可以发现简单的参数传递如果没有密钥的参与将会极大降低安全性

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

winnower-sliff

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值