信息收集(下)

一.端口信息收集

1.端口基础认知

A.端口简介

在 Internet 环境中,各主机依据 TCP/IP 协议实现数据包的发送与接收。数据包凭借目的主机的 IP 地址,在互联网络里完成路由选择,进而精准地传至目标主机。然而,当目的主机同时运行多个程序时,如何将接收到的数据准确无误地传递给对应的程序进程,成为了亟待解决的问题。端口机制应运而生,用以化解这一难题。

在网络技术范畴内,端口涵盖两层含义:

  1. 物理端口:实际存在的端口,像集线器、路由器、交换机、ADSL Modem 等设备上用于连接其他设备的端口。
  2. 逻辑端口:主要用于区分不同服务,常见于 TCP/IP 协议体系中,其范围从 0 至 65535 。其中 0 为保留端口,总共允许 65535 个端口存在。例如,用于网页浏览服务的 80 端口,负责 FTP 服务的 21 端口。在本文语境下,所提及的端口均特指 TCP/IP 协议中的逻辑端口 。
B.协议端口

依据提供服务类型的差异,端口可划分为以下两类:

  1. TCP 端口:TCP 是一种面向连接且可靠的传输层通信协议。它在给目标主机发送信息后,会通过接收返回的应答,确认信息是否成功送达。
  2. UDP 端口:UDP 是一种无连接且不可靠的传输层协议。向目标主机发送信息后,不会主动去确认信息是否到达。

由于 TCP 协议和 UDP 协议相互独立,所以它们各自的端口号也彼此独立 。

C.端口类型
  1. 周知端口:即那些广为人知的端口号,范围处于 0 - 1023 之间。例如 80 端口对应 WWW 服务 。
  2. 动态端口:通常不会固定分配给某种特定服务,范围在 49152 - 65535 。
  3. 注册端口:范围是 1024 - 49151 ,主要用于分配给用户进程或程序 。
D.渗透测试常用端口
  • 相关参考:渗透基础 | 黑客常用端口利用总结 - ZM思 - 博客园
  • 端口号端口说明常见攻击技巧补充说明
    21ftp:文件传输协议爆破、嗅探、溢出、后门利用工具如 owasp 的 Bruter、hydra,msf 中的 ftp 爆破模块;利用 vsftpd 2 到 2.3.4 版本后门漏洞;因明文传输可借助 Cain 在局域网嗅探
    22ssh:远程连接爆破、OpenSSH 漏洞利用、28 个退格攻击使用 hydra、msf 中的 ssh 爆破模块;利用 openssh 特定版本用户枚举漏洞 CVE-2018-15473 等
    23telnet:远程连接爆破、嗅探可通过工具进行弱口令爆破,在局域网中能实施嗅探获取登录信息
    25smtp:邮件服务邮件伪造通过伪造邮件源信息,进行钓鱼等攻击
    53DNS:域名系统DNS 区域传输、DNS 劫持、DNS 缓存投毒、DNS 欺骗、利用 DNS 隧道技术刺透防火墙恶意获取 DNS 区域数据;篡改 DNS 解析结果;污染 DNS 缓存;搭建 DNS 隧道突破网络限制
    67/68dhcp劫持、欺骗非法获取或分配 IP 地址,干扰正常网络配置
    110pop3爆破对用户账号密码进行暴力破解
    139samba爆破、未授权访问、远程代码执行尝试破解密码访问共享资源;利用漏洞执行远程代码
    143imap爆破通过爆破手段获取用户邮箱登录权限
    161snmp爆破对简单网络管理协议进行弱口令爆破
    389ldap注入攻击、未授权访问构造恶意语句获取或修改 LDAP 目录数据;在未授权情况下访问敏感信息
    512/513/514linux r直接使用 rlogin在信任关系下,可直接利用 rlogin 命令进行连接操作
    873rsync未授权访问未设置访问控制时,可非法访问数据
    1080socket爆破(进行内网渗透)通过爆破突破内网相关服务的访问限制
    1352lotus爆破(弱口令)、信息泄露(源代码)尝试破解弱密码登录系统;获取程序源代码,分析潜在漏洞
    1433mssql爆破(使用系统用户登陆)、注入攻击利用工具对系统用户进行密码破解;通过构造 SQL 语句实施注入攻击
    1521oracle爆破(TNS)、注入攻击对 Oracle 数据库连接服务进行口令爆破;在交互中进行 SQL 注入
    2049nfs配置不当因 NFS 配置缺陷,可导致非法访问文件系统
    2181zookeeper未授权访问未经授权即可访问 Zookeeper 服务,获取关键信息
    3306mysql爆破、拒绝服务、注入使用工具破解密码;通过发送大量请求导致服务不可用;构造 SQL 注入语句
    3389rdp爆破、shift 后门暴力破解远程桌面登录密码;利用 shift 键组合触发特定漏洞获取权限
    4848glassflsh爆破(控制台弱口令)、认证绕过对控制台密码进行破解;绕过正常认证机制访问
    5000sybase/DB2爆破、注入针对数据库登录进行爆破;实施 SQL 注入攻击
    5432postgresql缓冲区溢出、注入攻击、爆破(弱口令)利用缓冲区溢出漏洞;构造注入语句;尝试破解弱密码
    5632pcanywhere拒绝服务、代码执行发送大量请求导致服务崩溃;利用漏洞执行恶意代码
    5900vnc爆破(弱口令)、认证绕过破解登录密码;绕过身份验证机制
    6379redis未授权访问、爆破(弱口令)无密码或弱密码时,可非法访问 Redis 服务并进行数据操作
    7001weblogicjava 反序列化、控制台弱口令、控制台部署 webshell利用反序列化漏洞执行任意代码;破解控制台密码;上传恶意 WebShell
    80/443/8080web常见 web 攻击、控制台爆破、对应服务器版本漏洞SQL 注入、XSS 攻击等;对服务器控制台进行密码破解;利用服务器特定版本已知漏洞
    8069zabbix远程命令执行利用漏洞在 Zabbix 服务器上执行系统命令
    9090websphere 控制台爆破(控制台弱口令)、java 反序列化破解控制台登录密码;利用反序列化漏洞攻击
    9200/9300elasticsearch远程代码执行通过构造恶意请求,在 Elasticsearch 服务上执行远程代码
    11211memcache/memcached未授权访问未设置安全访问策略时,可非法访问数据
    27017mongodb爆破、未授权访问破解数据库登录密码;在无权限情况下访问 MongoDB 数据库

