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

3-3〔OSCP ◈ 研记〕❘ WEB应用攻击▸WEB应用安全评估工具

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

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


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

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


→ 信息收集

→ 漏洞检测

→ 初始立足点▸WEB应用攻击▸WEB应用安全评估工具-----我们在这儿~ 🔥🔥🔥

→ 权限提升 

→ 横向移动

→ 报告/分析

→ 教训/修复  


目录

1.Web应用安全评估工具

1.1 使用Nmap进行Web服务器指纹识别

1.1.1 基础服务扫描(-sV)

1.1.2 深度枚举(NSE脚本扫描)

1.2 使用Wappalyzer在线识别技术栈

1.2.1 操作流程

1.2.2 两种使用方式

1.在线Wappalyzer官网方式

2.浏览器插件方式

3.典型技术栈识别结果

1.3 使用Gobuster进行目录爆破

1.3.1 目录爆破流程

1.3.2 核心爆破命令详解

1.3.3 常用字典对比

1.3.4 典型扫描结果分析

1.3.5 状态码安全解读

1.3.6 实战示例

1.4 Sublist3r枚举子域名

1.4.1 安装与准备

1.4.2 基本用法与参数解读

1.4.3 Sublist3r 在渗透测试中的角色

1.4.4 实战示例

1.基础枚举命令

2.进阶用法

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


1.Web应用安全评估工具

🔧 本文介绍的工具列表

工具用途
NmapWeb服务指纹识别与端口扫描
Wappalyzer在线技术栈分析(CMS/框架/语言)
Gobuster暴力破解文件/目录路径
Sublist3r子域名枚举(扩展内容)

1.1 使用Nmap进行Web服务器指纹识别

定位目标:识别Web服务器类型与版本(如Apache/Nginx/IIS)
应用场景:针对开放端口(如80/443)的主动枚举

1.1.1 基础服务扫描(-sV)

$ sudo nmap -p 80 -sV 192.168.50.20

输出关键信息

PORT   STATE SERVICE VERSION  
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))

结论
✅ 服务器类型:Apache
✅ 版本号:2.4.41
✅ 操作系统:Ubuntu


1.1.2 深度枚举(NSE脚本扫描)

$ sudo nmap -p 80 --script=http-enum 192.168.50.20

输出关键信息:如下所示,发现几个文件夹,可能会提供有关目标Web应用程序的更多详细信息。

kali@kali:~$ sudo nmap -p80 --script=http-enum 192.168.50.20
Starting Nmap 7.92 ( https://nmap.org ) at 2022-03-29 06:30 EDT
Nmap scan report for 192.168.50.20
Host is up (0.10s latency).
PORT STATE SERVICE
80/tcp open http
| http-enum:
| /login.php: Possible admin folder
| /db/: BlogWorx Database
| /css/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)'
| /db/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)'
| /images/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)'
| /js/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)'
|_ /uploads/: Potentially interesting directory w/ listing on 'apache/2.4.41 
(ubuntu)'Nmap done: 1 IP address (1 host up) scanned in 16.82 seconds

价值
⚠️ 暴露敏感路径(如/db/, /images/等)
⚠️ 揭示应用功能入口(如/login/)


1.2 使用Wappalyzer在线识别技术栈

技术定位:被动式Web应用指纹识别工具
核心价值:深度解析网站技术生态,无需主动扫描

1.2.1 操作流程

1.2.2 两种使用方式

使用方式操作步骤优势
1.在线平台1. Wappalyzer官网---注册账户
2. 输入目标URL
3. 获取即时报告
完整API支持
批量扫描能力
2.浏览器插件1. 安装Chrome/Firefox扩展
2. 访问目标网站
3. 实时显示技术栈图标
即时检测
无需离开当前页面

💡 插件安装路径
Chrome商店 | Firefox商店

1.在线Wappalyzer官网方式

2.浏览器插件方式

3.典型技术栈识别结果

目标域名megacorpone.com

技术类别检测结果风险提示
操作系统Ubuntu 20.04⚠️ 需验证安全补丁状态
Web服务器Apache 2.4.41🔴 存在CVE-2021-41773漏洞风险
前端框架React 17.0.2⚠️ 检查XSS防护机制
JavaScript库jQuery 3.6.0🟡 已知DOM漏洞(CVE-2021-44228)
分析工具Google Analytics✅ 低风险

📌 操作备忘录

1. 注册Wappalyzer账户:https://www.wappalyzer.com/signup  
2. 安装浏览器插件 → 访问目标网站 → 点击工具栏图标  
3. 关注标红项目(高危组件):  - ⚠️ `AngularJS 1.4.x` (CVE-2015-9251)  - ⚠️ `PHP 5.6.x` (EOL版本)  
4. 导出JSON报告  

