web 21——弱口令爆破&custom iterator

进去要求输入账号密码,账号输入admin,一般来说管理员用户名都会是这个,密码随便输,然后burpsuite抓包

可以看到账号密码在Authorization传输,形式是账号:密码的base64加密,把他发到Intruder模块

模式选sniper,因为要对整个账号密码字符进行加密,不能分开爆破,选中要爆破的地方

选择custom iterator模式,在位置1写入admin,分隔符写:

位置2导入提供的字典

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

开始攻击,点击状态码进行筛选,找到爆破出的密码,将密码解密后为shark63,输入即可得到flag

web 22——子域名爆破&oneforall

OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,可以实现对子域名的爆破

python oneforall.py --target ctf.show run

可以看到爆破出了很多结果,不过这题的域名失效了,不然应该会有一个flag.ctf.show

web 23——md5爆破&burp&python

看一下代码,通过get方式提交一个token参数,要求MD5 加密结果的第 2 位、第 15 位、第 18 位字符是否相等,且这三位字符的数字之和除以第 2 位字符的值是否等于第 32 位字符的数字值

方法1——burpsuite爆破

不管他到底什么条件,直接burpsuite爆破数字0-500,发现422的时候返回长度不同,422就是满足条件的

方法2——python脚本爆破

通过遍历二字符的字符串,寻找符合条件的字符串,得到两个可用字符串3jZE

import hashlib  

dic = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
for a in dic:
for b in dic:
t = str(a) + str(b)
md5 = hashlib.md5(t.encode('utf-8')).hexdigest() if md5[1] == md5[14] == md5[17]: # 确保这些位置的字符相同
# 确保这些字符是数字
if 48 <= ord(md5[1]) <= 57 and 48 <= ord(md5[14]) <= 57 and 48 <= ord(md5[17]) <= 57:
# 确保md5[31]也是数字,并符合数学关系
if 48 <= ord(md5[31]) <= 57:
num1 = int(md5[1])
num14 = int(md5[14])
num17 = int(md5[17])
num31 = int(md5[31]) # 判断除数是否为零
if num1 == 0:
continue # 跳过当前循环 if (num1 + num14 + num17) / num1 == num31:
print(t)

web 24——初探伪随机数

本题考察的是php伪随机数,通过mt_srand(1);播种后,再通过同一随机数算法计算出来的随机数值是固定的,因此只要看一下服务器php版本,然后在本地起一下以下代码就可以得到随机数了,各位师傅也可以尝试刷新,会发现每次给出来的值都是同一个。

<?php
mt_srand(372619038);
echo "随机数:".mt_rand();
?>

web 25——伪随机数&种子爆破

要获得flag,必须输入token为第二、三个随机数的和,因此必须知道seed是什么

传入?r=0就可以获得第一个随机数的负值,为-449307572

接下来就要爆破seed,这里我们使用php_mt_seed工具,下载与使用方法请自行百度。可以看到爆出来很多seed,由于php版本不同产生的随机数会略有区别,因此需要选择与服务器php版本对应的seed

看一眼php版本,选择1103714832,这里可能得几个都试试,博主试了后两个都没出来

写个php脚本输出需要的随机数

<?php
    mt_srand(1103714832);
    echo mt_rand()."\n";
    $result = mt_rand()+mt_rand();
    echo $result;
?>

提交rtoken,得到flag

web 26——数据库密码爆破

本题还是弱口令爆破,就是换到了系统安装的场景,直接对密码进行数字的爆破即可,答案是7758521,爆破的量还挺大的

另外这题的代码逻辑有点问题,什么都不填点安装然后抓包就会发现flag直接在返回包里了,不过这样就没有爆破的味道了,还是建议按上面的方法爆一下

web 27——门户网站爆破

看到一个登陆界面,但是现在啥信息都没有,肯定不能直接爆破,看到下面有录取名单和学籍信息查询系统

看到这里,猜测是爆破身份证号(这里是生日被隐藏了),然后通过录取查询获得密码

抓包,这题很奇怪,火狐好像很难抓到包,要么用谷歌抓,或者用火狐一直点,总归能抓到。给对生日进行爆破,payload类型选日期,选择开始与结束的年月日,选择日期格式,y代表年,M代表月,d代表日

找到长度不同的数据包

返回信息需要Unicode解码一下,结果给出学号和密码,登陆得到flag

# 原始字符串
encoded_str = r"\u606d\u559c\u60a8\uff0c\u60a8\u5df2\u88ab\u6211\u6821\u5f55\u53d6\uff0c\u4f60\u7684\u5b66\u53f7\u4e3a02015237 \u521d\u59cb\u5bc6\u7801\u4e3a\u8eab\u4efd\u8bc1\u53f7\u7801"
# 使用 unicode_escape 解码
decoded_str = encoded_str.encode('utf-8').decode('unicode_escape')
print(decoded_str)