2.常见端口详细介绍

A.FTP - 21
  • 介绍:FTP(文件传输协议)采用 TCP 端口 20 和 21 ,其中 20 用于传输数据,21 用于传输控制信息 。

    1. ftp 基础爆破:可借助 owasp 的 Bruter、hydra 工具,以及 msf 中的 ftp 爆破模块 。
    2. ftp 匿名访问:用户名使用 “anonymous”,密码为空或者填写任意邮箱地址 。
    3. vsftpd 后门:在 vsftpd 2 到 2.3.4 版本中存在后门漏洞,攻击者能够借此漏洞获取 root 权限 。
    4. 嗅探:因 ftp 使用明文传输,可利用 Cain 工具进行渗透,但嗅探操作需在局域网环境下,且需要对网关进行欺骗或监听 。
    5. ftp 远程代码溢出:存在远程代码溢出的风险 。
    6. ftp 跳转攻击:有遭受跳转攻击的可能 。

    相关参考链接:

    • ProFTPD 1.3.3c 远程命令执行:记录一次对本地ftp服务器的渗透_1433端口-CSDN博客
    • FTP 跳转攻击:FTP主动模式下利用PORT命令的安全风险-CSDN博客
B.SSH - 22
  • 介绍:SSH(secure shell)是当前较为可靠的协议,专门为远程登录会话和其他网络服务提供安全保障 。

    1. 弱口令攻击:可使用 hydra 工具以及 msf 中的 ssh 爆破模块 。
    2. SSH 后门:参考链接:渗透基础-SSH后门分析总结 - SecPulse.COM | 安全脉搏
    3. openssh 用户枚举 CVE - 2018 - 15473:参考链接:OpenSSH用户枚举漏洞(CVE-2018-15473)分析-安全KER - 安全资讯平台
C.WWW - 80
  • 介绍:80 端口是为超文本传输协议(HTTP)开放的端口,主要用于万维网传输信息 。

    1. 中间件漏洞:例如 IIS、apache、nginx 等中间件存在的漏洞 。
    2. 利用 web 应用程序漏洞:通过 80 端口,借助 web 应用程序常见的漏洞进行攻击 。
