Java教程

HGAME-week1

本文主要是介绍HGAME-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代码审计的问题:找参数和可疑的长串字符编码

  1. 找出参数或关键字
  2. 找通过条件并定位函数
  3. 找可疑的字符串(编码后的)

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}

这篇关于HGAME-week1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!