【HGAME2021】个人记录
Week1
Hitchhiking_in_the_Galaxy
点击链接,但是过一会显示的还是原来界面,源代码有HitchhikerGuide.php,但是没有跳转到这个界面,而且手动输入也无效

抓个包

显示状态码302,然后还有405方法错误,那就改成post

要求改User-Agent

再改Referer

加上X-Forwarded-For

flag:hgame{s3Cret_0f_HitCHhiking_in_the_GAl@xy_i5_dOnT_p@nic!}
watermelon
参考了战队里面的Wp,这里记录一下
本题纯考JS,需要在众多代码中找到有关分数增长的代码,进行修改

打了断点后就开始游戏,在需要合成加分的时候游戏就会暂停,然后此时在watch那块加入a.default.score += 1000(数字大点都行,反正超过2000就有flag)
之后每合成一次都会暂停,直接点继续就会发现分数飞涨,之后就考虑如何快速把自己憋死吧~,毕竟不结束不显示flag

如果打开环境游戏显示不全,那就需要开发者模式中的这个
,自己调整长宽成手机屏幕那样,刷新就好了


flag:hgame{do_you_know_cocos_game?}
Week2
LazyDogR4U
SQL注入随便试了一下,发现没用,那就使用目录扫描工具扫一下

访问后得到了www.zip,是网站源码
config.ini中的admin密码解不出来,放弃
在flag.php中有获得flag方法,需要$_SESSION['username'] === 'admin'

flag.php连接了lazy.php

这段里面有个过滤,是用的str_replace,那么双写就能绕过
foreach(array('_GET','_POST') as $_request){
foreach ($$_request as $_k => $_v){
是$$_request造成了变量覆盖,相当于成了$_GET或者$_POST,语句变成了$_GET/$_POST as $_k => $_v
最终的payolad:flag.php?_SESSESSIONSION[username]=admin

flag:hgame{r4U-|$4LAzy_DOG}
Post to zuckonit(未解出)
是留言板类型,考虑XSS


script被替换成了div,script的大小写也不行


iframe会被过滤,哪怕是最后的去掉了>还是一样的效果,而且http/https被过滤了,不过双写就能绕过
之后就是尝试各种标签和函数,在他人帮助下,发现img中如果用onerror会出现以on为中心镜像翻转

之后我就懵逼了,似乎需要写个脚本,然后WP也没有看懂后续如何操作

抓包得到的cookie有两段
token="WELCOME TO HGAME 2021."; session=db7e11ba-e95c-4b7b-b7a8-551bae5a08cf
MD5截断的要求是 输入的验证明文(Code)在md5加密之后截取前六位等于1929b3
200OK!!

这每点一下都是不一样的报错。。。抓个包试试看

其余部分没变化,但是status在变化,自行修改status的值也会有相应的反应,应该是SQL注入了
如果输入的值有错误就不会有显示

没有反应,也许是空格被ban了

确定是空格被ban了

order和by还没有被屏蔽,这里也测出来只有一个字段

没反应,试试看大写,得到的是NETWORK ERROR的报错,无奈之下又试试看双写,还是一样的,苦恼之时发现写出来的人用的是-1',这才发现前面需要一个没有被编写的错误出来
1对应NETWORK ERROR,2对应的是HTTP 400 Bad Request
如果用的1',本来就一个字段显示,那么事先写好的1就会占掉这个显示位置,如果改成2'那就显示HTTP 400 Bad Request
这里就需要一个没有编写指定错误的数字,比如-1,100

数据库是week2sqli

又没有显示了,那就把几个关键词都大写看看

表名f1111111144444444444g

字段名ffffff14gggggg

flag:hgame{Con9raTu1ati0n5+yoU_FXXK~Up-tH3,5Q1!!=)}
Liki的生日礼物
先要注册,登录

很明显差两张,考条件竞争,但是我菜,python脚本不会写,那就用burpsuite解决好了


这里一定要点Clear §,不然报文就有问题


之后就点击start attack

等进度条满了就直接退出burpsuite,关掉代理刷新界面

已经刷到58张了,那就愉快的买了

flag:hgame{L0ck_1s_TH3_S0lllut!on!!!}
Week3
Forgetful
随便写点什么注册登录


发现在留言板的标题(描述)处写啥都行,而且几乎没有过滤的东西,甚至还有反应,那这里就能注入(SSTI),而且在勾选未完成之后还能不断修改
{{().class.bases[0].subclasses()}}

学习了一下大佬的Wp,subclass是81也行
81->_NamespaceLoader,117->_wrap_close
{{''.class.mro[1].subclasses()[117].init.globals["sys"].modules["os"].popen('cat /flag|base64').read()}}

得到的是base64编码的flag

flag:hgame{h0w_4bou7+L3arn!ng~PythOn^Now?}

浙公网安备 33010602011771号