ctfshow -web21因为是爆破模块的那么我们用bp抓包HTTP 请求头里的 Authorization: Basic ... 字段是 HTTP Basic 认证 的标准格式。我们将他后面的字段放到Decoder中进行base64解码发现有三个字段类型admin,:,123456那么我们将payload type改为custom iterator和position改为3并将题目给我们的字典导入然后我们在payload processing栏目中添加前缀内容admin:再添加上base64解码然后我们将basic后面的字段选中并且将url取消选中因为里面的会影响我们爆破并点击add我们就开始爆破我们看到状态为200的哪个点击并复制上basic后面的字段在Decoder里面用base64解码就得到了密码我们在页面中将账号密码输入我们就得到了flagctfshow -web22他说域名更新后已经失效了所以我们直接填入给出的flagctfshow -web23我们来看他的源代码只要找出合适的token那么我们抓包来爆破我们先在url中接上token123然后抓包放到intruder并且把payload type改为暴力破解长度一般为2最长为4再长就时间太长如图我们就开始爆破我们就找长度不一样的再url中接入tokenpjd我们就得到了flagctfshow -web24我们来分析代码看到输入r只要符号mt_rand()生成的数据那么我们就可以得到flag首先我们要知道mt_rand()生成的是伪随机数每次生成的都一样所以我们将上面的数字复制到代码中如下?php mt_srand(372619038); $amt_rand(); echo $a; ?进行运行就可以得到生成的随机数我们将他输入url后面我们就得到了flagctfshow -web25由代码可知我们需要满足rand0而且cookie中的token也必须合法1.当我们将r赋值为0时我们就能得到-mt_srand(),那么我们去掉-是不是就得到了mt_srand()呢接下来我们就该获取token了这里我们需要用到php_mt_seed工具我们可以再ubunto里面下载下载好之后记得要编译我们输入./php_mt_seed 后面接上你的mt_srand值然后回车一般来说php版本是7.1.0以上的我们取最下面这个2264394060放到以下脚本中?php $seedValue 2264394060.0; $seedValue (int)$seedValue; // 将浮点数强制转换为整数 mt_srand($seedValue); $rand mt_rand(); $rand1 mt_rand(); $rand2 mt_rand(); echo $rand,\n,$rand1,\n,$rand2,\n,$rand1$rand2,\n\n; ?运行得到最下面就是我们的token了然后我们在页面中使用Hackerbar来进行给cookie的token赋值然后点击execute我们就得到了flag今天的分享就到这里如果有人不会下载php_mt_seed 欢迎留言我会出一期下载的教程感谢阅读有兴趣的话点个关注哦