D.NetBIOS SessionService – 139/445
  • 介绍:139 端口用于提供 windows 文件和打印机共享及 UNIX 中的 Samba 服务;445 端口同样用于提供 windows 文件和打印机共享 。

    1. 双端口开放利用:若同时开放 139 和 445 端口,可尝试利用 MS17010 溢出漏洞发动攻击 。
    2. 单 445 端口开放利用:若仅开放 445 端口,可尝试利用 MS06040、MS08067 溢出漏洞进行攻击 。
    3. 利用IPC$连接实施渗透 。
E.MySQL - 3306
  • 介绍:3306 是 MYSQL 数据库默认的监听端口。

    1. mysql 弱口令破解:破解弱密码登录数据库 。
    2. 恶意函数执行:通过弱口令登录 mysql 后,上传构造的恶意 UDF 自定义函数代码,再调用注册的恶意函数执行系统命令 。
    3. SQL 注入:利用 SQL 注入手段获取数据库敏感信息,还可借助 load_file () 函数读取系统文件,并将恶意代码导出到指定路径 。
F.RDP - 3389
  • 介绍:3389 是 windows 远程桌面服务默认监听的端口。

    1. RDP 暴力破解攻击:通过暴力破解密码尝试登录 。
    2. MS12_020 死亡蓝屏攻击:利用该漏洞发起攻击 。
    3. RDP 远程桌面漏洞(CVE - 2019 - 0708):利用此漏洞进行攻击 。
    4. 开启 RDP 相关操作:可通过 MSF 开启 RDP 、利用注册表开启 RDP 。
G.Redis - 6379
  • 介绍:Redis 是开源的可基于内存且可持久化的日志型数据库 。

    1. 爆破弱口令:尝试破解弱密码 。
    2. 未授权访问结合 ssh key 提权:若存在未授权访问情况,可结合 ssh key 实现提权 。
    3. 主从复制 rce:利用主从复制机制实现远程代码执行 。
H.Weblogic - 7001
  • 介绍:WebLogic 是美国 Oracle 公司出品的一款基于 JAVAEE 架构的 application server ,主要用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用 。

    1. 弱口令与爆破:弱密码一般为 weblogic/Oracle@123 或 weblogic ,可通过爆破获取权限 。
    2. 管理后台部署 war 包后门:在管理后台部署带有后门的 war 包 。
    3. weblogic SSRF:存在 SSRF 漏洞可被利用 。
    4. 反序列化漏洞:存在反序列化漏洞 。
I.Tomcat - 8080
  • 介绍:Tomcat 服务器是一款开源的轻量级 Web 应用服务器,在中小型系统和并发量较小的场景中应用广泛,是开发和调试 Servlet、JSP 程序的首选 。

    1. Tomcat 远程代码执行漏洞(CVE - 2019 - 0232):利用该漏洞实现远程代码执行 。
    2. Tomcat 任意文件上传(CVE - 2017 - 12615):利用此漏洞实现任意文件上传 。
    3. tomcat 管理页面弱口令 getshell:通过破解管理页面弱口令获取 shell 权限 。

3.端口扫描

A.NMAP 简介
  • 介绍:Network Mapper(NMAP)是一款开源的网络探测和安全审核工具 。

    • 相关参考:nmap 参考指南(中文版):https://nmap.org/man/zh/
B.功能介绍
  1. 检测网络存活主机(主机发现):通过特定方式判断网络中哪些主机处于活动状态 。
  2. 检测主机开放端口(端口发现或枚举):扫描目标主机上开放的端口 。
  3. 检测相应端口软件(服务发现)版本:识别开放端口所对应的软件及其版本 。
  4. 检测操作系统,硬件地址,以及软件版本:获取目标主机的操作系统、硬件地址等信息 。
  5. 检测脆弱性的漏洞(nmap 的脚本):利用 nmap 自带的脚本检测目标主机是否存在特定漏洞 。
C.端口状态
  1. Open:端口处于开启状态,数据能够到达主机,并且有程序在该端口上进行监控 。
  2. Closed:端口关闭,数据可到达主机,但没有程序在该端口监听 。
  3. Filtered:数据无法到达主机,返回结果为空,表明数据被防火墙或 IDS 过滤 。
  4. UnFiltered:数据可以到达主机,然而无法识别端口当前的状态 。
  5. Open|Filtered:端口无返回值,这种情况主要出现在 UDP、IP、FIN、NULL 和 Xmas 扫描中 。
  6. Closed|Filtered:仅在 IP ID idle 扫描中出现 。
