ctfshow web入门(21-28爆破)

news2024/11/26 17:35:42

web21

抓包

进行了base64加密,解码后发现账号和密码格式是

账号:密码

爆破

位置一开始选错了,应该是不含Basic的

模式选择custom iterator(自定义迭代器)
自定义迭代器可以自定义拼接方式

分别设置三个位置,第一个位置为admin

 

第二个位置为:

第三个位置

导入他下载的字典

选择base64解密 ,去掉url编码

web22

域名也可以爆破的,试试爆破这个ctf.show的子域名

环境没了

web23

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

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 加密,且它的第一位 = 第十四位 = 第十七位,化为整数后(第一位 + 第十四位 + 第十七位)/ 第一位 = 第三十一位,则可获得 flag。

<?php
for($i=0;$i<10000;$i++)
{
	$token = md5($i);
    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 'token='.$i.'&'.'md5='.$token;
        }
    } 
}
?>

得到token为422

传参

web24

爆个🔨

环境

e第一次看到这个函数,还以为是他打错了哈哈哈哈

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

主要参考CTF_Web:php伪随机数mt_rand()函数+php_mt_seed工具使用_星辰照耀你我的博客-CSDN博客

简单来说就是说如果有mt_srand函数的话,就是有了种子,生成的随机数是固定的。但是如果没有这个函数,随机数每运行一次都会发生改变

题目就是要让r等于生成的随机数

ok了

web25

爆个🔨,不爆了

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

 没有给出seed,所以我们需要通过工具推出seed

php_mt_seed

拖进kali,解压

make

随便传个参,r=0

输入 ./php_mt_seed 随机数 ,开始爆破。

发现有很多个seed,查看网络看一下php的版本

看到php的版本是7.3,所以可能的种子就是2166812886和2550700805

 写个脚本,试了第一个种子不行。

第一个得到的是r,第四个是cookie的token

