ctfshow web入门 爆破 21-28

web21

刚进去就要求我们登录,这里题目给了我们一个字典,就是这个字典为什么他那么多数字中 就一个字母的密码还不明显吗。

 

这里我们使用burp拦包,这里没有发现登录的账号密码,但是有一串可疑的字符串,尝试base64解密

这我们就得到了,我们测试用的账号密码了,这里将包移到Intruder中准备爆破

设置burp,添加payload位置到这里

这里有三个步骤,首先从文件加载我们选择给我们的字典文件,下面添加我们需要添加两个一个是前缀,一个是base64加密,最下面我们把url编码取消掉

 然后我们开始爆破,选择长度不一样的包,我们就获得了flag

web22

域名失效了呃呃呃

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__);

}
?>

这里分析一下代码,他会检查md5值的第二、十五、十八个字符是否相等。如果它们相等,那么它会将这三个字符转换为整数并计算它们的和,然后将这个和除以哈希值的第一个字符,判断这个结果是否等于哈希值的第三十一个字符。

 第一种方法

肯定还是选择爆破

第二种方法

我们写脚本跑出来

import hashlib

text = '0123456789qazwsxedcrfvtgbyhnujmikolp'
for i in text:
    for j in text:
        t = str(i) + str(j)
        md5_text = hashlib.md5(t.encode("utf-8")).hexdigest()
        if md5_text[1:2] == md5_text[14:15] and md5_text[14:15] == md5_text[17:18]:
            print(t)

 

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');
} 

 get传输r=1155388967

 

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');
} 

分析一下代码,这里虽然我们无法确定种子值了,但是我们可以获得他随机值,这里随便传入一个值,我们根据值爆破他的种子

爆破工具 初次使用需要用make编译一下

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

我们获取的是rand的值,所以我们通过r传入1,那么我们获得的值就要加1,传入0不用改

这里我们先通过f12拦包,获得环境的php版本

因为这里所以rand必须为零所以我们需要传入我们获得到的随机值,因为rand上面赋值的时候已经使用过一次mt_rand,所以我们要的是让第二和第三次的值相加

if((!$rand)){
        if($_COOKIE['token']==(mt_rand()+mt_rand())){
            echo $flag;
        }
    }
<?php
 
mt_srand(3486625448); //这个种子值要看自己的
echo mt_rand().PHP_EOL;
echo mt_rand()+mt_rand();

 

web26

按照他的提示,填写,没有按照成功,怀疑是密码的问题,这里去爆破一下,没有爆破出来,这里去看看别人的,发现是7758521,这个。。太大了吧,根本爆破不出来

web27

 这里有两个一个录取名单,还有一个查询系统,查询系统需要身份证号,但是录取名单里面只有一部分,这里分析一下。

这里一部分是出生年月,这样我们就好爆破了,我的建议还是写脚本方便一点,也可以使用burp

用谷歌拦查询系统的包,然后将身份证中间的进行爆破

解密得到   恭喜您,您已被我校录取,你的学号为02015237 初始密码为身份证号码

登录获得flag

web28

这个题目的目录很不对劲,这里我们爆破目录看看,第一次爆破没有什么东西,这里我们将2.txt去掉,重新爆破,发现flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/8234.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java设计模式 07-装饰者模式

装饰者模式 套娃模式&#xff0c;直接new放构造器里面套 把抽象类聚合到它的子类里 该子类(装饰者)构造抽象类的实现(被装饰者) 一、星巴克咖啡订单项目&#xff08;咖啡馆&#xff09; 1)咖啡种类/单品咖啡&#xff1a;Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式…

【Spring】2—IOC容器

⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 如果文章对你有所帮助&#xff0c;可以点赞&#x1f44d;…

教你如何搭建物业-后勤管理系统,demo可分享

1、简介 1.1、案例简介 本文将介绍&#xff0c;如何搭建物业-后勤管理。 1.2、应用场景 该应用包含疫情上报、绿化、安保等管理功能。 2、设置方法 2.1、表单搭建 1&#xff09;新建表单【返区登记】&#xff0c;字段设置如下&#xff1a; 名称类型名称类型姓名单行文本…

静态路由的原理和配置(理论详细实验全面)

第五章&#xff1a;静态路由 目录 第五章&#xff1a;静态路由 5.1路由器的工作原理 5.1.1路由器根据路由表转发数据 5.1.2 路由信息获取的方式 5.2路由选路原则 5.2.1最长匹配原则 5.2.2路由优先级 5.2.3路由度量值 5.3静态路由 5.3.1静态路由实验 5.3.2缺省路由实…

初学对象存储OSS---学习笔记

文章目录前言一、OSS是什么&#xff1f;下面以一个小故事介绍OSS的作用&#xff1a;二、怎么使用OSS1.进入 -----> [阿里云官网](https://www.aliyun.com/)2.点击进入OSS控制台3.获取accessKeyId 和 accessKeySecret4.拿到了accessKeyId 和 accessKeySecret &#xff0c;就可…

CTP_将C++封装为Python可调用接口

目录 写在前面&#xff1a; 前置准备&#xff1a; step 1 与上期所原始代码对比分析源码 td源码 1 配置属性-》常规-》配置类型 要为 “动态库(.dll)” 2 VC目录 -》包含目录 3 VC目录 -》 库目录 4 链接器-》常规-》附加库目录 5 链接器-》输入-》附加依赖项 vnctp.h 的功…

CTF杂项提纲