D.基础用法
  1. 全面扫描示例:nmap -A -T4 192.168.1.1​

    • ​-A​:表示全面扫描或综合扫描,尽可能获取更多信息 。
    • ​-T4​:设置扫描速度,总共有 6 级(T0 - T5) 。
    • 若未指定端口,默认扫描 1 - 1024 端口以及 nmap - service 文件中定义的端口 。
  2. 单一主机扫描:nmap 192.168.1.2​

  3. 子网扫描:nmap 192.168.1.1/24​

  4. 多主机扫描:nmap 192.168.1.1 192.168.1.10​

  5. 主机范围扫描:nmap 192.168.1.1 - 100​

  6. IP 地址列表扫描:nmap –iL target.txt​,从指定文件(target.txt)中读取 IP 地址列表进行扫描 。

  7. 扫描除指定 IP 外的所有子网主机:nmap 192.168.1.1/24 --exclude 192.168.1.1​

  8. 扫描除文件中 IP 外的子网主机:nmap 192.168.1.1/24 --excludefile xxx.txt​

  9. 扫描特定主机上的指定端口:nmap –p 80,21,23 192.168.1.1​,扫描 192.168.1.1 主机上的 80、21、23 端口 。

  10. 扫描全部端口:

    nmap -sS -v -T4 -Pn -p 0 - 65535 -oN FullTCP -iL liveHosts.txt
    
    • ​-sS​:SYN 扫描,也叫半开放扫描,它无需建立完整的 TCP 连接,执行速度快、效率高(一个完整的 tcp 连接需要 3 次握手,而 -sS 选项不需要 3 次握手) 。

      • 优点:Nmap 发送 SYN 包到远程主机,不会产生实际会话,目标主机几乎不会将连接记入系统日志(可防止对方察觉扫描行为),扫描速度快、效率高,在实际工作中使用频率较高 。
      • 缺点:需要 root/administrator 权限才能执行 。
    • ​-Pn​:扫描前无需使用 ping 命令,适用于防火墙禁止 ping 命令的情况 。

    • ​-iL​:从指定文件(liveHosts.txt)中导入需要扫描的主机列表 。

  11. 扫描常用端口及服务信息:nmap -sS -T4 -Pn -oG TopTCP -iL LiveHosts.txt​

  12. 系统扫描:nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt​

  13. 版本检测:nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt​

  14. NMAP 漏洞扫描:nmap.exe -p445 -v --script smb - ghost 192.168.1.0/24​,针对 192.168.1.0/24 网段的 445 端口,利用 smb - ghost 脚本进行漏洞扫描 。

二.网站信息收集

1.操作系统信息收集

A.判断方法
  1. Ping 判断:

    • Windows 的 TTL 值一般为 128,Linux 则为 64。通常 TTL 大于 100 的系统一般为 Windows,几十的为 Linux。

    • 通过发送 Ping 请求,观察返回的 TTL 值,可初步判断目标系统的操作系统类型。


  2. Nmap -O 参数:

    • 使用 Nmap 工具的 -O 参数,可以对目标主机的操作系统进行检测。

      • 命令示例:namp -O ip​
    • Nmap 会根据不同操作系统的特征,分析目标主机可能的操作系统类型。

  3. 大小写敏感性:

    • Windows 系统大小写不敏感,而 Linux 系统区分大小写。
    • 在后续信息收集和渗透测试中,可根据这一特性,通过一些命令执行结果或文件操作结果来进一步验证操作系统类型。

2.网站服务与容器类型信息收集

A.判断方法
  1. F12 查看响应头 Server 字段:

    • 打开浏览器的开发者工具(F12),查看响应头中的 Server 字段。

    • 该字段会显示服务器使用的容器类型,如 apache、nginx、tomcat、IIS 等。


  2. Whatweb 工具:

    • 可访问whatweb | Kali Linux Tools。
    • 该工具能自动检测网站的服务器信息和应用程序信息,帮助识别网站所使用的容器类型。
  3. Wappalyzer 插件:

    • 安装在浏览器中的插件,方便用户快速查看网站使用的技术栈,包括容器类型。

B.利用容器类型信息

根据识别出的容器类型及其版本,考虑其可能存在的漏洞,尤其是解析漏洞,可提前做好防范或寻找渗透机会。

