标签:nextUrl hgame 可以 HGAME jwt js 密钥 week1
HGAME比赛,ak了第一周,记录一下
easy_auth
考点:jwt的cookie伪造
打开之后:
(一开始我也没有想到是jwt的伪造,还尝试过bp弱密码爆破,js代码审计的,浪费了好长的时间)
先尝试弱密码登录,用户名根据题目应该是admin,先后试了几个密码都不对,那就创一个账号
账号:name123 密码:name123
登进去抓包
返回了一个token,看是ey开头,查一下就知道式jwt,使用jwt的网站
可以看到:
然后开始伪造
首先ID作为admin的话,不是0就是1,试一下就可以了 ,然后username改为admin
最后还有一个密钥(密钥是最重要的,没有密钥就拿不到权限)
可以试一下弱密码(签到题都不会太难的密钥),也可以使用c-jwt-cracker爆破(这玩意我下了一晚上都没下好,真菜)
最后得出密钥不存在 (我也没想到) ,就可以得到他的token:
替换一下,重新发送就可以了
flag:hgame{S0_y0u_K1n0w_hOw_JwT_Works1l1lL}
jwt其实还有很多的攻击手法,可以具体看这个[jwt伪造]([AngstromCTF 2019]Cookie Cutter - Ye'sBlog - 博客园 (cnblogs.com))
蛛蛛...嘿嘿♥我的蛛蛛
考点:网络爬虫
从题目就可以知道应该就是爬虫了
打开之后,可以知道让你通关,所以你也可以一直通关(大概100关左右)
也可以写脚本爬虫,脚本我没找到,用了笨方法,100关通过
这里给上脚本:
import requests,regex
nextUrl = base = 'https://hgame-spider.vidar.club/xxxx'
while 1:
keys = regex.findall('<a href=\"(\S+)\">点我试试
</a>',requests.get(nextUrl).text)
if len(keys) == 0: break
nextUrl = base + keys[0]
print(nextUrl)
print(requests.get(nextUrl).headers)
flag:hgame{d08e906c45a931fef3d3b3d554a59469944ca641664095bf07d7625fe323df48}
Tetris plus
考点:js代码审计
这道相对来说比较简单,只不过是它的编码我以前没见过
打开源码,看到一个checking.js,应该就是检查游戏完成的情况,看到这个
复制一下放到控制台解码就可以了
flag:hgame{jsfuck_1s_S0_fUu1n}
这里总结一下js代码审计的问题:找参数和可疑的长串字符编码
- 找出参数或关键字
- 找通过条件并定位函数
- 找可疑的字符串(编码后的)
Fujiwara Tofu Shop
考点:HTTP请求头的应用
打开网站之后抓包:
(那就去一下秋名山)
添加 Referer:qiumingshan.net
(拿一下车神通行证)
修改user-agent:Hachi-Roku
(曲奇就是cookie)cookie是有值有名的
添加cookie:flavor:Raspberry (从这里开始出题人的脑洞开始变大了)
(又要加汽油)
添加 gasoline:100
(要从本地访问)
添加 X-Forwarded-For:127.0.0.1
(大黑客也想当车神)
被看出来了,说明XFF应该被禁用了,可以试试别的
常见的如:client-ip,X-Real-Ip
可以知道是X-Real-Ip:127.0.0.1
flag:hgame{I_b0ught_4_S3xy_sw1mSu1t}
标签:nextUrl,hgame,可以,HGAME,jwt,js,密钥,week1 来源: https://www.cnblogs.com/freshman-me/p/15862152.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。