[MRCTF2020]Ezaudit 1

news/2024/9/20 3:01:47/文章来源:https://www.cnblogs.com/z2gh/p/18303174

信息收集,伪随机数


打开之后发现什么按键都没用,直接扫目录得到了两个网址:
www.zip
login.html

<?php 
header('Content-type:text/html; charset=utf-8');
error_reporting(0);
if(isset($_POST['login'])){$username = $_POST['username'];$password = $_POST['password'];$Private_key = $_POST['Private_key'];if (($username == '') || ($password == '') ||($Private_key == '')) {// 若为空,视为未填写,提示错误,并3秒后返回登录界面header('refresh:2; url=login.html');echo "用户名、密码、密钥不能为空啦,crispr会让你在2秒后跳转到登录界面的!";exit;
}else if($Private_key != '*************' ){header('refresh:2; url=login.html');echo "假密钥,咋会让你登录?crispr会让你在2秒后跳转到登录界面的!";exit;}else{if($Private_key === '************'){$getuser = "SELECT flag FROM user WHERE username= 'crispr' AND password = '$password'".';'; $link=mysql_connect("localhost","root","root");mysql_select_db("test",$link);$result = mysql_query($getuser);while($row=mysql_fetch_assoc($result)){echo "<tr><td>".$row["username"]."</td><td>".$row["flag"]."</td><td>";}}}} 
// genarate public_key 
function public_key($length = 16) {$strings1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';$public_key = '';for ( $i = 0; $i < $length; $i++ )$public_key .= substr($strings1, mt_rand(0, strlen($strings1) - 1), 1);return $public_key;}//genarate private_keyfunction private_key($length = 12) {$strings2 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';$private_key = '';for ( $i = 0; $i < $length; $i++ )$private_key .= substr($strings2, mt_rand(0, strlen($strings2) - 1), 1);return $private_key;}$Public_key = public_key();//$Public_key = KVQP0LdJKRaV3n9D  how to get crispr's private_key???

可以看到这个代码要传入三个变量一个username,password,Private_key
但是这个private_key是随机数,同时如果我们传入正确的Private_key,只需要万能密码就可以成功查找
可以从题目最下面看到他给我们了public_key这时只需要用php_mt_seed找到种子就好了
首先用脚本给他转成脚本可以识别特征序列

str1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
str2 = 'KVQP0LdJKRaV3n9D'
str3 = str1[::-1]  # 这一行实际上并没有用到,可以移除或保留以备后用。length = len(str2)
res = ''# 遍历str2中的每一个字符
for char in str2:# 找到char在str1中的位置index = str1.find(char)# 检查是否找到了该字符if index != -1:# 添加转换后的数字序列到结果字符串中res += f'{index} {index} 0 {len(str1) - 1} 'else:# 如果字符不在str1中,可能需要处理或抛出异常print(f"Character '{char}' not found in str1.")# 移除最后一个多余的空格
res = res.rstrip()print(res)


之后直接上kali

找到种子值值后直接写码

<?php
mt_srand(1775196155);
function public_key($length = 16) {$strings1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';$public_key = '';for ( $i = 0; $i < $length; $i++ )$public_key .= substr($strings1, mt_rand(0, strlen($strings1) - 1), 1);return $public_key;
}//genarate private_key
function private_key($length = 12) {$strings2 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';$private_key = '';for ( $i = 0; $i < $length; $i++ )$private_key .= substr($strings2, mt_rand(0, strlen($strings2) - 1), 1);return $private_key;
}echo public_key();
echo "--------------------------------------";
echo private_key();


之后按照我们先前的逻辑传入数值就好了


得到flag

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

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

相关文章

新一代工程科研效率协同平台peerup

如果您是一位工程师或者科研工作者,相信您一定经历过以下几种情景: 工程类仪器和软件普遍使用门槛很高,大量时间花费在学习使用和数据获取与分析上,而不是创造性工作。软件或仪器产生的数据格式各异,很难进行统一的数据分析与处理。 使用相同仪器,不同行业,公司,项目组…

WAIC 2024,好city啊!