3.脚本类型信息收集

A.常见脚本类型
  • php
  • jsp
  • asp/aspx
  • python
B.重要性

明确网站使用的脚本语言,才能更有针对性地进行文件扫描、文件上传等操作,为后续渗透测试或安全维护工作提供依据。

4.数据库类型信息收集

A.SQL 注入前的数据库类型判断重要性
  • 介绍:在进行 SQL 注入之前,需要判断数据库的类型,因为不同数据库处理函数的方式有细微差别,只有确定数据库类型,才能根据其特点选择合适的函数,有助于更有效地实现 SQL 注入。
B.常见数据库类型及其特点
  1. Oracle:

    • 默认端口:1521。
    • 常用于 java 开发的网站,具有独特的函数和处理逻辑。
  2. MySQL:

    • 默认端口:3306。
    • 常与 php 等脚本语言搭配使用,在网站开发中广泛应用。
  3. SQL Server:

    • 默认端口:1433。
    • 通常与 asp 或.net 网站相关联。
  4. Postgresql:

    • 默认端口:5432。
    • 拥有自身的数据库特性和函数处理方式。
  5. Mongodb:

    • 默认端口:27017。
    • 一种非关系型数据库,在现代网站开发中逐渐普及。
  6. Access:

    • 文件型数据库,不需要端口。
    • 多在 asp 环境中使用。
C.数据库类型判断方法

相关参考:SQL注入如何判断数据库类型_sql注入判断数据库类型-CSDN博客

  1. 根据特有函数判断:

    • 不同数据库具有各自特有的函数,通过执行一些测试性的 SQL 语句,观察函数的执行结果或报错信息,来推断数据库类型。
  2. 根据特殊符号进行判断:

    • 不同数据库对特殊符号的处理和支持可能不同,可据此进行判断。
  3. 根据数据库对字符串的处理方式判断:

    • 不同数据库在处理字符串时可能有不同的规则和函数,如字符串拼接、截取等操作的语法和函数不同。
  4. 根据数据库特有的数据表来判断:

    • 不同数据库可能拥有自身特有的系统表,尝试查询这些表,若能成功,可辅助判断数据库类型。
  5. 根据盲注特别函数判断:

    • 在盲注过程中,不同数据库有其独特的盲注函数,利用这些函数的特性和结果判断数据库类型。

5.CMS 识别

A.CMS 简介
  • 介绍:CMS(内容管理系统)用于网站内容文章管理,常见的 CMS 包括 WordPress、Joomla、Drupal、dedecms(织梦)、Discuz、phpcms 等。

    • CMS识别:yunsee.cn-2.0
B.CMS 检测识别工具
  • CMSeeK:GitHub - Tuhinshubhra/CMSeeK: CMS Detection and Exploitation suite - Scan WordPress, Joomla, Drupal and over 180 other CMSs
  • Joomscan:GitHub - OWASP/joomscan: OWASP Joomla Vulnerability Scanner Project https://www.secologist.com/
  • wpscan:GitHub - wpscanteam/wpscan: WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
  • TPscan:GitHub - Lucifer1993/TPscan: 一键ThinkPHP漏洞检测

6.敏感文件和目录信息收集

