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 = '_POST[u]' AND password = '$_POST[p]'";

将 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}

相关推荐
爱学习的程序媛14 小时前
浏览器工作原理全景解析
前端·浏览器·web
还是鼠鼠20 小时前
AI掘金头条新闻系统 (Toutiao News)-获取新闻分类
后端·python·mysql·fastapi·web
fanzhonghong2 天前
javaWeb开发之前端实战(Tlias案例-部门管理)
前端·后端·web·前后端分离
初学小白...3 天前
JavaWeb
javaweb·web
曲幽4 天前
让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案
redis·python·agent·fastapi·web·async·celery·ai agent·backgroundtask
yv_304 天前
CTFShow-XXE
ctf·ctfshow·xxe漏洞
其实防守也摸鱼4 天前
upload-labs靶场的pass-2~12的解题步骤及原理讲解
笔记·安全·web安全·网络安全·教程·web·工具
带刺的坐椅4 天前
SolonCode v2026.5.13 发布:开启“数字员工”新时代
web·ai编程·soloncode·im机器人
我命由我123456 天前
Dart - Dart SDK、Hello World 案例、变量声明、常量声明、常量 final、字符串类型
前端·flutter·前端框架·html·web·dart·web app