栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ctfshow 爆破

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ctfshow 爆破

Web23

题目:还爆破?这么多代码,告辞!

源码:


分析:

给token一个值,并进行md5加密

判断 第2位=第15位 并且 第15位=第18位

判断 (第2位整数值+第15位整数值+第18位整数值)/第2位整数值===第32位整数值

subset:获取字符

intval:获取整数值

python脚本:

import hashlib

dic = '0123456789qwertyuiopasdfghjklzxcvbnm'
for a in dic:
    for b in dic:
        t = str(a) + str(b)
        md5 = hashlib.md5(t.encode('utf-8')).hexdigest()
        if md5[1:2] == md5[14:15] and md5[14:15] == md5[17:18]:
            print(t)

获得以下字符串:

1m
3j
k0
kv
ll
mw

尝试后,满足条件的是3j

payliad:?token=3j

Web24

题目:爆个

源码:

 

分析:

mt_srand(372619038)生成一个随机数

如果给r的参数等于随机生成的随机数则,获得flag

提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数 因此不需要播种,并且如果设置了 seed参数 生成的随机数就是伪随机数,意思就是每次生成的随机数 是一样的

因为有了伪随机数,所以只知道第一次的随机数,然后传给r,就可以获得flag

获得随机数1155388967

payload:?r=1155388967

Web25

题目:爆个,不爆了

源码:

 

hexdec:将16进制转换为10进制

  $rand = intval($r)-intval(mt_rand());

通过这句可以通过传入r的获得的第一个随机数,然后使用php_mt_seed进行逆推,得到种子

如果 r a n d 存 在 , 则 输 入 rand存在,则输入 rand存在,则输入rand,可以将$r传入一个0,使之都为负

获得第一个种子802091803

进行逆推

通过网站的响应头发现php的版本为7.3.11

则符合只剩下两个

~~~经测试是第二个

通过代码:

if($_cookie['token']==(mt_rand()+mt_rand()))

可知需要将两个随机数相加获得cookie

通过代码:

 if((!$rand)){
        if($_cookie['token']==(mt_rand()+mt_rand())){
            echo $flag;
        }

可知rand不存在的时候才可以继续往下执行

而802091803是我们r=0时输出的随机数

使r=802091803,就可让rand=0让其不存在继续执行下面代码

然后使用burp进行修改cooke即可获得flag

Web26

Web27

题目:CTFshow菜鸡学院招生啦!

登录需要学号和密码

下面有录取名单和学生学籍信息查询系统

录取名单为:

学生学籍信息查询系统为:

学生学籍信息查询系统查询需要姓名和身份证号

录取名单则有姓名和身份证号,但是身份证号中的出生年月是没有的

这样可以进行爆破

进行抓包,设置爆破点

设置成dates yyyyMMdd

进行爆破

19901004则出现不一样,进行Unicode解码

得到学号和密码

用户名为学号:10043419

密码为身份证号:451023199010043419

登录获得flag

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号