type
status
date
slug
summary
tags
category
icon
password
本实验目的是通过发起跨站请求伪造攻击(CSRF 或 XSRF),进一步理解跨站请求伪造攻击原理和防御措施。 跨站请求伪造攻击一般涉及受害者、可信站点和恶意站点。受害者在持有与受信任的站点的会话(session)的情况下访 问了恶意站点。恶意站点通过将受害者在受信任站点的 session 中注入 HTTP 请求,从而冒充受害者发出的请求。
lab3
这个实验只是随便记了一点过程,没有什么原理和步骤详解,但是这个实验是三个里面最简单的
用户信息:
User | UserName | Password |
Admin | admin | seedelgg |
Alice | alice | seedalice |
Body | body | seedbody |
charlie | charlie | seedcharlie |
Samy | samy | seedsamy |
站点信息:
URL | Description | Directory |
可信站点 | /var/www/CSRF/Elgg/ | |
受害站点 | /var/www/CSRF/Attacker/ | |
XSS站点 | /var/www/XSS/Elgg/ |
启动服务:
任务1:基于GET请求的CSRF攻击
登录除了Samy外的账号,添加Samy为好友,使用HTTP Headerlive插件捕获请求,得知好友ID为45:
get请求为http://www.csrflabelgg.com/action/friends/add?friend=(id号)由此在/var/www/CRSF/Attacker下构造index.html⽂件:
模拟Alice受到攻击的场景,登录Alice账号,访问www.csrflabattacker.com/index.html,发现成为Samy好友
任务2:使用POST请求的CSRF攻击
登录Samy账号,修改profile,观察请求,获取POST为http://www.csrflabelgg.com/action/profile/edit,同时提交的表单中有ID:
通过向Alice发送好友申请,得知其ID为42,由此在/var/www/CRSF/Attacker下构造index2.html⽂件:
模拟Alice受到攻击的场景,登录Alice账号,访问www.csrflabattacker.com/index2.html,发现profile被修改
任务3:实现LOGIN的CSRF攻击
同理,登录账户使用插件进行抓包,观察LOGIN操作相关请求信息:
由此在/var/www/CRSF/Attacker下构造index3.html⽂件:
模拟Alice受到攻击的场景,登录Alice账号,访问www.csrflabattacker.com/index3.html,发现登陆了Samy
任务4:CSRF防御策略
编辑php文件:
文件中找到函数
public function gatekeeper($action)
,注释掉return true:再次测试上述三种攻击,发现攻击失效
任务5:盗取受害者机器的cookie
更换网址为http://www.xsslabelgg.com,进行后续的实验
登录Samy,在其中的About me字段,先点击Edit HTML:
添加如下内容:
通过Alice登录,打开Samy主页,用插件进行抓包,发现cookie被发出了,攻击成功
监听端口,查看结果:
任务6:使用Ajax脚本进行会话劫持
登录Samy,在其中的About me字段,同样先点击Edit HTML,添加如下内容:
通过Alice登录,打开Samy主页,发现profile被修改
任务7:构造XSS蠕虫
登录Samy,在其中的About me字段,先点击Edit HTML,添加如下内容:
通过Alice登录,打开Samy主页,发现profile被修改,aboutme变成了恶意蠕虫
任务8:XSS防御策略
使⽤admin账号登录⽹址,之后点击右上⻆的Account、administation、plugins激活插件,点击Activate,让其变为Deactivate:(点一下这个按钮)
访问samy主页,点开Samy主页,发现脚本被解析为纯文本,无法产生攻击效果
开启htmlspecialchars防御:
分别去掉php⽂件中对htmlspecialchars()函数调⽤的注释,登录Samy查看脚本,发现特殊符号被转义为其他符号,脚本无法执行
- 作者:jackpai
- 链接:https://www.jackpai.life//technology/system-security-lab3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。