ctfshow web入门--爆破

1.web21

提示中给了一个压缩包,下载后发现是一个字典。

点击连接进去就是登录页面,但并没有给账号密码,所以直接抓包看一下。 

随便输入账号密码进行登录,抓了半天都没有抓到有用户名和密码的包,最后还是用的bp的内嵌浏览器才抓到。

疑似base64编码,所以解码试试看,发现是我们输入的账号密码,并且是账号:密码格式

然后进行爆破,这里我们采用 Custom iterator进行爆破,具体操作可参考Custom iterator的使用

状态码为200即为爆破成功。 

我们再使用爆破成功的账号密码,就能得到flag。 

2.web22

查看题目:

 这里子域名已经失效,所以题目中直接给出了答案。

3.web23

查看题目:

由于这里代码较多,可以直接选择让AI来分析。 

if(isset($_GET['token'])){ $token = md5($_GET['token']);

... }

else { highlight_file(__FILE__); }         

  • 如果用户通过 GET 请求传递了 token 参数,代码会计算该参数的 MD5 哈希值并存储在 $token 变量中。如果没有传递 token 参数,则使用 highlight_file 函数显示当前文件的源代码。

if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){ if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){ echo $flag; } }

这里有两个嵌套的条件判断:

  • 第一个条件要求 MD5 哈希值的第 2 个字符、第 15 个字符和第 18 个字符相等。
  • 第二个条件要求 (第2个字符的整数值 + 第15个字符的整数值 + 第18个字符) / 第2个字符的整数值 的结果等于 MD5 哈希值的第 32 个字符的整数值。</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值