因为只有在$rand不存在时,$_COOKIE['token']==(mt_rand()+mt_rand() 才能执行,而1722723182是我们在传?r=0时页面输出的随机数

此时的$rand = mt_rand()即第一个生成的随机数,因此只要我们使$r=mt_rand()=1722723182,就能让$rand=0,不存在,从而执行接下来的代码

web26

这个可以爆

打开

开始安装,跳转到了install.php

查看页面源代码

function check(){
			$.ajax({
			url:'checkdb.php',
			type: 'POST',
			dataType:'json',
			data:{
				'a':$('#a').val(),
				'p':$('#p').val(),
				'd':$('#d').val(),
				'u':$('#u').val(),
				'pass':$('#pass').val()
			},
			success:function(data){
				alert(data['msg']);
			},
			error:function(data){
				alert(data['msg']);
			}

		});
		}

没懂

'a':$('#a').val()是一个 JavaScript 代码片段,其中使用了 jQuery 库的语法。

  • $ 符号是 jQuery 库的别名,用于选择 HTML 元素。
  • $('#a') 表示选择具有 id 属性为 "a" 的 HTML 元素。
  • .val() 是 jQuery 提供的一个方法,用于获取元素的值。
  • jQuery 是一个 JavaScript 库。

所以,'a': $('#a').val() 这段代码的意思是获取具有 id 为 "a" 的 HTML 元素的值,并将其作为键 "a" 的值。通常这是在处理表单数据时使用的,可以获取用户在输入框中输入的值。

https://www.cnblogs.com/peterzhangsnail/p/10054533.html

这里就是第一种

审计一下代码,因为正确和错误都是返回一样的msg,所以这几个参数可以随便给,但是如果要过pass的值,u的值就一定要为admin

web27

CTFshow菜鸡学院招生啦!

ok 打开是个登录平台

下面有录取名单,意思就是要爆破随便一个人的身份证中间出生年月日

点击学籍查询系统

用火狐抓不到post的包,用了谷歌

抓到包,a和p参数

要爆破p中间几位,选择位置,以及爆破方式

uncode解码

ok登陆成功

web28

大海捞针

打开,确实有点奇怪/0/2

一样抓包一下

选择爆破的位置,以及爆破的方式要换成cluster bomb

 两个位置都选numbers,步长为1

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HONEYWELL 0574-A-012 0574-A-0131 工控DCS系统模块

工业控制分布式控制系统&#xff08;DCS&#xff09;模块是用于自动化和监控工业过程的关键组件。它们具有多种功能和特点&#xff0c;以满足工业自动化的不同需求。以下是工控DCS系统模块的一些常见产品特点&#xff1a; 分布式控制&#xff1a;HONEYWELL 0574-A-012 0574-A-0…

外汇天眼:多平台涉嫌欺诈,各监管机构出手打击!

在当今快速发展的金融领域&#xff0c;随着外汇和加密货币市场的崛起&#xff0c;投资者们享受到了前所未有的多元化投资机会。然而&#xff0c;这个多元化的市场也引来了一些不法分子&#xff0c;威胁着投资者的资金和信任。就在上周&#xff0c;多个平台涉嫌欺诈&#xff0c;…

VBA学习方法3.2.4:VBA中的查找操作

【分享成果&#xff0c;随喜正能量】一旦被欲望的毒箭射中&#xff0c;心会变得麻木&#xff0c;失去觉知&#xff0c;甚至疯狂。如果没有及时清醒&#xff0c;就会如同爱美的飞蛾扑向火焰、贪吃的鱼儿被鱼钩钓起&#xff0c;当发现自己身处险境时&#xff0c;后悔也来不及了。…

nodeJs+jwt实现小程序tonken鉴权

nodeJsjwt实现小程序tonken鉴权 自我记录 config\config.js // 配置文件 module.exports {DBHOST: 127.0.0.1,DBPORT: 27017,DBNAME: test,secret: xxxxx,// 小程序的appSecretAppID: xxxxx,// 小程序的appId }token中间件 middlewares\checkTokenMiddleware.js //导入 jwt…

密码学【第一节:密码学概述】

前言 在区块链的整个体系中大量使用了密码学算法&#xff0c;比如用于 PoW 的哈希算法&#xff0c;用于完整性验证的 Merkle Tree&#xff0c;用于交易签名与验证的数字签名算法&#xff0c;用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石&#xff0c;而区…

AIRIOT亮相IOTE2023深圳物联网展,产品创新力再获“IOTE金奖”

9月20-22日&#xff0c;IOTE 2023第二十届深圳国际物联网展在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为物联网领域年度最重要的行业盛会之一&#xff0c;本届展会以“IoT构建数字经济底座”为主题&#xff0c;汇聚全球来自工业、物流、基建、智慧城市、智慧…

java项目之旅游景点线路网站(ssm源码+文档)

项目简介 旅游景点线路网站实现了以下功能&#xff1a; 管理员&#xff1a;个人中心、会员管理、景点分类管理、旅游景点管理、旅游线路管理、系统管理。会员&#xff1a;个人中心、旅游景点管理、旅游线路管理、我的收藏管理等操作。 &#x1f495;&#x1f495;作者&#x…

OSPF特殊区域NSSA和Totally NSSA详解及配置

本文主要介绍OSPF中的另外一种特殊区域&#xff1a;NSSA以及Totally NSSA区域。 如下图&#xff1a; 当AR1和AR3同时连接到某一外部网络&#xff0c;AR3引入外部路由到OSPF域&#xff0c;AR1所在的Area 1为减小LSDB规模被设置为Stub或Totally Stub区域。这时&#xff0c;由于…

滴答定时器SysTick和os_cpu_a.asm(UCOS的移植)

一、滴答定时器SysTick 滴答定时器是一个 24 位的倒计数定时器&#xff0c;当计到 0 时&#xff0c;将从 RELOAD 寄存器中自动重装载定时器初值&#xff0c;只要不把它在 SysTick 控制以及状态寄存器中的使能位清零&#xff0c;就将永久不息。SysTick 的最大使命&#xff0c;就…

Windows Server 2022 安全功能重大更新

这篇文将介绍 Windows Server 2022 中的一些新增的安全功能&#xff0c;在 Windows Server 2019 的强大基础之上引入了许多创新功能。 文章目录 一、传输&#xff1a;Windows Server 2022 上默认启用 HTTPS 和 TLS 1.3二、安全 DNS&#xff1a;通过基于 HTTPS 的 DNS 实现 DNS…

基于SpringBoot的CSGO赛事管理系统springboot20

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

功率放大器是不是越大越好用

功率放大器的大小是个相对的概念&#xff0c;没有绝对的“越大越好用”的说法。不同的应用场景和需求需要不同大小的功率放大器&#xff0c;因此选择适合的功率放大器是很重要的。 我们需要明确功率放大器的作用是对信号进行放大&#xff0c;使其能够驱动负载。因此&#xff0c…

c++均值滤波:cv::blur

c均值滤波&#xff1a;cv::blur cv::blur 是 OpenCV 中用于进行均值滤波的函数。均值滤波是一种基本的图像平滑处理方法&#xff0c;它用于减小图像中的噪声&#xff0c;平滑图像并模糊细节。 以下是 cv::blur 的一般形式&#xff1a; void cv::blur(cv::InputArray src, cv…

百分比组件

//组件 <template><div :class"className" :style"{ height: height, width: width }" style"overflow: hidden;" /> </template><script> export default {props: {className: {type: String,default: "chart&quo…

springboot+vue+java天气预报管理系统1439

本天气管理系统使用了开源框架SpringBoot开发实现了天气管理系统&#xff0c;并且使用了开发工具idea和数据库MySQL。在开发实现天气管理系统之前&#xff0c;需要对系统进行需求分析和调研&#xff0c;从而分析出天气管理系统需要具备什么样的功能&#xff0c;设计出对应的总体…

U盘数据防泄密软件(U盘防泄密加密软件都有哪些?)

随着科技的发展&#xff0c;U盘已经成为了我们日常生活中不可或缺的一部分。然而&#xff0c;U盘的便捷性也带来了安全隐患。为了保护您的数据安全&#xff0c;U盘防泄密加密系统应运而生。本文将从三个方面为您介绍U盘防泄密加密系统是什么、有哪些以及能做什么。 一、U盘防泄…

DataX: Ⅱ

序言 这里使用的是master分支,因为官网上并没有release分支,所以先用master分支吧,可能会有问题cuiyaonan2000163.com 参考资料: https://github.com/alibaba/DataXhttps://github.com/alibaba/DataX/blob/master/introduction.md --插件说明文档 源码打包 首先下载 Git…

二、VXLAN BGP EVPN基本原理

VXLAN BGP EVPN基本原理 1、BGP EVPN2、BGP EVPN路由2.1、Type2路由——MAC/IP路由2.2、Type3路由——Inclusive Multicast路由2.3、Type5路由——Inclusive Multicast路由 ————————————————————————————————————————————————…

static const char* 和const char*有报错,发生访问冲突

const char *srcfilere aByteArray.data(); 当重复某一操作时&#xff1a;有报错&#xff0c;发生访问冲突 const char *srcfilere aByteArray.data(); 即可解决访问冲突问题。 困扰了至少一天吧 应该是static的问题&#xff0c;吃了基础不好的亏。