A.常见敏感文件或目录
  • robots.txt:

    • 是一个纯文本文件,网站管理者在其中声明不想被搜索引擎访问的部分,或指定搜索引擎只收录的内容。搜索引擎访问站点时,先检查该文件并按其内容确定访问范围,若不存在则按链接抓取。
    • 可提供一些关于网站目录结构的信息,帮助攻击者寻找敏感目录。
  • crossdomain.xml:

    • 跨域策略文件,是一个 xml 文档文件,主要为 web 客户端(如 Adobe Flash Player 等)设置跨域处理数据的权限。
    • 重点查看 allow-access-from 字段可获取网站目录信息,可使用 GoogleHacking 语法:inurl:crossdomain filetype:xml intext:allow-access-from​。
  • sitemap.xml:

    • 是 XML 文件,网站管理员通过它通知搜索引擎网站上可供抓取的网页,列出网站网址及元数据(更新时间、更改频率、重要程度等)。
    • 可使用 GoogleHacking 语法:inurl:sitemap filetype:xml​查找。
  • 后台目录:

    • 通常是网站管理员登录管理的入口,是攻击的重点目标,可能包含大量敏感信息和管理权限。
  • 网站安装目录:

    • 可能包含网站的安装文件和配置文件,泄露后可能导致网站重新部署或被篡改。
  • 网站上传目录:

    • 是文件上传功能的存储位置,若权限设置不当,可能被利用上传恶意文件。
  • mysql 管理页面:

    • 可能泄露数据库管理信息,存在被入侵数据库的风险。
  • phpinfo:

    • 可能暴露服务器的 PHP 配置信息,包括已启用的模块、版本等,给攻击者提供信息。
  • 网站文本编辑器:

    • 可能存在编辑器漏洞,被利用进行文件上传或代码执行。
  • 测试文件:

    • 可能包含未清理的测试信息,为攻击者提供线索。
  • 网站备份文件:

    • 包括.rar、.zip、.7z、.tar、.gz、.bak 等,可能泄露网站源码和数据,攻击者通过猜解文件路径下载,导致敏感信息泄露。
  • DS_Store 文件:

    • 可能泄露网站目录结构信息。
  • vim 编辑器备份文件(.swp):

    • 可能包含部分未保存的编辑信息,也可能导致源码泄露。
  • WEB-INF/web.xml 文件:

    • 是 Java 的 Web 应用的安全目录中的文件,包含重要信息,找到该文件可推断 class 文件路径,反编译 class 文件可得到网站源码。
B.敏感文件和目录挖掘方法
  1. 工具挖掘:

    • 使用御剑、BBscan 等工具,能自动化查找敏感文件和目录。
  2. 手工挖掘:

    • 在 robots.txt 中查找敏感目录;
    • 查看 F12 源代码链接处;
    • 通过图片属性路径发现隐藏目录;
    • 结合域名和常见后台管理地址,使用御剑进行扫描;
    • 手动输入常见后台管理地址访问;
    • 在不同端口寻找,如http://www.xxx.com:8080;
    • 在网站分目录下寻找,如http://www.xxx.com/test/admin/manage.php;
    • 在子域名下寻找,如http://admin.xxx.com/login。

7.源代码泄露信息收集

A.常见源代码泄露源
  1. Github 泄露:

    • 开发人员将代码上传到网站,未删除重要信息(如邮箱、SVN 信息、内部账号密码、数据库连接信息、服务器配置信息等)。

    • 可通过在 Github 上搜索公司的特定信息,如公司域名,查看是否有相关信息泄露。

    • 可使用以下 GoogleHacking 语法搜索:

      • site:Github.com smtp
      • site:Github.com smtp @qq.com
      • site:Github.com smtp @126.com
      • site:Github.com smtp @163.com
      • site:Github.com smtp @sina.com.cn
      • site:Github.com smtp password
      • site:Github.com String password smtp
      • site:Github.com sa password
      • site:Github.com root password
      • site:Github.com User ID='sa';Password
      • site:Github.com svn
      • site:Github.com svn username
      • site:Github.com svn password
      • site:Github.com svn username password
      • site:Github.com inurl:sql
      • site:Github.com password
      • site:Github.com ftp ftppassword
      • site:Github.com 密码
      • site:Github.com 内部
    • 这类漏洞主要靠人员安全意识防护,无其他防护方法。

  2. .git 泄露:

    • 大量开发人员使用 git 进行版本控制和自动部署,若配置不当,将.git 文件部署到线上环境,会引起泄露,导致网站源码泄露。
    • 渗透测试人员或攻击者可审计代码,挖掘文件上传、SQL 注入等 web 安全漏洞。
    • 防护方法包括部署时删除.git 文件夹或在 nginx 配置中屏蔽.git 目录访问。
    • GoogleHacking 语法:".git" intitle:"index of"​。
    • 可使用工具:GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit,通过.git 文件夹下的文件重建还原工程源代码。
  3. .svn 泄露:

    • 类似于.git,使用 svn checkout 功能更新代码,若未删除.svn 版本控制目录,恶意用户可利用该目录下的文件恢复源码,获取数据库密码、源码漏洞等信息。
    • 防护:部署时删除该文件。
    • GoogleHacking 语法:".svn" intitle:"index of"​。
    • 工具:GitHub - admintony/svnExploit: SvnExploit支持SVN源代码泄露全版本Dump源码。
  4. WEB-INF/web.xml 泄露:

    • 包含 WEB-INF/web.xml(Web 应用程序配置文件,描述 servlet 和其他应用组件及命名规则)、WEB-INF/database.properties(数据库配置文件)、WEB-INF/classes/(存放 Java 类文件)、WEB-INF/lib/(存放库文件)、WEB-INF/src/(存放源代码)。
    • 找到 web.xml 文件,可推断 class 文件路径,下载 class 文件并反编译得到网站源码。

