ctf.show-web入门-爆破wp

目录

web21:

web22:

web23:

web24:

web25(未解决):

web26:

web27:

web28:


web21:

本题进题后就是一个前端登录,一般都是admin然后密码爆破的,我们输入admin和1,burp抓包后查看。

然后我找不到刚刚输入的东西,看了wp,发现就是那个Authorization。Basic应该是base64编码的意思,我们拿着后面的代码去base64解密。发现了就是我们输入的,而且格式是"admin:1"。所以我们进行爆破就可以了。但是密码要进行base64编码,并且需要一个"admin:"的前缀。直接在instruder里面是可以调的。

记得要把这里对字符的url编码给取消了,不然会爆破不出来的。

然后就开始爆破就可以了。

找到了相应编码:YWRtaW46c2hhcms2Mw==,解码发现是"admin:shark63"然后输入就可以了。

然后就得到了flag。

web22:

本题环境坏了。

web23:

进题给了源码,我们可以审计:

发现是哈希值爆破,我改了一下哈希的脚本,但是爆破不出来。因为他中间字符和字符和整形的运算好像有点乱了。我就去看了wp,这里是wp用的哈希脚本:

import hashlib

for i in range(1,10000):

    md5 = hashlib.md5(str(i).encode('utf-8')).hexdigest()

    if md5[1] != md5[14] or md5[14]!= md5[17]:
        continue

    if(ord(md5[1]))>=48 and ord(md5[1])<=57 and (ord(md5[31]))>=48 and ord(md5[31])<=57:

        if((int(md5[1])+int(md5[14])+int(md5[17]))/int(md5[1])==int(md5[31])):

           print(i)

 这里可以爆破出一个值是422。我们进去给get传参:

然后就得到了flag。

web24:

本题也是进题给了源码:

代码审计后发现,他需要一个随机数,并且该随机数播种之后,只会随机出不同的几个值。我们必须先找到其中任意一个值并进行爆破才可以。所以我们把这段播种mt_srand()代码拿到phpstorm中进行1000次循环。发现其中有几次会产生一个1155388967的数字,如图:

所以我们可以拿着这个值一次一次的尝试直到输出flag。但是我觉得太慢了。所以我就拿着这个去建了一个只有该数字的5000次的字典。拿去sniper爆破(可能有别的能重复爆破的方法,但是我还不知道)然后发现有几次输出长度不同,如图:

在长度237里面发现了flag。

web25(未解决):

进题给了源码,代码审计:

跟上题思路差不多,但是复杂了许多。

第一个if:我们需要get给r传参,并且rand的值是r减去mt_rand()的播种后的随机数,还要是rand=0。就是r=mt_rand()

第二个if:我们要用cookie给token传参,并且token=mt_rand()+mt_rand()。

我们需要找到mt_rand()的一个纯数字值,然后爆破多次才行:

232662073,这应该就是一个值,所以我们拿去爆破就行:

爆破了多次,发现并不能出答案。所以我去看了一下wp。发现由于此源码函数的原因,每个计算机都会有不同的种子。而种子会回显,我们输入?r=0

发现回显如下。说明我们播种后产生的随机数mt_rand()=1561434878。我们要用到php_mt_rand.c这个工具来反向找到播种的代码。但是我的工具用不了,所以这题先跳过。

web26:

PS:不知道本题和爆破有什么关系

进题看到一个页面,点进去有一个新的提交页面:

我输入东西的时候,他会显示错误。然后不小心没输入点了一下,发现成功了。。。

然后我就抓包再看了一下,发现成功的时候就有flag回显了:

然后就得到了flag。

web27:

进题是一个登录界面,可以下载一个文件:

然后点击学生学籍查询系统:

由于是web题,我先尝试了“高先伊”。然后身份证爆破,因为中间8位是生日,所以我们日期爆破:

然后爆破成功了,找到了用户名,用unicode解码之后,用户名和密码是:

然后登录得到flag。

web28:

由于题目又是没给提示,但是当我每次在后面修改后缀的时候,他都会自动跳回/0/1/2.txt。所以我们尝试一下在2.txt进行后缀爆破。但是一无所获。我去看了wp,发现需要在0和1的位置爆破。用Cluster bomb进行两个位置的爆破,从1-99尝试。发现在72、20可以找到:

然后就找到了flag。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值