大神论坛

找回密码
快速注册
查看: 102 | 回复: 0

[原创] 对一道CTF题的flagh夺旗源码分享 附ctf题和源码

主题

帖子

0

积分

初入江湖

UID
675
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:52
发表于 2023-12-23 21:35
本帖最后由 mmortalyi 于 2023-12-23 21:35 编辑

对一道CTF题的flagh夺旗源码分享 附ctf题和源码

新人发贴,大佬轻拍

赛题

根据题意查询得到以下信息:
首批开放预约的号码为联通1709号段

然后做循环 国家号+1709+(0000000 〜9999999)做sha256加密,结果与文中Hash值匹配即可得到手机号,即是flag


PHP代码如下:


<?php

//超时
set_time_limit(0);
ini_set('memory_limit','2048M');

$num = 1;
for($num;$num <= 9999999;$num++){

//补0
if($num < 1000000){
$num = substr(strval($num+10000000),1,7);
}
$phone = '1709'.$num;

$text = hash("sha256", '861709'.$num);
if($text == 'c22a563acc2a587afbfaaaa6d67bc6e628872b00bd7e998873881f7c6fdc62fc'){
echo $phone;
}
}


后面想想,php补0可以用str_pad,就简单点

返回顶部