8.目录扫描探测

A.目的
  • 介绍:通过目录扫描可发现网站的目录和页面数量,探索网站整体结构,还能扫描敏感文件、后台文件、数据库文件和信息泄漏文件等。
B.扫描方式
  1. 使用目录字典暴力猜解:

    • 使用字典文件对可能存在的目录或文件进行暴力猜解,根据返回的响应状态码(如 200 或 403)判断是否存在。
  2. 使用爬虫爬取:

    • 利用爬虫爬取页面上的所有链接,对每个链接再次爬行,收集域名下的所有链接,总结页面信息。
C.目录扫描工具

所有工具都在下方网盘里

链接:https://pan.baidu.com/s/1D-ZvNe6lkEKeUy-TspAXBg?pwd=pvci
提取码:pvci

  • feroxbuster
  • dirb
  • dirsearch
  • dirmap
  • dirBuster
  • 御剑后台扫描工具

9.网站 WAF 识别

A.WAF 定义
  • 介绍:WAF(Web Application FireWall)是用于保护网站、防止黑客和网络攻击的安全防护系统,是最有效、最直接的 Web 安全防护产品。
B.WAF 功能
  1. 防止常见的各类网络攻击,如 SQL 注入、XSS 跨站、CSRF、网页后门等;
  2. 防止各类自动化攻击,如暴力破解、撞库、批量注册、自动发贴等;
  3. 阻止其它常见威胁,如爬虫、0 DAY 攻击、代码分析、嗅探、数据篡改、越权访问、敏感信息泄漏、应用层 DDOS、远程恶意包含、盗链、越权、扫描等。
C.WAF 识别方法
  1. wafw00f 工具:

    • 可访问GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.或wafw00f | Kali Linux Tools。
    • 专门用于检测网站是否部署了 WAF 以及识别 WAF 的类型。
  2. Nmap 脚本:

    • ​nmap –p80,443 --script http-waf-detect ip​
    • ​nmap –p80,443 --script http-waf-fingerprint ip​
  3. 看图识 WAF:

    • 参考链接:干货 | 常见WAF拦截页面总结​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6545.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springBoot 整合ModBus TCP

ModBus是什么: ModBus是一种串行通信协议,主要用于从仪器和控制设备传输信号到主控制器或数据采集系统,例如用于测量温度和湿度并将结果传输到计算机的系统。(百度答案) ModBus 有些什么东西: ModBus其分…

composer安装指定php版本, 忽略平台原因导致的报错

windows下 //composer安装指定php版本, 写出完整的php和composer.phar路径 D:\phpstudy_pro\Extensions\php\php8.1.11nts\php.exe D:\phpstudy_pro\Extensions\composer1.8.5\composer.phar install windows下一些扩展不支持, 如下图, 所以本地composer安装组件时可以忽略 …

【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界

目录 前言 一、Python—— 网络爬虫的绝佳拍档 二、网络爬虫基础:揭开神秘面纱 (一)工作原理:步步为营的数据狩猎 (二)分类:各显神通的爬虫家族 三、Python 网络爬虫核心库深度剖析 &…

大模型应用与部署 技术方案

大模型应用与部署 技术方案 一、引言 人工智能蓬勃发展,Qwen 大模型在自然语言处理领域地位关键,其架构优势尽显,能处理文本创作等多类复杂任务,提供优质交互。Milvus 向量数据库则是向量数据存储检索利器,有高效索引算法(如 IVF_FLAT、HNSWLIB 等)助力大规模数据集相似…

Postman接口测试工具详解

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ) 目录 引言 Postman简介 Postman的特点 Postman的下载与安装 Postman…

电路研究9.2——合宙Air780EP使用AT指令

这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。 软件的开发方式: AT:MCU 做主控,MCU 发 AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑…

百度APP iOS端磁盘优化实践(上)

01 概览 在APP的开发中,磁盘管理已成为不可忽视的部分。随着功能的复杂化和数据量的快速增长,如何高效管理磁盘空间直接关系到用户体验和APP性能。本文将结合磁盘管理的实践经验,详细介绍iOS沙盒环境下的文件存储规范,探讨业务缓…

