CTFshow 爆破 web25
源码
/*
# -*- 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()); #r-第一次随机数if((!$rand)){if($_COOKIE['token']==(mt_rand()+mt_rand())){ #token==第二次和第三次随机数之和echo $flag;}}else{echo $rand;}
}else{highlight_file(__FILE__);echo system('cat /proc/version');
}
Linux version 5.4.0-88-generic (buildd@lgw01-amd64-008) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 Linux version 5.4.0-88-generic (buildd@lgw01-amd64-008) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021
mt_srand()是伪随机,通过分发种子,如果有种子的话,生成随机数的值也是固定的,生成的值也和php的版本有关
没什么思路,看了下hint
通过代码审计发现,r=0的时候,rand的值为第一次生成随机值的相反数,通过php_mt_seed(点击链接下载) 脚本来生成种子
这里用的是kali
tar -zxvf php_mt_seed-4.0.tar.gz
su root #需要root用户权限
cd php_mt_seed-4.0
make
./php_mt-seed 输入第一次生成的随机值
得到不同版本的随机值
用Google的Wappalyzer插件可以看到php版本为7.3
因为hexdec是把16进制转换为10进制,我们先尝试1372675821
由于if((!$rand))才能执行,rand要为0才行,所以r要为生成的第一次随机数值,token为第二次和第三次随机值相加才能获得flag
用bp抓包,直接拿到flag
CTFshow 爆破 web25相关推荐
- ctfshow 爆破(web入门)
目录 web21 web22 web23 web24 web25 web26 web27 web28 web21 打开题目显示要登陆密码 随便输入123,123抓个包试试,发现Authorizatio ...
- ctfshow 爆破 web21-web28
爆破 爆破考察手段 burp intruder的使用 编写脚本寻找满足条件的解 伪随机 web21 burp抓包,发送到intruder模块,利用题中给出的脚本进行爆破,注意通过payload加工模块 ...
- CTFshow 爆破 web28
尝试改了下txt名称 发现报错 去掉2.txt返回403,尝试用bp爆破下目录 /X/X/ (/72/20/),拿到flag X为0-100 记得勾上301重定向
- CTFshow 爆破 web27
点击录取名单可以得到一份表格,然后根据姓名身份证在学生学籍信息查询系统查询.中间八位是出生年月日. 我们可以用bp爆破,前四位年份1990-2010 月份01-12 日期1-30 爆破成功 Unico ...
- CTFshow 爆破 web26
先抓包看一下,发现能直接拿到flag 爆破的到密码 7758521
- CTFshow 爆破 web23
根据提示 还爆破?这么多代码,告辞! 源码如下 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-03 11:43 ...
- CTFshow 爆破 web22
根据提示 域名也可以爆破的,试试爆破这个ctf.show的子域名 扫到一般发现没有结果 ,这题也不能做了 直接看hint, 页面也是失效的 直接拿走flag
- CTFshow 爆破 web21
根据提示 爆破什么的,都是基操 进去弹出表单,要求输入账号密码 通过bp抓包得到,发现Authorization 后面的是base64加密的字段 解密得到 用户名:密码 对admin:进行加密 用bp ...
- ctfshow爆破wp
文章目录 前言 一.web21----custom iterator(自定义迭代器)(base64解码) 二.web22----子域名爆破 三.web23----substr()函数(md5加密) 四 ...
最新文章
- Java中的显示锁 ReentrantLock 和 ReentrantReadWriteLock
- 【Xamarin开发 Android 系列 5】 Xamarin 的破解
- ERP系统的一般构成示意图
- Chromium 操作系统即将支持所有 SBC 单板电脑
- 使用docker运行dotnetcore站点
- 解决Oracle 本地可以连接,远程不能连接问题
- python3.3 连接mysql_python3.3连接mysql数据库
- python模拟seo_Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)_天津SEO...
- 企业信息安全建设要点梳理
- mysql case when 使用
- Qt 子窗体嵌入父窗体
- Entity Framework 4 数据事务操作
- Sql JOIN 一张图说明
- python ctype_Python ctype帮助:使用C unsigned char指针
- 华为认证云计算HICA
- idea pull从远程库拉取最新代码
- 软件测试自动感应灯,基于单片机的智能感应灯设计
- iphone计算机适配,iPhone UI界面尺寸如何一稿适配
- 风行天下!翔升N61S智能主板低价上市
- Pytest自动化脚本中各个层级的setup和teardown的执行流程和使用方法