web

easy_auth

​ 先看一下题目,有提示

​ 尊贵的admin写了个todo帮助自己管理日常,但他好像没调试完就部署了….一个月后,当他再一次打开他的小网站,似乎忘记了密码…他的todo之前记录了很重要的东西,快帮帮他
不要爆破!

这里目标网站时在开发中的,flag应该在admin用户里。

image-20220127132929885

打开发现输入admin密码随便写一个,结果不对,那注册一个看看

注册号登录进去

image-20220127133114867.png

看了下这个页面也没什么,抓一下包发现token

image-20220127133220957

这个token是JWT,网上搜索一下进能知道只要找到了JWT的secret就可以伪造token发送到服务器通过验证了

由于题目说是还在调试当中, 猜测secret为空,试一试。

jwt.io这个网站里

image-20220127133830723

将UserName改为admin,ID改为1(最贵的admin开发者肯定是网站注册的第一个人),下面的secret为空,

将修改后的token发送

image-20220127134122639

拿到flag

image-20220127134200287

这里简单说一下原理

验证方法:首先服务端会产生一个secret,然后以这个secret作为密钥,使用第一部分选择的加密方式(这里就是HS256),对第一部分和第二部分拼接的结果进行加密,然后把加密结果放到第三部分。
因为加密算法我们已经知道了,如果我们只要再得到加密的secret,我们就能伪造数据,并且通过服务器的检查。

Tetris plus

提示说要玩够3000分,不可能的。像这类浏览器小游戏那肯定是先查看js源码。

image-20220127140709436

结果在这个checking.js文件里发现了jsfuck代码,jsfuck可以直接放到控制台运行,试试看。

image-20220127140855716

放到控制台运行拿到flag。

Fujiwara Tofu Shop

秋名山飙车啊,进去看一看。

提示说首先要到qiumingshan.net这个地方去,那么在web中的意思就是要让你的referer为qiumingshan.net

用HackBar添加请求头referer

Execute后又出现

通行证啊,那么修改一下User-Agent为Hachi-Roku即可

继续得到

要求其cookie的味道Raspberry,那么在Cookies上添加上flavor=Raspberry

之后…..还有,要求加油到100,查看请求头可以看到当前Gasoline为0

image-20220127142312068

那么在请求头里添加上Gasoline: 100即可

image-20220127142742778

之后又要求其请求从本地发出来

那可以使用伪造请求IP的方法,又如下几种

X-Forwarded-For:
X-Forwarded-Host:
X-Client-IP:
X-remote-IP:
X-remote-addr:
True-Client-IP:
Client-IP:
X-Real-IP:

全都试一遍发现只有X-Real-IP没有被ban,伪造IP为本地127.0.0.1

执行后成功拿到flag

image-20220127143402852

蛛蛛…嘿嘿♥我的蛛蛛

这题也是个小游戏,这个按钮也是越点越多,而且只有一个是真的。先玩几关看一下它响应的内容,很有规律。

每次都会在原url基础上拼接一个?key=##########。那直接交给爬虫。

image-20220127163416048

不废话,上代码。

import requests
import time
def run(url):
    newUrl = url
    while True:
        response = requests.get(newUrl)
        print(response.text[response.text.find('<h1>')+4:response.text.find('</h1>')])
        index = response.text.find('?key')# 没有找到find返回-1
        if index == -1:
            print(newUrl)
            exit(0)
        text = response.text[index:]
        newUrl = url + text[:text.find('">')]
        time.sleep(0.5)
if __name__ == '__main__':
    run('https://hgame-spider.vidar.club/90bc5cb81b')

发现在100关后面,点开爬到的url

在请求头里发现flag

Misc

好康的流量

下载附件拿到一份截获的流量,用wireshark打开用导出为邮件

image-20220128152056822

拿到涩图

这个图片试了很多方法,最后发现使用stegsolver打开发现一个条形码。

image-20220128152341206

扫码拿到一半的flag。

还有一半应该是lsb隐藏的。

image-20220128152834181

使用工具拿到另一半。(这里其实是试出来的)

饭卡的uno

下载附件使用 010editor打开就是flag

image-20220128153720642