CTFSHOW web入门 黑盒测试 web380-web384

目录

web380

web381

web382

web383

web384


web380

目录扫描下

python dirsearch.py -u https://ac87a5ae-d960-4072-ab8f-0e74e1ac6342.challenge.ctf.show/

扫描出来了两个文件

/flag.php

/page.php

依次访问看一下

/flag.php 什么都没有,是 0b

访问/page.php,返回报错信息,缺少了 id 参数

随便给 id 传一个值

id=1

根据返回信息能够知道,他是将 1 的后面拼接了一个.php 后缀,然后说是在这个路径下没有找到 1.php,联想到前面目录扫描出来的 flag.php,这里传入 flag

file_get_contents(1.php)

页面空白,查看源码,得到 flag

https://ac87a5ae-d960-4072-ab8f-0e74e1ac6342.challenge.ctf.show/page.php?id=flag

$flag='ctfshow{f12b4295-9fde-4dcb-97a1-cae2718284d2}';

web381

和上一题一样的界面

先目录扫描下

python dirsearch.py -u https://ecdd8908-42e3-471f-b00a-d06e29b8b35d.challenge.ctf.show/

扫描出了

/page.php

访问/page.php

返回了:打开page_$id.php失败

查看页面源代码,这里有一个可疑路径,前面两个都是 layui 开头,但是最后一个却是 alsckdfy 开头

/alsckdfy/layui/css/tree.css

访问/alsckdfy ,就能够得到 flag 了

ctfshow{ce1f22ea-fcf8-46d7-906f-ea84ea13088f}

web382

查看页面源代码,和上一题一样,这个可疑路径

"alsckdfy/layui/css/tree.css"

访问/alsckdfy

是一个登录框页面

https://c6f06760-decd-409c-a2a1-74f798044cf7.challenge.ctf.show/alsckdfy/

尝试弱口令

admin/123456

返回 error

对登录框进行爆破

用户名为 admin

密码是 admin888

ctfshow{1ac8dd9e-f932-4e21-a6f1-63d115c599d5}

另外一种方法

注入 sql 语句

用户名: admin 'or '1'='1'#

密码:1

得到 flag

它里面的代码应该是这样的:sql = "SELECT \* FROM users WHERE username = '_POSTu' AND password = '$_POSTp'";

将 admin 'or '1'='1'# 注入之后就会变成:SELECT * FROM users WHERE username = 'admin 'or '1'='1'#' AND password = '1'

#会把它后面的内容注释掉,最终语句就会变成:SELECT * FROM users WHERE username = 'admin 'or '1'='1',这个 SQL 语句的作用就会变成寻找 admin,或者 1=1,1=1 是肯定的,所以这个查询条件永远为真,他就会将数据库中第一行的所有数据查询出来,在绝大数的系统中,admin 都是系统初始化时创建的第一个超级管理员账户,所以这里是直接将 admin 的数据查询出来

ctfshow{1fee8024-c180-4115-9901-6e8dc61f537d}

web383

查看源代码,和上一题一样,还是有这个路径

alsckdfy/layui/css/tree.css

访问/alsckdfy

是一个登录框,和上一题一样,

直接使用 admin/admin888 进行登录发现能够直接得到 flag

ctfshow{63250502-c020-4e12-9780-173ebf05732d}

使用另外一种方法,SQL 注入,一样能够得到 flag,和 web382 没有区别

admin 'or '1'='1'#

1

ctfshow{63250502-c020-4e12-9780-173ebf05732d}

web384

题目提示:密码前2位是小写字母,后三位是数字

还是这个可疑路径

访问/alsckdfy

https://9633d6f1-98e4-41ca-b7ae-d4b3793bf854.challenge.ctf.show/alsckdfy/

登录框

结合题目的提示,应该是对登录框进行爆破的

写一个脚本,将题目提示:密码前2位是小写字母,后三位是数字,的密码组合,全都例举出来

复制代码
import itertools
import string

def generate_passwords():
    # 定义字符集
    letters = string.ascii_lowercase  # a-z (26个小写字母)
    digits = string.digits            # 0-9 (10个数字)
    
    # 输出的文件名
    output_file = "password_combinations.txt"
    
    print(f"开始生成密码,总计 676,000 种组合...")
    
    # 使用 itertools.product 生成笛卡尔积
    # 前2位是 letters,后3位是 digits
    combinations = itertools.product(letters, letters, digits, digits, digits)
    
    # 将结果写入文本文件
    with open(output_file, "w", encoding="utf-8") as file:
        for combo in combinations:
            # 将元组拼成字符串,例如 ('a', 'a', '0', '0', '0') -> "aa000"
            password = "".join(combo)
            file.write(password + "\n")
            
    print(f"生成完毕!所有组合已保存至:{output_file}")

if __name__ == "__main__":
    generate_passwords()

最终生成的效果是这样的

📎password_combinations.txt

输入 admin,Password

使用 bp 对登录框抓包

然后将抓取到的页面发送的 Intruder 模块中

使用狙击手模式,

添加 payload 位置,选取 密码 Password

到 payload 页面中,将生成好的密码本加载进去,然后开始攻击

爆破出来了

密码是:xy123

flag:ctfshow{0a48c115-b68f-4a4b-bf51-00b5d2b4c2a5}

相关推荐
kingx321 小时前
BugKu 渗透测试 4 实战:文件上传打点,5 Flag 全通
数据库·渗透测试·web·内网渗透
kingx33 天前
Windows Server安全配置深度复盘:关键 Payload 与解题思路
windows·靶场·web·加固
kingx33 天前
网络安全事件应急响应:X集团 WebServer 入侵溯源与处置
中间件·web·应急响应·取证·恶意样本
小野猪都有白菜拱4 天前
Proxmox VE 上搭建 Vulhub 靶场:Ubuntu + Docker
web
treasure1405 天前
Django复习笔记(2026年10月)
后端·python·django·api·web·drf
hengdonghui7 天前
Writeup 4 0xGame 2021 - robot
web·ctf·信息泄露·robots.txt
AlfredZhao8 天前
理解 iFrame 嵌套的跨域问题
web
hengdonghui14 天前
Writeup 4 CTFHub injection
web·ctf·sql注入·整数型联合查询注入(有回显)
ShineWinsu15 天前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
ShineWinsu17 天前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环