🚨 最佳实践:将Wappalyzer结果与Nmap扫描交叉验证,避免云WAF导致的指纹伪装!


1.3 使用Gobuster进行目录爆破

技术定位:暴力枚举Web应用隐藏路径的Go语言工具
核心价值:发现未公开访问点 → 扩大攻击面

1.3.1 目录爆破流程

⚙️Gobuster工具特性

特性说明风险提示
暴力破解引擎基于字典的路径枚举⚠️ 产生大量流量(易触发WAF)
多模式支持目录/DNS/虚拟主机枚举✅ 灵活应对不同场景
高性能Go语言并发处理🔴 需控制线程数(-t 参数)
Kali兼容非kali自带,需手动安装sudo apt install gobuster

1.3.2 核心爆破命令详解

$ gobuster dir -u http://192.168.50.20 -w /usr/share/wordlists/dirb/common.txt -t 5
参数作用推荐值
dir目录枚举模式固定
-u目标URL/IPhttp://<target>
-w字典路径/usr/share/wordlists/dirb/
-t线程数5(隐蔽模式)→ 50(快速扫描)

1.3.3 常用字典对比

字典文件条目数适用场景
common.txt4,614基础快速扫描
small.txt959极速隐蔽探测
big.txt20,468深度全面爆破
directory-list-2.3-medium.txt220,560专业渗透测试

💡 字典路径/usr/share/wordlists/dirb/


1.3.4 典型扫描结果分析

