XSS学习整理——0ctf和一只皮卡丘的死磕

这篇博客记录了作者在2018年0ctf web题中与皮卡丘的较量,主要探讨了XSS(跨站脚本攻击)的切入点分析和绕过策略,包括用户简介页面、登录后主界面的插入点分析,以及遇到的CSP策略限制。尽管尝试了多种绕过方法,但由于 CSP 的限制和浏览器缓存的禁用,未能成功实现DOM XSS。
摘要由CSDN通过智能技术生成

开始前的例行叨叨:

这次记录的是20180ctf的web题,名字不重要了,我只记得那只页面上的皮卡丘。

到比赛结束没有做出来!!在坐等wp,以后会更新。


一、题目分析

(熟悉题目的大佬就跳过吧)

1、登录界面 /game/index.php

注册和登录界面都是这一个,账号名不能特殊符号,验证码复制上到Python里直接跑即可。

不登录,则不能进入主界面,不能看用户的profile简介,直接进入会被跳转:

https://h4x0rs.club/game/?msg=Login+required

此处有漏洞,之后会专门分析。


2、登录后的主界面 /game/index.php

【1】号位置是当前的难度

【2】号位置是退出登录按钮

【3】号位置进入 /game/profile.php 个人简介页面

【4】号位置加载积分榜

【5】号位置是开始游戏按钮

【6】号位置是跳转发twitter按钮


3、个人简介页面 /game/profile

这里可以设定简介是公开还是私有,这个页面可以写入xss,但不在当前页面查看,之后做分析。


4、个人简介查看页面 /game/user.php/xxx


个人简介必须是public才会被公开,在之前profile.php写入的test123在这个页面被显示了出来。

report按钮是向管理员提交URL,管理员自动访问后XSS管理员的cookie。

report会提示缺少验证码,这是由于人机验证用了谷歌api,在墙内无法获取,我用墙外VPS提交的URL。

提交成功则显示:

意思是我们会看的,但是注意我们不会在这个上面做任何交互。也就是不能指望自动点一些弹框之类的,必须点开url就能自动xss出cookie。



5、游戏页面 /game/index.php

点击了箭头开始游戏,一开始还不知道游戏怎么玩,后来发现是输入英文名,等几秒就自动提交了。

还发现个api能直接给自己升级,但最高升三级就无效了。

升级让自己上排行榜貌似并没有什么作用,只能让别人知道你的用户名,看看个人简介而已。

https://h4x0rs.club/game/login.php?action=upgrade&level=1






二、插入点分析

1、用户简介界面插入 /game/user.php/xxxx(用户名)

在/game/profile.php中,写自己的简介,发现完全无过滤,任何字符随便写,但就是执行不了。

因为响应包头做了CSP策略,CSP(Content-Security-Policy)在响应头中规定各种资源允许加载的白名单。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值