ctfshow web入门(21-28爆破)

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.mzph.cn/news/88845.shtml

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

相关文章

RHCE---Linux的计划任务

文章目录 目录 文章目录 前言 一.单一执行的例行性工作 at 命令 二.循环执行的例行性工作 crontab 命令 课后作业&#xff1a; 思维导图 前言 如果想要让自己设计的备份程序可以自动地在系统下面运行&#xff0c;而不需要手动来启动它&#xff0c;这是该如何处理&#xff1f…

DC/DC开关电源学习笔记(九)Buck降压拓扑原理

(九)Buck降压拓扑原理 1.概述2. Buck降压原理3. Buck电路的三种工作模式3.1 CCM3.2 BCM3.3 DCM4. 伏秒法则1.概述 Buck电路属于非隔离的直流变换器,在开关电源中广泛应用,BUCK电路是一种基于电感储能原理的DC-DC变换器,其涉及到物理中的电磁感应和电能转换的基本原理。在…

Cesium 问题:加载 geojson 数据量大浏览器会崩,使用primitive方式加载

文章目录 问题分析 问题 之前加载geojson数据都是使用dataSource和entity的方式&#xff0c;但是当数据量大时&#xff0c;浏览器就会崩掉&#xff1a;提示浏览器内存不足&#xff0c;已暂停渲染 分析 使用primitive方式加载数据&#xff0c;可以提高加载渲染效率。实现方法…

威胁追踪如何增强您的网络安全态势

网络威胁的复杂性、频率和影响正在加剧。2022 年&#xff0c;勒索软件攻击达到2.361 亿次&#xff0c;其中 39% 的英国企业遭受网络攻击。 这些攻击需要工具和资源来识别和纠正漏洞&#xff0c;以在云环境中维护强大的安全框架&#xff0c;从而降低数据泄露和合规违规的风险。…

asp.net core automapper的使用

1.安装automapper的nuget包 AutoMapper.Extensions.Microsoft.DependencyInjection 2.创建需要映射的类和转换后的类 public class studto{public int sn { get; set; }public string name { get; set; }public string sex { get; set; }public int age { get; set; }public s…

mac 配置 httpd nginx php-fpm 详细记录 已解决

在日常mac电脑 开发php项目一直是 httpd 方式 运行&#xff0c;由于有 多版本 运行的需求&#xff0c;docker不想用&#xff0c;索性用 php-fpm进行 功能处理。上次配置 是好的&#xff0c;但是感觉马马虎虎&#xff0c;这次 配置底朝天。因为配置服务器&#xff0c;几乎也都是…

List<HashMap<String,String>>实现自定义字符串排序(key排序、Value排序)

系列文章目录 SpringBootVue3实现登录验证码功能 Java实现发送邮件&#xff08;定时自动发送邮件&#xff09; 换个角度使用Redis去解决跨域存取Session问题 Redis缓存穿透、击穿、雪崩问题及解决方法 Spring Cache的使用–快速上手篇 更多该系列文章请查看我的主页哦 文章目录…

游戏技术亮点|Aavegotchi 与 GameSwift 建立合作伙伴关系

构建一个优秀的游戏只是成功发布的一部分&#xff0c;让数百万玩家体验这款游戏才是真正的乐趣所在。 这也是为什么我们很高兴宣布与 GameSwift 建立了新的合作伙伴关系&#xff0c;GameSwift 是一款先进的模块化游戏区块链&#xff0c;采用 zkEVM 技术构建&#xff0c;是全球…

实现窗口屏幕居中的C++代码源码(考虑任务栏)

本篇文章属于《518抽奖软件开发日志》系列文章的一部分。 我在开发《518抽奖软件》&#xff08;www.518cj.net&#xff09;的时候&#xff0c;需要对话框居中的功能。对话框默认是居中的&#xff0c;但是要移动对话框到第二屏并居中&#xff0c;所以要自己实现代码。通过关键函…

切割VOC的图像和他的标签

切割VOC的图像 背景代码 背景 图像及对应xml文件切割 需要将图像切分为819,819的子图像 代码 import os import xml.etree.ElementTree as ET from PIL import Imagedef crop_one_image_and_xml(image_path, annotation_path, output_path, filename):# -*- coding: encoding…

[Zer0pts2020]Can you guess it? basename特性 和preg_match 绕过

直接就可以进入看看源代码 原本以为这道题目有两个方法来做 但是 后面发现第二个没有找到漏洞 这里考点主要就是 正则和 basename的特性 首先就是正则 现在出现一个知识点 就是 /index.php/config.php 这种路径 访问的还是 index.php 我们可以试试看 还是在index.php中过…

瀑布流 - Vue3基于Grid布局简单实现一个瀑布流组件

瀑布流 - Vue3基于Grid布局简单实现一个瀑布流组件 前言 在学习Grid布局之时&#xff0c;我发现其是CSS中的一种强大的布局方案&#xff0c;它将网页划分成一个个网格&#xff0c;可以任意组合不同的网格&#xff0c;做出各种各样的布局&#xff0c;在刷某书和某宝首页时&…

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

解决方案(二)三方数据同步

三方数据同步 场景方案设计 场景 当接入第三方系统时&#xff0c;可能涉及到同步第三方的数据&#xff1b;如果第三方有主动推送机制还好&#xff0c;可以直接接收推送消息。 但是&#xff0c;有的系统并没有主动推送机制&#xff1b;还有即使有推送&#xff0c;可能也有各种…

golang工程——常用数据结构底层原理【mao、slice、func、string】

字符串 其实就是字符数组 注意 字节数组与字符串可以相互转换 a : "hello world" b : []byte(a) c : string(b)字节数组转换为字符串在运行时调用了slicebytetostring函数。需要注意的是&#xff0c;字节数组与字符串的相互转换并不是简单的指针引用&#xff0c;…

【实战详解】如何快速搭建接口自动化测试框架?Python + Requests

摘要&#xff1a; 本文主要介绍如何使用Python语言和Requests库进行接口自动化测试&#xff0c;并提供详细的代码示例和操作步骤。希望能对读者有所启发和帮助。 前言 随着移动互联网的快速发展&#xff0c;越来越多的应用程序采用Web API&#xff08;也称为RESTful API&…

分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测

分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测 目录 分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现GA-RF遗传算法优化随机森林多输入分类预测&#xff08;完整源码和数据&…

如何进一步全面提高项目估算精准度?

项目估算非常重要&#xff0c;这直接关系着项目的成本和收入&#xff0c;如果估算不准确&#xff0c;将为项目带来较大风险。一般软件规模可以用多种方式进行估算&#xff0c;但是用功能点估算方式更准确&#xff0c;而自动估算让估算更快速&#xff0c;我们以CoCode开发的估算…

【Go】rsrc不是内部或外部命令、无法将“rsrc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方法

前言 想尝试用go创建一个桌面应用程序&#xff0c;然后查了下决定用 walk。 我们要先下载walk&#xff0c;这里 官方链接 按照官方文档&#xff0c;我们先用go get命令下载。 go get github.com/lxn/walk然后分别创建好了 main.go、main.manifest 文件&#xff0c;代码如下…

libtorch之tensor的使用

1. tensor的创建 tensor的创建有三种常用的形式&#xff0c;如下所示 ones创建一个指定维度&#xff0c;数据全为1的tensor. 例子中的维度是2维&#xff0c;5行3列。 torch::Tensor t torch::ones({5,3}); zeros创建一个指定维度&#xff0c;数据全为0的tensor&#xff0c;例子…