CTFshow爆破23

满足 阅读代码可知,题目要求我们使用Get传输名为token的参数,并要求token经过md5加密得到的编码满足:第1位=第14位=第17位,并且满足数学公式 (第1位+第14位+第17位)/ 第1位 = 第31位。若传输参数值满足以上要求,则返回flag。

方法一

我们使用php代码根据要求编写脚本:

<?php
$charse='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
for($i=0;$i<strlen($charse);$i++)
{
    for($j=0;$j<strlen($charse);$j++)
    {
        $token=md5($charse[$i].$charse[$j]);
        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 $charse[$i].$charse[$j]."\n";
            }
        }
    }
}
?>

运行结果:

出现两个结果,我们任输一个都能得到结果

 

 方法二

我们使用burp suite工具的爆破模块Intruder,进行爆破

首先使用python写一个字典并储存在文档中、

string = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
for i in string:
    for j in string:
        fp=open('C:/Users/Saber/Desktop/字典.txt','a+')
        print(i+j,file=fp)
        fp.close()

在桌面上得到字典

打开burp suite,设置好浏览器代理随意传输:/?token=1234。抓包分析,将数据包发送到Intruder模块,为’1234‘ insert a new payload marker。

再在  Payloads中设置:

选择Custom iterator方式

 打开我们刚才写好的字典

 

 勾选url

开始爆破,等待爆破完成

 

 发现都是200,直接查找:ctfshow

得到结果

 

 

 自此,这道题完成!

通过这一题,巩固了php和Bp抓包工具的学习和使用,小编同时也是WEB的初学者,希望能给大家带来帮助。文章中有什么问题欢迎大家留言指出,小编会及时改正和学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Saber12_3_4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值