爆破
Web21
题目:爆破什么的,都是基操 进去以后我们看到一个登录界面需要我们输入账号和密码,那我们就抓个包看看他是怎么传输账号名和密码的,看到其中有authorization字段,可以进行爆破

Authorization字段存放的是鉴权信息,主要包括两部分:
- 鉴权类型
最主要的鉴权方式是Basic 和 Bearer,表示使用的基本身份认证或持有人身份认证。
- 鉴权凭证
- 对于 Basic 鉴权,凭证是用户名和密码使用Base64编码的字符串。
格式为:Basic base64(username:password)
- 对于 Bearer 鉴权,凭证是授权服务器(如 OAuth 服务器)颁发的访问令牌。
格式为:Bearer access_token
例如:
- Basic YWRtaW46cGFzcw==
- Bearer f234jf23jf4jf2j34
所以,通常Authorization字段的内容如下:
- Basic YWRtaW46cGFzcw== 表示使用基本身份验证,用户名admin,密码pass
- Bearer f234jf23jf4jf2j34 表示使用持有人身份认证,令牌为 f234jf23jf4jf2j34

所以这里显然是一段base64编码,我们把他进行base64解码,发现内容就是我们刚才输入的账号和密码
所以我们如下进行操作

选择要爆破的内容

选择所给的字典

选择爆破内容的格式与编码方式

然后我们在之前的两个页面中点击start attack即可开始爆破,我这里是80端口而不是教程中的8080端口

这里我们可以看到已经获得了正确的响应,我们已经找到了密码
拿这里得到的账号密码进行登录,即可看到flag
flag:ctfshow{21f69624-cb0d-4374-ba20-1da5d7197ee9}
Web22
题目:域名也可以爆破的,试试爆破这个ctf.show的子域名
好像这个域名已经失效了,不过我们可以在ctfshow网站的vip区域的上方看到flag
flag:flag{ctf_show_web}
Web23
题目:还爆破?这么多代码,告辞!

这里我们可以看到在弹出flag之前会进行一个对token参数的验证,我们只要写出找出能通过该验证的数字就可以了

这里我们先把这一段验证代码改成了python代码,在前10000个数字内进行寻找,找到了422和1202两个值

传入任一值为token即可获得我们的flag

还有一种是写php代码解决,这里我用小皮面板搭建了一个本地服务器,写了php代码在本地服务器上运行,也得出了一样的答案
flag:ctfshow{2a6d7f5f-a034-4230-a5b4-b8a8402cf4c3}
Web24
题目:爆个锤子

这里利用了mt_srand()函数来由题目给的种子来生成一个随机数来检验参数r,种子都给到了那就很好解决了,我们也根据这个种子生成一个随机数即可

写了个php代码跑了一下随机生成的结果

但是发现将这个参数赋给r以后并不能得到flag

了解了一下后发现,php的版本不同,生成的随机数也会不同,更改php版本后再进行了尝试生成随机数

这次成功获得了flag
flag:ctfshow{23aac0a7-fed9-4ccf-bddc-42a0b9bee73f}
Web25
题目:爆个🔨,不爆了

看这个代码,这里有两层判定,这个时候就是一定程度上考验读代码能力的时候了

这个时候我们如果给r赋值为0,页面弹出的就是第一次随机之后的值(原因自己去看代码)

然后我们尝试将token放到cookie里面去发现

我们把token赋值为随机数的两倍发现无法成功,然后发现mt_rand每一次的结果都不一样,这也解释了我之前对mt_rand和mt_srand之间关系的问题

那这个时候我们就要通过第一次随机的结果把种子爆破出来,这时候我们要用到一个工具,php_mt_seed

我们把第一次的随机数作参数传给文件进行运行,得到四个结果

挨个写入右边的代码去试

最后试出使用最下面一个结果写入php文件得出的token值写入时,我们可以得到flag
flag:ctfshow{cc1cb191-66cd-480e-a3ff-ea9324eaaccc}
Web26
题目:这个可以爆

这道题我做的时候走了很多的弯路,去详细看了源代码,看到了一长串的js代码,尝试分析了好久,其实只要把密码爆破一下就可以了

把其他标识符改成默认的

爆破密码成功得出flag
flag:ctfshow{821fad08-6df5-477d-b3f1-941a90a61076}
Web27
题目:CTFshow菜鸡学院招生啦!

我们进去以后看到一个学生登录界面,但是我们没有相关信息,我们可以看到这里有个表可以下载,打开后看到有学生姓名和少8位的身份证号

还有一个只需要姓名和身份证就可以查学号的界面,wp中是先以py算出符合校验位的身份证号再进行爆破,我这里就直接爆了,时间稍微长一点但是不用写代码 我们可以看到有一条和其他不一样,拿出来用即可

得到了学号

登录后得到了flag
flag:ctfshow{dafe318c-8c3f-4f68-8e91-56a9050e3a1c}
Web28
题目:大海捞针

抓个包先

对着两个目录进行数字上的爆破

拿到了flag
flag:ctfshow{25f4f1b0-054a-478e-8281-c49c745ebe96}