LACTF2023 Web&Misc

Web
college-tour
签到题,只需要在源码里面找6个flag即可



flag为:
lactf{j03_4nd_j0S3phIn3_bRU1n_sAY_hi}
metaverse
给了一个bot,就猜测是XSS了。进入环境,有两个框,先看下面这个,
这里运行我们输入一些字符,然后生成一个链接。我们可以测试一下简单xss的payload
<script>alert(1)</script>

发现能够解析,尝试构造payload去弹cookie,发现有httponly。这时候才想起来去看源码.....
这里从环境变量中获取flag,并赋值给了admin的昵称

这里的friends路由
可以将当前用户的朋友们的信息打印出来,即:如果我的朋友圈有admin就可以拿到flag

下面来看如何让admin加入到我的朋友圈
注册一个用户为Le1aaaaaaaaaaaaa
,传入一个username=Le1aaaaaaaaaaaaa
,然后查询Le1aaaaaaaaaaaaa的朋友圈
是否有当前用户,如果没有则将当前用户添加到Le1aaaaaaaaaaaaa的朋友圈

所以我们把这个payload,交给admin bot去执行,我的朋友圈没有admin,则会将admin加入到我的朋友圈。然后我访问我的朋友圈即可看到admin的信息,即拿到flag
<script>
let req = new XMLHttpRequest()
req.open('POST', 'https://metaverse.lac.tf/friend')
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
req.send('username=Le1aaaaaaaaaaaaa')
</script>
因为首页也调用了friends路由
,所以直接能看到flag

flag为:
lactf{please_metaget_me_out_of_here}
后面的不会做了,等着复现。。。。
Misc
discord

flag为:
lactf{i_joined_discord_and_read_the_faq}
CATS!
给了一张图片,用exif信息识别到城市为: Lanai City
。把照片上传google搜索,这个YouTube链接特别像题目这张图。

点击进入后,下面给了该视频的出处,点击跳转到了主域:lanaicatsanctuary.org

flag为:
lactf{lanaicatsanctuary.org}