web 28——目录爆破

看到url是/0/1/2.txt,猜测是对目录中的数字进行爆破,删掉2.txt,对01爆破,用cluster bomb模式

设置payload set 1和2都为数字0-99

爆破,找到能访问的目录,看一眼返回包就是flag

弱口令、子域名、md5、伪随机数、目录爆破与CTF实战的更多相关文章

  1. Python Telnet弱口令爆破脚本及遇到的错误与问题

    写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...

  2. python ssh弱口令爆破多线程脚本及遇到的一些错误与问题

    练习写了个SSH弱口令爆破多线程脚本,遇到的问题 1.一开始想import pexpect 中的pxssh 然而却一直该有错误, ImportError: cannot import name spa ...

  3. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  4. [原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)

    0x000 前言 sshcrack是一个命令行下的SSH密码爆破工具,适用于内渗中SSH密码检测 当然也可用于外网SSH密码爆破,支持Windows/Linux,其它系统未测.Tip1 0x001 目 ...

  5. 使用Burpsuite爆破弱口令教工号

    使用Burpsuite爆破弱口令教工号 发表于 2015-11-18   |   分类于 Burpsuite  |   1条评论  |   26次阅读 准备 所谓工欲善其事,必先利其器,首先当然是要下 ...

  6. msf各种弱口令爆破

    Msf: 写的很乱 记录下msf各个爆破弱口令的模块 run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24 使用arp_scanner模块 ...

  7. 全国职业技能大赛信息安全管理与评估-第三阶段-弱口令自动爆破+读取Flag脚本

    自动爆破SSH弱口令+读取Flag #coding=utf-8 import paramiko sshc = paramiko.SSHClient() sshc.set_missing_host_ke ...

  8. 批量redis未授权检测工具&批量redis弱口令爆破工具

    今天需要然后就百度搜索了一波,然后自己稍微改了一下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: 偷来 ...

  9. Tomcat、Weblogic、JBoss、GlassFish、Resin、Websphere弱口令及拿webshell方法总结 [复制链接]

    1.java应用服务器    Java应用服务器主要为应用程序提供运行环境,为组件提供服务.Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器.1.1  常见的Se ...

  10. 2022弱口令实验室招新赛CTF赛道WriteUp

    Misc 签到 下载附件,得到一张二维码. 扫码,然后根据提示"linux"操作系统,直接cat /flag,得到flag. EasyMisc 下载得到EasyMisc附件,压缩包 ...

随机推荐

  1. 学习SSD—day1_20240814

    1.SSD的基本概念以及结构 SSD是一种以半导体(半导体闪存)作为存储介质吗,使用纯电子电路实现的存储设备. SSD硬件包括几大组成部分:主控.闪存.缓存芯片DRAM(可选,有些SSD上可能只有SR ...

  2. Vim:从光标位置开始全局搜索和替换

    /\v SEARCHTERM :%s/\vBEFORE/AFTER/gc

  3. 树莓派CM4(二): UART/IIC/SPI调试

    1. 参考资料 资料汇总页面 https://shumeipai.nxez.com/raspberry-pi-datasheets <bcm2711-peripherals.pdf>,下载 ...

  4. nginx配置请求头防止点击劫持

    在返回index.html配置中加入add_header X-Frame-Options DENY; location / {undefined root /data/nginx/html/dist/ ...

  5. TwinCAT3 - 实现CiA402

    目录 1,起缘 2,想办法 3,开搞 3.1,CANOpen通信 3.1.1 对象字典 3.1.2 通信建立 3.2,CiA402伺服状态机 3.3,伺服运行 3.3.1 操作模式 3.3.2 轮廓位 ...

  6. 链接器 ld 名称的由来

    Linker 通常缩写为 LD,这是因为在 Unix 和类 Unix 系统中,ld 是链接器的常用命令名称.这个命名可以追溯到 Unix 系统的早期发展历史. 历史背景 Unix 早期:在 Unix ...

  7. mvn install 设定下载的依赖保存的地址

    mvn clean install -P jdk-1.8 -Dmaven.repo.local=/xxxx/repository

  8. Playwright 源码 BrowserType

    playwright-java 的 Browser.BrowserContext.Page 挺好理解的,唯独这厮,就有一丢丢 -- package com.microsoft.playwright; ...

  9. 使用js闭包实现可取消的axios请求

    在平常开发中,经常会遇到重复请求的情况,也许是因为网络问题,也许是因为接口问题等等,传统做法是客户端采用防抖来限制用户发送接口的频率,一般出个loading转圈圈的形式, 但是很少使用取消请求的做法, ...

  10. sql 查询表数据

    SELECT s.Name AS SchemaName, t.Name AS TableName, p.rows AS RowCounts--, --CAST(ROUND((SUM(a.used_pa ...