IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> ctfshow 爆破 -> 正文阅读

[Python知识库]ctfshow 爆破

Web23

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

源码:

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-03 11:43:51
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-03 11:56:11
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/
error_reporting(0);

include('flag.php');
if(isset($_GET['token'])){
    $token = md5($_GET['token']);
    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;
        }
    }
}else{
    highlight_file(__FILE__);

}
?>

分析:

给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

img

Web24

题目:爆个🔨

源码:

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-03 13:26:39
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-03 13:53:31
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/

error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
    $r = $_GET['r'];
    mt_srand(372619038);
    if(intval($r)===intval(mt_rand())){
        echo $flag;
    }
}else{
    highlight_file(__FILE__);
    echo system('cat /proc/version');
}

?> 

分析:

mt_srand(372619038)生成一个随机数

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

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

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

img

img

获得随机数1155388967

payload:?r=1155388967

img

Web25

题目:爆个🔨,不爆了

源码:

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-03 13:56:57
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-03 15:47:33
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/


error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
    $r = $_GET['r'];
    mt_srand(hexdec(substr(md5($flag), 0,8)));
    $rand = intval($r)-intval(mt_rand());
    if((!$rand)){
        if($_COOKIE['token']==(mt_rand()+mt_rand())){
            echo $flag;
        }
    }else{
        echo $rand;
    }
}else{
    highlight_file(__FILE__);
    echo system('cat /proc/version');
}	

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

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

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

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

获得第一个种子802091803

img

进行逆推

img

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

img

则符合只剩下两个\

~~~经测试是第二个

img

通过代码:

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

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

img

通过代码:

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

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

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

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

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

img

Web26

Web27

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

img

登录需要学号和密码

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

录取名单为:

img

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

img

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

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

这样可以进行爆破

进行抓包,设置爆破点

img

设置成dates yyyyMMdd

img

进行爆破

img

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

img

得到学号和密码

用户名为学号:10043419

密码为身份证号:451023199010043419

登录获得flag

img

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:28:47  更:2021-10-11 17:30:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 21:33:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计