当前位置: 首页 > news >正文

3-6〔OSCP ◈ 研记〕❘ WEB应用攻击▸WEB应用枚举B

     郑重声明: 本文所有安全知识与技术,仅用于探讨、研究及学习,严禁用于违反国家法律法规的非法活动。对于因不当使用相关内容造成的任何损失或法律责任,本人不承担任何责任。 如需转载,请注明出处且不得用于商业盈利。 

    💥👉点赞❤️ 关注🔔 收藏⭐️ 评论💬💥
    更多文章戳👉
Whoami!-CSDN博客🚀

​​


𖤐 嘿,经过前面的预热,我们正式打开这扇门,来吧 ! 

𖤐 𝓗𝓮𝔂, 𝓪𝓯𝓽𝓮𝓻 𝔀𝓪𝓻𝓶-𝓾𝓹,𝔀𝓮'𝓻𝓮 𝓷𝓸𝔀 𝓸𝓯𝓯𝓲𝓬𝓲𝓪𝓵𝓵𝔂 𝓸𝓹𝓮𝓷𝓲𝓷𝓰 𝓽𝓱𝓲𝓼 𝓭𝓸𝓸𝓻,𝓒𝓸𝓶𝓮 𝓸𝓷 ! 


→ 信息收集▸WEB应用攻击▸Web应用枚举B-----我们在这儿~ 🔥🔥🔥

→ 漏洞检测

→ 初始立足点

→ 权限提升 

→ 横向移动

→ 报告/分析

→ 教训/修复  


目录

1.Web应用枚举

1.3 使用cURL进行Web枚举

1.3.1 基本枚举方法

1.基础网站探测

2.目录和文件枚举

1.3.2 高级枚举方法

1.API端点发现

2.HTTP方法测试

3.参数模糊测试

1.3.3 响应分析与过滤

1. 状态码分析

2. 内容分析

1.3.4 认证和会话枚举

1. 基本认证测试

2. Cookie和会话测试

1.3.5 批量枚举脚本示例

1. 简单目录枚举脚本

2. API端点发现脚本

1.4 使用Burp Suite高效批量枚举API

1.4.1 Burp Suite工作流程

1.4.2 详细操作步骤

1. 使用curl将请求发送至Burp代理

2. 请求捕获与重放

3. 站点地图功能利用

4. 使用Intruder进行批量测试

1.4.3 Burp Suite核心功能优势

💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬


1.Web应用枚举

1.3 使用cURL进行Web枚举

cURL是一个强大的命令行工具,用于传输数据,支持多种协议。在Web枚举中,cURL可以帮助安全研究人员手动探测目标网站的结构、API端点和敏感信息

1.3.1 基本枚举方法

1.基础网站探测
# 获取网站首页内容
curl http://example.com# 仅显示HTTP响应头
curl -I http://example.com# 包含HTTP响应头和响应体
curl -i http://example.com# 跟随重定向
curl -L http://example.com# 详细输出,显示请求和响应过程
curl -v http://example.com
2.目录和文件枚举
# 测试特定目录是否存在,返回200表示存在,404表示不存在
curl -s -o /dev/null -w "%{http_code}" http://example.com/admin/# 测试常见管理后台检查WordPress管理后台页面 (/wp-admin/) 中是否包含“login”相关内容,常用于快速判断登录页面是否存在。
curl -s http://example.com/wp-admin/ | grep -i "login"# 检查robots.txt文件
curl http://example.com/robots.txt# 检查sitemap.xml文件
curl http://example.com/sitemap.xml
  • -s:silent(静默)模式,不显示下载进度或错误信息。
  • -o /dev/null:将响应的内容丢弃,不保存输出。
  • -w "%{http_code}":仅输出 HTTP 状态码(如 200404 等)。
  • grep -i "login":在传入的文本中查找包含 "login" 的行。-i 表示忽略大小写,因此 Login、LOGIN 都会匹配。

1.3.2 高级枚举方法

1.API端点发现
# 测试常见API端点,并分别赋值给变量enedpoint,然后分别测试。
for endpoint in api v1 v2 rest graphql; doecho "Testing /$endpoint:"curl -s -o /dev/null -w "%{http_code}" http://example.com/$endpointecho
done# 测试带版本的API,-X指定用GET方法。
curl -X GET http://example.com/api/v1/users
2.HTTP方法测试
# 测试不同的HTTP方法
for method in GET POST PUT DELETE HEAD OPTIONS; doecho "Testing $method:"curl -X $method -s -o /dev/null -w "%{http_code}" http://example.com/admin/echo
done
3.参数模糊测试
# 测试常见参数
for param in id user token admin debug; doecho "Testing parameter: $param"curl -s "http://example.com/page?$param=test" | grep -i "error\|sql\|exception"
done