kali@kali:~$ gobuster dir -u 192.168.50.20 -w /usr/share/wordlists/dirb/common.txt -t 
5
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.50.20
[+] Method: GET
[+] Threads: 5
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2022/03/30 05:16:21 Starting gobuster in directory enumeration mode
===============================================================
/.hta (Status: 403) [Size: 278]
/.htaccess (Status: 403) [Size: 278]
/.htpasswd (Status: 403) [Size: 278]
/css (Status: 301) [Size: 312] [--> http://192.168.50.20/css/]
/db (Status: 301) [Size: 311] [--> http://192.168.50.20/db/]
/images (Status: 301) [Size: 315] [--> http://192.168.50.20/images/]
/index.php (Status: 302) [Size: 0] [--> ./login.php]
/js (Status: 301) [Size: 311] [--> http://192.168.50.20/js/]
/server-status (Status: 403) [Size: 278]
/uploads (Status: 301) [Size: 316] [--> http://192.168.50.20/uploads/]
===============================================================
2022/03/30 05:18:08 Finished
===============================================================
===============================================================
/admin               (Status: 403)  # 禁止访问目录
/backup              (Status: 301)  # 重定向路径
/images              (Status: 200)   # 公开资源目录
/login.php           (Status: 200)   # 登录入口
/config.inc          (Status: 200)   # 高危配置文件
/README              (Status: 200)   # 说明文档

1.3.5 状态码安全解读

状态码含义风险等级后续动作
200成功访问🟢 中危内容审计
301/302重定向🟡 低危跟踪跳转
403禁止访问🔴 高危权限绕过测试
404不存在⚪ 无风险忽略

1.3.6 实战示例

  • 隐蔽模式配置:线程数小,扫描慢。

    # 降低线程数 + 随机延迟
    gobuster dir -u http://target -w wordlist.txt -t 3 --delay 500ms-2s
  • 结果过滤优化

    # 排除404响应(减少干扰)
    gobuster dir ... --status-codes-blacklist 404

1.4 Sublist3r枚举子域名

Sublist3r 是一款用 Python 编写的子域名枚举工具🎯,主要通过搜索引擎(如 Google、Bing、Yahoo)、DNS爆破、Netcraft等多种渠道收集目标域名的子域名,这对于渗透测试前期信息收集、扩大攻击面很有帮助。

1.4.1 安装与准备

首先通过Git 克隆仓库并安装依赖。

git clone https://github.com/aboul3la/Sublist3r.git
cd Sublist3r
pip install -r requirements.txt

1.4.2 基本用法与参数解读

通过 sublist3r -h 查看所有参数。以qq.com为例(仅做演示,实际测试务必先获得授权)。

参数示例说明适用场景
sublist3r -d qq.com基本枚举:使用默认的搜索引擎和公开源进行查找快速获取目标子域名列表
sublist3r -d qq.com -p 80,443,8080端口扫描:枚举子域的同时,检查这些子域上特定端口(如80, 443, 8080)的开放情况快速了解哪些子域可能提供了HTTP/HTTPS等服务,缩小进一步测试的范围
sublist3r -d qq.com -b暴力破解:启用自带的SubBrute模块进行子域名爆破尝试发现那些未被搜索引擎收录的、隐藏的子域名
sublist3r -d qq.com -v详细模式:实时显示扫描过程和各个引擎的返回结果调试或观察扫描细节
sublist3r -d qq.com -e google,baidu指定搜索引擎:只使用指定的搜索引擎(如google, bing, baidu等)进行查询在某些网络环境下,可能只需要特定的几个引擎
sublist3r -d qq.com -o results.txt输出结果:将枚举到的子域名列表保存到指定的文本文件中方便后续使用其他工具进行进一步扫描或测试
sublist3r -d qq.com -t 10设置线程:设置暴力破解时的线程数(默认为10,可根据网络和电脑性能调整)提高爆破速度,但线程过高可能被目标屏蔽

表格中的 -p 参数非常实用,帮你快速识别出可能运行着Web服务的子域名。


1.4.3 Sublist3r 在渗透测试中的角色

        Sublist3r 的核心作用是高效发现子域名,扩大攻击面。很多时候,关键的漏洞或薄弱点并不总是出现在主域名上,而是存在于那些容易被遗忘的、未及时维护的子域名(例如测试环境、临时站点、旧的API端点等)上。

        子域名枚举能有效扩大攻击面,发现那些被忽视或未管理的资产,并可能关联到内部系统,所以它在渗透测试和信息收集阶段非常重要。

⚠️ 使用注意:

  • 合法授权务必仅在获得明确书面授权的目标上使用 Sublist3r。

  • 网络波动:其效果受搜索引擎是否收录、DNS解析、API限制及网络环境影响。

  • 结果复核:工具并非万能,可能存在遗漏(False Negative)或误报(False Positive),手动验证和与其他工具(如Amass、AssetNote、OneForAll等)交叉比对是良好习惯。

  • 合规与道德:未经授权对任何系统进行扫描或测试均是违法且不道德的。


1.4.4 实战示例

1.基础枚举命令

   执行以下命令,对 example.com 进行子域名枚举:

python sublist3r.py -d example.com

工具会自动调用默认的搜索引擎和数据源,开始收集子域名。

   结果输出,运行后会显示收集到的子域名,例如:

[+] Enumerating subdomains for example.com
[+] Searching Google...
[+] Searching Bing...
[+] Searching Yahoo...
...
[+] Found: www.example.com
[+] Found: mail.example.com
[+] Found: admin.example.com
[+] Found: blog.example.com
...
[+] Total Unique Subdomains Found: 25
    2.进阶用法
    • 若想使用 DNS 爆破(结合字典)提高枚举效率,可添加 -b 参数:
      python sublist3r.py -d example.com -b
      

    • 若想将结果保存到文件,使用 -o 参数:
      python sublist3r.py -d example.com -o subdomains.txt

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

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

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

    相关文章:

  1. nacos管理配置
  2. Go语言内存管理深度解析:堆栈分配与逃逸分析的艺术
  3. 深度学习篇---ResNet家族
  4. Matlab高光谱遥感、数据处理与混合像元分解实践技术应用
  5. Mysql系列--8、索引
  6. Kubernetes部署MySQL主从复制
  7. PyTorch中 nn.Linear详解和实战示例
  8. Java全栈开发实战:从基础到微服务的深度探索
  9. [Python]库Pandas应用总结
  10. PE嵌入式签名检测方法
  11. 阿里开源Vivid-VR:AI视频修复新标杆,解锁内容创作新可能
  12. AR远程协助:能源电力行业智能化革新
  13. 一键编译安装zabbix(centos)
  14. Spark面试题
  15. HTTP 协议与TCP 的其他机制
  16. excel 破解工作表密码
  17. Python之Flask快速入门
  18. Redis类型之List
  19. 自然语言处理——07 BERT、ELMO、GTP系列模型
  20. lesson46-1:Linux 常用指令全解析:从基础操作到高效应用
  21. Docker:常用命令、以及设置别名
  22. 数据挖掘 6.1 其他降维方法(不是很重要)
  23. 聊聊负载均衡架构
  24. 关于窗口关闭释放内存,主窗口下的子窗口关闭释放不用等到主窗口关闭>setAttribute(Qt::WA_DeleteOnClose);而且无需手动释放
  25. 【Python】QT(PySide2、PyQt5):列表视图、模型、自定义委托
  26. 【芯片后端设计的灵魂:Placement的作用与重要性】
  27. SQL 语句拼接在 C 语言中的实现与安全性分析
  28. 跨语言统一语义真理及其对NLP深层分析影响
  29. 2.3零基础玩转uni-app轮播图:从入门到精通 (咸虾米总结)
  30. Python 实战:内网渗透中的信息收集自动化脚本(3)