7月4日,“以共商促共享•以善治促善智”为主题的2024世界人工智能大会暨人工智能全球治理高/级别会议(简称“WAIC 2024”)在上海举办。天翼云携智算创新成果精彩亮相世博展览馆,全方位展现在人工智能领域的深厚实力。7月4日,“以共商促共享•以善治促善智”为主题的2024世…

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

在近日召开的第二十六届中国科协年会上,中国科协正式发布2023年“科创中国”系列榜单,榜单包括先导技术榜、新锐企业榜、融通创新组织榜、技术经理人先锋榜等。天翼云自主研发的天翼分布式云操作系统入选先导技术榜,充分展现了在科技创新方面的硬实力。在近日召开的第二十六…

搜索枚举_冯政玮

搜索枚举_冯政玮 A - 循环赛 搜索剪枝 题面 \(n\) 支队伍比赛,每两支队伍比赛一次,平 \(1\) 胜 \(3\) 负 \(0\)。 给出队伍的最终得分,求有多少种可能的分数表。 平1胜3负0指:若两支队伍打平,则各得到 \(1\) 分; 否则,胜利的队伍得到 \(3\) 分,被打败的队伍得到 \(0\) …

探索Nuxt.js的useFetch:高效数据获取与处理指南

摘要:“探索Nuxt.js的useFetch:高效数据获取与处理指南”详述了Nuxt.js中useFetch函数的使用,包括基本用法、动态参数获取、拦截器使用,及参数详解。文章通过示例展示了如何从API获取数据,处理动态参数,自定义请求和响应,以及useFetch和useAsyncData的参数选项,帮助开发…

webrtc-streamer实时播放监控

公司要做web端监控实时播放,经过调研,webrtc-streamer的方式对前后端项目侵入最少,且没有延迟卡钝的现象。 一、准备工作一个摄像头,摄像头对应的rtsp流链接,一台电脑,一个vue项目。 二、Webrtc-streamer安装及启动教程1、下载安装包下载地址:https://github.com/mpromo…

[b01lers2020]Life on Mars 1

sql注入,信息搜集打开之后大脑一片空白,不知道入手点在哪,信息什么都查不到,最后抓包抓到了东西发现抓包的时候出现了两个参数,直接在网页上访问一下发现爆装备了,在这里我卡了挺久的,最后是看其他师傅的wp发现这里是sql注入,就是一个最基础的整形注入,确定了之后我们…

东软徐洪利:应用型数商架起数据要素价值落地桥梁

“数据要素如何变现?” 这是当下东软集团联席总裁徐洪利与业界交流时,最常遇到的问题。 如同工业时代的石油——作为数字时代的生产要素,数据的重要性已经被广泛认可。但是,几乎没有客户会直接购买数据,就如同直接交易石油的生意远远低于购买石油衍生品,如沥青、燃油、塑…

GIS场景编辑如何实现?这款免费可视化工具帮你轻松搞定

在现代智慧城市、智慧交通、智慧农业等各个领域,三维GIS(地理信息系统)需求日益增多。而要实现一个完美的GIS场景编辑,选择一款得心应手的工具至关重要。目前市面上的三维GIS产品有许多,能够对GIS场景进行编辑的产品却不多,那么是否有一款工具能帮助我们进行GIS场景的编辑…

神经网络中神经元的权重更新

前段时间写过一篇介绍神经网络的入门文章:神经网络极简入门。那篇文章介绍了神经网络中的基本概念和原理,并附加了一个示例演示如何实现一个简单的神经网络。 不过,在那篇文章中并没有详细介绍神经网络在训练时,是如何一步步找到每个神经元的最优权重的。本篇介绍神经网络训…

CaiT:Facebook提出高性能深度ViT结构 | ICCV 2021

CaiT通过LayerScale层来保证深度ViT训练的稳定性,加上将特征学习和分类信息提取隔离的class-attention层达到了很不错的性能,值得看看 来源:晓飞的算法工程笔记 公众号论文: Going deeper with Image Transformers论文地址:https://arxiv.org/abs/2103.17239 论文代码:htt…