爆破与dvwa靶场

爆破

web21

爆破与dvwa靶场

题目:爆破什么的,都是基操

爆破与dvwa靶场

我们尝试抓包

爆破与dvwa靶场

我们发现用户名和密码被加密,用burp自带解码工具解码

爆破与dvwa靶场

发现用户名和密码中间用冒号隔开

爆破与dvwa靶场

爆破与dvwa靶场

爆破与dvwa靶场

爆破与dvwa靶场

爆破与dvwa靶场

爆破成功

爆破与dvwa靶场

web22

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

爆破与dvwa靶场

页面失效,提交flag{ctf_show_web}

web23

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

爆破与dvwa靶场

<?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']);
    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加密后的传参需要满足以下条件

1.要第二位与第15位与第18位相同 (因为下标是从0开始)
2.第二位+第15位+第18位/第二位=第32位

我们利用现成脚本:

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)

爆破与dvwa靶场

所以token=3j

传参token=3j 得到flag

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RSAfK9cK-1644057106402)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220204164504477.png)]

爆破与dvwa靶场

web24

题目:爆个

上一篇:Web安全(NewsCenter)


下一篇:JS 变量提升、执行上下文、作用域链