LACTF2023 Web&Misc

Web

college-tour

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

1676105898176.png
1676105942766.png
1676105972195.png

flag为:

lactf{j03_4nd_j0S3phIn3_bRU1n_sAY_hi}

metaverse

给了一个bot,就猜测是XSS了。进入环境,有两个框,先看下面这个,1676106124493.png

这里运行我们输入一些字符,然后生成一个链接。我们可以测试一下简单xss的payload

<script>alert(1)</script>
1676109011655.png

发现能够解析,尝试构造payload去弹cookie,发现有httponly。这时候才想起来去看源码.....

这里从环境变量中获取flag,并赋值给了admin的昵称

1676109254694.png

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

1676109341334.png

下面来看如何让admin加入到我的朋友圈

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

1676109488839.png

所以我们把这个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

1676109869738.png

flag为:

lactf{please_metaget_me_out_of_here}

后面的不会做了,等着复现。。。。

Misc

discord

1676121276962.png

flag为:

lactf{i_joined_discord_and_read_the_faq}

CATS!

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

1676121492819.png

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

1676121549215.png

flag为:

lactf{lanaicatsanctuary.org}