1.3.3 响应分析与过滤

1. 状态码分析
# 批量检查URL列表的文本文件中的每个URL的HTTP状态码
while read url; dostatus=$(curl -s -o /dev/null -w "%{http_code}" "$url")echo "$status - $url"
done < urls.txt# 输出结果形如:
# 200 - http://example.com
# 404 - http://example.com/404
# 403 - http://example.com/restricted
-------------------------------------------------------# 只显示成功的请求(2xx和3xx状态码)
while read url; dostatus=$(curl -s -o /dev/null -w "%{http_code}" "$url")if [[ $status =~ ^[23][0-9]{2}$ ]]; thenecho "$status - $url"fi
done < urls.txt
2. 内容分析
# 搜索页面中的特定内容
curl -s http://example.com/ | grep -i "password\|admin\|login"# 检查JavaScript文件中的敏感信息,
# -E 表示启用扩展正则表达式(使得使用“|”作为“或”操作符)。
# 表示查找包含“api”或“key”或“token”或“secret”任意一个的行。
curl -s http://example.com/static/app.js | grep -E "api|key|token|secret"# 提取并列出页面中所有链接(href属性值)的URL;grep -o:仅输出匹配的部分,而不是整行。
curl -s http://example.com/ | grep -o 'href="[^"]*"' | cut -d'"' -f2

1.3.4 认证和会话枚举

