您当前的位置: 首页 > 

ThnPkm

暂无认证

  • 2浏览

    0关注

    98博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ctf.show web入门(爆破) 21~28

ThnPkm 发布时间:2022-01-16 21:00:00 ,浏览量:2

目录

web21

web22

web23

web24

web25

web26

 web27

web28

本文疯狂参考huamanggg师傅

web21

题目给了一个压缩包,有弱口令字典我们就抓包

 并没有显示 账号密码的明文,而是用圈红地方的base64表示的,转码之后得到就是

admin:123 也就是我输入的账号密码 中间还有个冒号

Hint:

考点tomcat 认证爆破之custom iterator使用 tomcat 认证爆破之custom iterator使用 - 007NBqaq - 博客园 下载密码字典抓包,通过burpsuite暴力破解

Payload set ---->custom iterator(自定义迭代器)

三个部分分别导入,第一个账户admin 第二个冒号:其实可以合并到第一个 第三密码字典

 

 

需要进行base64编码;payload processing 进行编码设置 

 

取消Palyload Encoding编码 因为在进行base64加密的时候在最后可能存在 == 这样就会影响base64 加密的结果 

 

 开始爆破就行,时间还是挺久的,这题也可以使用爬虫脚本

web22

http://flag.ctfer.com/index.php

 页面已经失效了

web23

 可以知道要GET 一个 token值 满足以上条件 ,很多函数不了解 ,去学习一下

isset() — 检测变量是否设置

substr函数格式 (俗称:字符截取函数) 格式:    substr(string string, int a, int b);

              1、string 需要截取的字符串

              2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)

              3、b 要截取的字符串的长度

intavl() 获取变量的整数值

 变量token被md5加密,第一位=第十四位=第十七位,

化为整数后(第一位+第十四位+第十七位)/第一位=第三十一位

 脚本附上,只判断了第一个条件,然后一个一个试 3j 是对的

import  hashlib
a ='0123456789abcdefghijklmnoqprstuvwxxyz'
for i in a:
    for j in a:
        t=(str(i)+str(j)).encode()
        md5=hashlib.md5(t).hexdigest()
        if md5[1:2]==md5[14:15]==md5[17:18]:
            print(t)

url后面加 /?token=3j ,就出来 了

 

web24

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

mt_srand([ int $seed] ) : void

用 seed 来给随机数发生器播种。 没有设定 seed 参数时,会被设为随时数。使用者在进行一次mt_srand()操作后,seed数值将被固定下来,给接下来的mt_rand()函数使用。

当种子不变时,实际上生成的随机数是固定的。而这就是伪随机数漏洞,部分ctf题便以此为考点 

看到mt_srand()函数即可知道是伪随机数,每次生成的随机数是一样的

那我们就来跑一下题目里的mt_srand(372619038)

            
关注
打赏
1660722558
查看更多评论
0.0433s