Sharding-JDBC 5.4.1+SpringBoot3.4.1+MySQL8.4.1 使用案例

最近在升级 SpringBoot 项目,原版本是 2.7.16,要升级到 3.4.0 ,JDK 版本要从 JDK8 升级 JDK21,原项目中使用了 Sharding-JDBC,版本 4.0.0-RC1,在升级 SpringBoot 版本到 3.4.0 之后,服务启动失败…

【Django】多个APP设置独立的URL

目录 方法一:各个App下设置自己的URL 1、在各自的App当中创建urls.py文件​编辑 2、在主urls当中包含子url 3、各App的urls中设置url 4、设置后台函数 5、最终结果 总结: 方法二:利用as方法,在总的URL中对views重命名 实…

Vue2 项目二次封装Axios

引言 在现代前端开发中,HTTP请求管理是构建健壮应用的核心能力之一。Axios作为目前最流行的HTTP客户端库,其灵活性和可扩展性为开发者提供了强大的基础能力。 1. 为什么要二次封装Axios? 1.1 统一项目管理需求 API路径标准化:…

【算法】经典博弈论问题——巴什博弈 python

目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…

软件开发学习路线——roadmap

推荐软件学习路线网站:https://roadmap.sh/get-started 有有关前端后端开发的学习路径,也有AI,移动开发,管理相关的学习路径 会有相应的词条路径,深入学习 右上角可以设置学习任务的完成情况

Moretl FileSync增量文件采集工具

永久免费: <下载> <使用说明> 我们希望Moretl FileSync是一款通用性很好的文件日志采集工具,解决工厂环境下,通过共享目录采集文件,SMB协议存在的安全性,兼容性的问题. 同时,我们发现工厂设备日志一般为增量,为方便MES,QMS等后端系统直接使用数据,我们推出了增量采…

9、Docker环境安装Nginx

一、拉取镜像 docker pull nginx:1.24.0二、创建映射目录 作用&#xff1a;是将docker中nginx的相关配置信息映射到外面&#xff0c;方便修改配置文件 1、创建目录 # cd home/ # mkdir nginx/ # cd nginx/ # mkdir conf html log2、生成容器 docker run -p 80:80 -d --name…

023:到底什么是感受野?

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请查看这里。 在前面介绍卷积算法时&#xff0c;一直在强调一个内容&#xff0c;那就是卷积算法的运算过程是—— 卷积核在输入图像上滑动扫描的过程。 在每一次扫描时&#xff0c;可以…

BGP(1)邻居建立,路由宣告

拓扑如图&#xff0c;配置地址&#xff0c;配置ospf并宣告相应地址 1、观察bgp邻居的建立 a R1和R3建立bgp邻居 抓包可以看到TCP的三次握手&#xff0c;端口号179 可以看到R1和R3成功建立了IBGP邻居 b 缺省情况下&#xff0c;BGP使用报文出接口作为TCP连接的本地接口&#x…

Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型

大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型&#xff0c;通常使用自监督学习方法通过大量无标签文本进行训练&#xff0c;是深度学习之后的又一大人工智能技术革命。 大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年…

【数据库】详解MySQL数据库中的事务与锁

目录 1.数据库事务 1.1.事务的四大特性 1.2.事务开启的方式 1.3.读一致性问题及其解决 2.MVCC解决读一致性问题原理 2.1.MVCC概念 2.2.准备环境 3.MySQL中的锁 3.1.行锁之共享锁 3.2.行锁之排它锁 1.数据库事务 数据库事务&#xff08;Transaction&#xff09;是一种…

C语言文件操作

本文重点&#xff1a; 什么是文件 文件名 文件类型 文件缓冲区 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 文件结束的判定 什么是文件 磁盘上的文件是文件。 但是在程序设计中&#xff0c;我们一般谈的文件有两种&#xff1a;程序文件、数…

Ubuntu24.04初始化MySQL报错 error while loading shared libraries libaio.so.1

Ubuntu24.04初始化MySQL报错 error while loading shared libraries: libaio.so.1 问题一&#xff1a;libaio1不存在 # 提示libaio1不存在 [rootzabbix-mysql-master.example.com x86_64-linux-gnu]#apt install numactl libaio1 Reading package lists... Done Building depe…