CTF的杂项是涉及编码&#xff0c;图片隐写&#xff0c;音频隐写&#xff0c;压缩包分析的方向&#xff0c;本文对MISC的知识点做了一个简单列举 常见编码 ASCII 0-9,48-57 A-Z 65-90 a-z 97-122 URL url编码又叫百分号编码&#xff0c;是统一资源定位的编码方式 base16/…

leetcode每日一题:数组篇(1/2)

&#x1f61a;一个不甘平凡的普通人&#xff0c;日更算法学习和打卡&#xff0c;期待您的关注和认可&#xff0c;陪您一起学习打卡&#xff01;&#xff01;&#xff01;&#x1f618;&#x1f618;&#x1f618; &#x1f917;专栏&#xff1a;每日算法学习 &#x1f4ac;个人…

cmake 常用方法自我总结

目录 1. 编译一个库依赖另一个库 2. 把某一个CMakeLists.txt中变量设为整个工程中任意CMakeLists.txt都可以访问 3. 枚举目录下所有匹配文件 4. 拷贝文件 5. 解决方案下分Header Files&#xff0c;Source Files目录 6. 依赖头文件&#xff08;附加依赖项&#xff09; 7.…

通过阿里云函数计算解决ChatGPT API的调用问题

ChatGPT系列文章 与其被ChatGPT取代&#xff0c;不如征服ChatGPT&#xff0c;做它的主人&#xff01; 文章目录ChatGPT系列文章前言命令行部署准备工作两行命令实现部署应用中心部署使用代理访问API总结前言 自2022年11月30日 OpenAI 发布 ChatGPT 以来&#xff0c;虽然时有唱…

算法训练第四十九天 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II

动态规划part10121.买卖股票的最佳时机题目描述思路暴力贪心动态规划122.买卖股票的最佳时机II题目描述思路121.买卖股票的最佳时机 题目链接&#xff1a;121.买卖股票的最佳时机 参考&#xff1a;https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9…

entos7系统部署网站项目教程【超详细教程】

CentOS 7 系统部署项目教程 本文将介绍如何在 CentOS 7 系统上部署项目。在本教程中&#xff0c;我们将使用 Apache、PHP 和 MySQL 作为我们的主要开发工具。对于初学者来说&#xff0c;这是一个入门级的教程&#xff0c;旨在提供一些基本的概念和工具&#xff0c;以帮助您更好…

实践分享:如何在自己的App 中引入AI 画图

最近AIGC 简直是杀疯了&#xff0c;领导动不动就让我们在APP 里引入大语言模型&#xff0c;引入AI画图……说搞就搞&#xff01;本期基于最近在app 里引入AI画图小程序的操作&#xff0c;给大家做一波实践分享。 Scribble Diffusion 是一个简单的在线服务&#xff0c;它使用 A…

Kotlin 面向对象(二)

【文字内容源于《疯狂Kotlin讲义》&#xff0c;代码内容原创】 Kotlin 面向对象&#xff08;一&#xff09;_桃子不出的博客-CSDN博客 目录 四、隐藏和封装 1、包和导包 2、Kotlin的默认导入 3、使用访问控制符 五、深入构造器 1、主构造器和初始化块 2、次构造器和构…

Redis —缓存常见异常

文章目录缓存雪崩解决办法缓存击穿解决办法缓存穿透缓存穿透的两种常见情况解决办法布隆过滤器工作原理缓存雪崩 大量缓存数据在同一时间过期&#xff08;失效&#xff09;或者 Redis 故障宕机时&#xff0c;如果此时有大量的用户请求&#xff0c;都无法在 Redis 中处理&#…

父子组件传值问题

文章目录前言一、问题描述二、问题解决前言 在写毕业设计&#xff0c;涉及了一些前端Vue.js的组件传值知识并出现了相关问题&#xff0c;因此进行记录。 问题 Vue.js的使用不熟练&#xff0c;相关组件、props等掌握不清晰前端代码书写不规范 望指正&#xff01; 一、问题描述 …

php企业公司员工考勤加班系统

1、系统管理员 负责员工的基本信息管理&#xff08;包括姓名、工号、所在部门信息的添加、修改和删除&#xff09;和员工的上下班时间的添加。 公司考勤记录方式为刷上下班卡&#xff0c;卡机自动记录员工上下班时间。我直接跳过这一步&#xff0c;系统管理员每天在员工下班后直…

面试被问到:测试计划和测试方案有什么区别?

面试的时候&#xff0c;很多小伙伴都被面试官问过这个问题 “测试计划和测试方案有什么区别”&#xff1f; 到底有什么区别呢&#xff1f;我们先好好了解下这两个文档。 一、测试计划 1、测试计划是什么&#xff1f; 测试计划是组织管理层面的文件&#xff0c;从组织管理的…

派盘为您的个人数据安家

现如今,我们的生活中有着各种各样的数据。在工作中会有各种文件、邮件;在生活中则有照片和视频等。数据的来源多,时间点不一致且混乱。 数据是否能安全、稳定、长久的存储以及便捷高效的使用对我们来说相当重要。你是否经常出差需要带上电脑或者移动硬盘,想存网盘又怕丢失或…

一篇文章,弄懂蓝牙协议怎么看,进军物联网!

做过物联网相关项目的小伙伴都知道&#xff0c;避免不了和蓝牙&#xff0c;串口通信打交道。所以了解怎么看蓝牙协议基本上可以说是进军物联网的一大助力。很多新人小伙伴刚进入这个行业都是一脸懵逼的&#xff0c;特别是接入的时候&#xff0c;对方直接给了一个文档&#xff0…
最新文章