Web-21

image-20220307201254754

一点开出来了这么一个,还懵了一下,回去看了一下,发现有一个存了好多密码(应该是)的压缩包

image-20220307201413054

image-20220307201541597

说明那个弹出框确实是题目哈哈哈,这个.zip文件大概率就是它提供的字典

话不多说,爆破直接上男朋友

image-20220307222602733

抓包,发现一个之前没见过的Authorization: Basic YWRtaW46MTEx

不知道Authorization是什么,但是可以知道后者是base编码

真的很气诶 为什么这个zip放进去是乱码!!!(上面说了emmm我是笨蛋)

image-20220307225418262

美女无语,用了burp自带字典爆不出来

image-20220307224128006

有一个小坑,这个zip下载下来要改个名字——1.zip这样子,让它露出真面目嗷

image-20220307235459607

等师傅打完电话再问,放着了(已解决,继续往下看)

image-20220308004404683

image-20220308004433452

image-20220307235617810

三步都慢慢做了,不知道为什么爆出来都是404啊喂

image-20220308004322736

Web-22

image-20220307230539591

我真的会笑死,点开HINT,就就就出来啦

image-20220307230713578

这样当然不够,咱得好好做

去爆一下子域名,网址丢这里 在线子域名爆破-子成君提供 (zcjun.com)

image-20220307231014672

点开vip.ctf.show,把光标放在标签上,会发现flag

image-20220308005032998

Web-23(脚本)

一点开就出现了一坨代码,只能说又是害怕代码审计的一天

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-03 11:43:51
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-03 11:56:11
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/
error_reporting(0);

include('flag.php');
if(isset($_GET['token'])){
    $token = md5($_GET['token']);       //有一个md5加密
    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__);

}
?> 

每句话都在代码上面注释了哈,孩子不会了这题,看了一下wp说是要用脚本,abandon

这边经过师傅的指导,咱直接上手哈哈哈哈

先在phpstudy里创建一个网站

image-20220310224424011

新建一个.php文件,用于等下的参数传递(不知道是哪个冤种刚开始以为是文件上传,哦,是我)

image-20220310225056186

输入(因为没编程基础,所以直接偷大佬们的脚本放上去运行的嘿嘿)

<?php
$token='123';
while (true){
    $t=$token;
    $token=md5($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 "over!"."<br>";
            echo $t;
            break;
        }
    }
}
highlight_file(__FILE__);
?>  

或者这一种,试了一下,也是可以哒~

import hashlib
a = "0123456789qwertyuiopasdfghjklzxcvbnm"
for i in a:
    for j in a:
        b = (str(i) + str(j)).encode("utf-8")
        m = hashlib.md5(b).hexdigest()
        if(m[1:2] == m[14:15] and m[14:15] == m[17:18]):
            if ((int(m[1:2]) + int(m[14:15]) + int(m[17:18])) / int(m[1:2])) == int(m[31:32]):
                print('原字符串为:',b)
                print('加密后字符串为:',m)

输出了这么一串东西

image-20220310010928732

输入?token=c3d050f04e1a0b88b561182c9236833f (因为题目里要get['token'])

image-20220310011220489

查了一下某位师傅写的脚本(参考文章:https://blog.csdn.net/monster663/article/details/112983438

Web-24(脚本)

image-20220308010031590

同样去phpstudy新建.php文件

image-20220310225151497

创建脚本

<?php
mt_srand(372619038);
echo mt_rand();
?>

去网址访问一下下

image-20220310011532226

出了这么一串数字,输入 r=1155388967,当当当~

image-20220310011748270

Web-26

image-20220308011506454

直接按照默认输入,开始抓包

线程不能太高,线程高虽然会快一点,但是好多都会直接报错,血泪教训好不啦

image-20220308022219522

漫长的等待啊嘞,终于出来了

image-20220308023221500

Web-27

image-20220308105159018

这种登录的界面第一个想法就是抓包,但是突然发现没有登录按钮,就盯上了下面这两个小东西

录取名单

image-20220308104537061

学生学籍信息查询系统

image-20220308104635406

看来是要对查询系统下手了;输入已知信息,抓了好几次,抓不到啊嘞

image-20220308105814970

image-20220308105749214

到 intruder里修改一些参数进行爆破

image-20220309004417364

遇到一个小问题,爆不出来呜呜

image-20220309171138283

心得

爆破我真的是大盲点,之前做buu上的或者是靶机,觉得爆破轻轻松松来着的,现在直接破防,主要是这里几道题涉及了太多脚本知识,因为过于死磕,一直在burpsuite上花时间,也不去看看大佬们的wp,导致做了好久都卡住,一天就一两题真的就很心塞,一直在爆破,又爆不出来,前面的题调一下线程就可以出来了,后面调了也做不出来呜呜呜,反正就是对我来说真的很难很难,要跟着师傅好好学脚本