ctfshow web入门(21-28爆破)

web21

ctfshow web入门(21-28爆破)_第1张图片

抓包ctfshow web入门(21-28爆破)_第2张图片

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

账号:密码

ctfshow web入门(21-28爆破)_第3张图片

爆破

位置一开始选错了,应该是不含Basic的ctfshow web入门(21-28爆破)_第4张图片

模式选择custom iterator(自定义迭代器)
自定义迭代器可以自定义拼接方式ctfshow web入门(21-28爆破)_第5张图片

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

 ctfshow web入门(21-28爆破)_第6张图片

第二个位置为: ctfshow web入门(21-28爆破)_第7张图片

第三个位置

导入他下载的字典ctfshow web入门(21-28爆破)_第8张图片

选择base64解密 ,去掉url编码

ctfshow web入门(21-28爆破)_第9张图片

ctfshow web入门(21-28爆破)_第10张图片

ctfshow web入门(21-28爆破)_第11张图片

web22

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

环境没了

web23

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

ctfshow web入门(21-28爆破)_第12张图片

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。


得到token为422

ctfshow web入门(21-28爆破)_第13张图片

传参

web24

爆个

环境

ctfshow web入门(21-28爆破)_第14张图片 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博客

ctfshow web入门(21-28爆破)_第15张图片

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

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

ok了

web25

爆个,不爆了

ctfshow web入门(21-28爆破)_第16张图片

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,解压

makectfshow web入门(21-28爆破)_第17张图片

随便传个参,r=0

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

ctfshow web入门(21-28爆破)_第18张图片 发现有很多个seed,查看网络看一下php的版本

看到php的版本是7.3,所以可能的种子就是2166812886和2550700805ctfshow web入门(21-28爆破)_第19张图片

 写个脚本,试了第一个种子不行。ctfshow web入门(21-28爆破)_第20张图片

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

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

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

ctfshow web入门(21-28爆破)_第21张图片

web26

这个可以爆

打开

ctfshow web入门(21-28爆破)_第22张图片

开始安装,跳转到了install.phpctfshow web入门(21-28爆破)_第23张图片

查看页面源代码ctfshow web入门(21-28爆破)_第24张图片

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

这里就是第一种

ctfshow web入门(21-28爆破)_第25张图片

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

ctfshow web入门(21-28爆破)_第26张图片

web27

CTFshow菜鸡学院招生啦!

ok 打开是个登录平台

ctfshow web入门(21-28爆破)_第27张图片

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

ctfshow web入门(21-28爆破)_第28张图片

点击学籍查询系统ctfshow web入门(21-28爆破)_第29张图片

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

抓到包,a和p参数ctfshow web入门(21-28爆破)_第30张图片

要爆破p中间几位,选择位置,以及爆破方式ctfshow web入门(21-28爆破)_第31张图片ctfshow web入门(21-28爆破)_第32张图片

ctfshow web入门(21-28爆破)_第33张图片

uncode解码

ok登陆成功

ctfshow web入门(21-28爆破)_第34张图片

web28

大海捞针

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

一样抓包一下

选择爆破的位置,以及爆破的方式要换成cluster bombctfshow web入门(21-28爆破)_第35张图片

 两个位置都选numbers,步长为1ctfshow web入门(21-28爆破)_第36张图片

ctfshow web入门(21-28爆破)_第37张图片

你可能感兴趣的:(安全)