1. 基本认证测试
# 测试HTTP基本认证 (admin:password) 访问页面,-u选项用于指定用户名和密码
curl -u admin:password http://example.com/admin/# 使用常见凭据字典测试
while read cred; dousername=$(echo $cred | cut -d: -f1)password=$(echo $cred | cut -d: -f2)response=$(curl -s -u "$username:$password" -w "%{http_code}" http://example.com/admin/)echo "Testing $username:$password - $response"
done < credentials.txt
2. Cookie和会话测试
# 发送特定Cookie。-b选项用于发送Cookie:"session=abc123; admin=true"
# session=abc123表示会话ID;admin=true可能表示管理员身份或权限标识。
# curl会将这些Cookie添加到HTTP请求头中发送给服务器。
curl -b "session=abc123; admin=true" http://example.com/admin/# 保存服务器返回的Cookie,-c选项用于将服务器返回的cookies保存到指定的文件(cookies.txt)中。
curl -c cookies.txt http://example.com/login/# 使用保存的Cookie进行后续请求
curl -b cookies.txt http://example.com/dashboard/

1.3.5 批量枚举脚本示例

1. 简单目录枚举脚本
#!/bin/bash
TARGET="http://example.com"
WORDLIST="/usr/share/wordlists/dirb/common.txt"while read path; dourl="$TARGET/$path"status=$(curl -s -o /dev/null -w "%{http_code}" "$url")size=$(curl -s -o /dev/null -w "%{size_download}" "$url")if [[ $status != "404" ]] && [[ $size -gt 0 ]]; thenecho "[FOUND] $status ($size bytes) - $url"fi
done < $WORDLIST
2. API端点发现脚本
#!/bin/bash
TARGET="http://example.com"
API_PATHS=("api" "v1" "v2" "rest" "graphql" "users" "admin" "data")for base_path in "${API_PATHS[@]}"; dofor version in "" "v1" "v2" "v3"; doif [ -z "$version" ]; thenpath="$base_path"elsepath="$base_path/$version"firesponse=$(curl -s -o /dev/null -w "%{http_code}" "$TARGET/$path")if [ "$response" != "404" ]; thenecho "Found: $TARGET/$path (Status: $response)"# 测试各种HTTP方法for method in GET POST PUT DELETE; domethod_response=$(curl -X $method -s -o /dev/null -w "%{http_code}" "$TARGET/$path")echo "  $method: $method_response"donefidone
done

1.4 使用Burp Suite高效批量枚举API

当需要测试大量API端点时,手动使用curl工具效率低下且难以扩展。Burp Suite作为专业的Web应用安全测试平台,提供了完整的解决方案,能够有效管理和批量处理API枚举任务。

手动测试 vs Burp Suite对比

特性手动curl测试Burp Suite自动化
测试规模适合少量API测试支持大规模API批量测试
请求管理难以管理历史请求完整请求历史记录和分类
数据分析需要手动分析响应自动化的响应对比和分析
工作效率低效,容易出错高效,可自动化重复任务
团队协作难以共享测试结果方便测试结果共享和协作

1.4.1 Burp Suite工作流程


1.4.2 详细操作步骤

1. 使用curl将请求发送至Burp代理
# -x 选项用于指定代理服务器,就是代理到本地Burp。
# -d 选项用于指定要发送的请求数据。curl -x http://127.0.0.1:8080 -d '{"username":"admin","password":"test"}' \
-H 'Content-Type: application/json' \
http://target-api.com/users/v1/login

💡 关键步骤:通过在命令中添加-x -http://127.0.0.1:8080将其发送到Burp代理。捕获所有请求/响应数据。

2. 请求捕获与重放

在Burp Repeater中的操作

  • 从Proxy选项卡捕获请求

  • 右键选择"Send to Repeater"

  • 在Repeater中修改参数和方法

  • 点击"Send"发送请求并分析响应

        我们能够在BP代理中重新创建和curl同样的行为,这样就可以将任何测试过的API存储在其数据库中以供以后调查,而且在BP响应中显示的更加直观。

3. 站点地图功能利用

访问站点地图

  • 导航到"Target" → "Site map"选项卡

  • 查看所有已测试API的完整树状结构

  • 识别可能遗漏的API路径和端点

站点地图价值

  • 🌐 全面视图:可视化展示所有发现的API

  • 📍 快速导航:直接跳转到特定API进行测试

  • 🏷️ 注释标记:为重要API添加注释和标记

4. 使用Intruder进行批量测试

批量测试场景

  • 测试多个API端点的可用性

  • 尝试不同HTTP方法(POST、PUT、DELETE等)

  • 模糊测试参数和输入值

Intruder配置

  1. 右键请求选择"Send to Intruder"

  2. 配置攻击类型(Sniper、Battering ram等)

  3. 设置payload和攻击参数

  4. 启动攻击并分析结果


1.4.3 Burp Suite核心功能优势

功能模块用途在API枚举中的价值
Proxy流量拦截和修改捕获所有API请求和响应
Repeater请求重放和修改精细测试单个API端点
Intruder自动化参数攻击批量测试API参数和方法
Target目标范围管理组织和分类发现的API
Scanner自动漏洞扫描检测API安全漏洞

实践意义

🚀 从手动curl测试升级到Burp Suite,就像从手工工具升级到自动化生产线——不仅提升效率,更提高了测试的深度和广度,能够发现更多潜在的安全问题。


💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬

您的支持是我创作最大的动力!

http://www.dtcms.com/a/361023.html

相关文章:

  • Coolutils Total PDF Converter中文版:多功能PDF文件转换器
  • DL00212-基于YOLOv11的脑卒中目标检测含完整数据集
  • 专题:2025全球新能源汽车供应链核心领域研究报告|附300+份报告PDF、数据仪表盘汇总下载
  • Ubuntu 服务器实战:Docker 部署 Nextcloud+ZeroTier,打造可远程访问的个人云
  • 开源模型应用落地-模型上下文协议(MCP)-为AI智能体打造的“万能转接头”-“mcp-use”(十二)
  • 2025年AI智能体开源技术栈全面解析:从基础框架到垂直应用
  • CSS 选择器完全指南:从基础到高级的全面解析
  • lesson51:CSS全攻略:从基础样式到前沿特性的实战指南
  • 面试常考css:三列布局实现方式
  • 前端必看:为什么同一段 CSS 在不同浏览器显示不一样?附解决方案和实战代码
  • LangChain开源LLM集成:从本地部署到自定义生成的低成本落地方案
  • 开源 React 脚手架推荐
  • LeetCode每日一题,2025-09-01
  • 视频提取文字用什么软件好?分享6款免费的视频转文字软件!
  • vizard-将长视频变成适合社交的短视频AI工具
  • (3dnr)多帧视频图像去噪 (二)
  • 统计学的“尝汤原理”:用生活案例彻底理解中心极限定理
  • Linux初始——Vim
  • 前端静态资源缓存与部署实践总结
  • 云手机为什么会受到广泛关注?
  • 【算法基础】链表
  • (Arxiv-2025)VACE:一体化视频创作与编辑
  • uniApp App 嵌入 H5 全流程:通信与跳转细节拆解
  • 【菜狗学聚类】聚类的一些评估指标——20250901
  • 交互体验升级:Three.js在设备孪生体中的实时数据响应方案
  • 飞牛nas修改crontab计划默认编辑器
  • RPA背后的核心技术有哪些?
  • 【论文阅读】Sparse4D v3:Advancing End-to-End 3D Detection and Tracking
  • 基于Hadoop与层次聚类技术的电子游戏销售分析系统的设计与实现
  • wpf之WrapPanel