从零开始的Web渗透:信息收集步骤详解

一、域名信息收集

1.获取域名的whois信息是、

什么是Whois

Whois是一种传输协议,用于查询域名注册所有者等信息。它可以帮助您查询域名是否已被注册,以及获取有关已注册域名的详细信息,例如域名注册商和域名所有人。

早期的Whois查询通常使用命令行接口。现在,一些网页接口简化了在线查询工具,使您可以一次向多个数据库查询。无论使用哪种方式,这些工具仍然依赖Whois协议向服务器发送查询请求。命令行接口工具仍然被系统管理员广泛使用。

Whois通常使用TCP协议43端口。每个域名/IP的Whois信息由对应的管理机构保存。

使用Whois查询,您可以获得域名注册者的电子邮件地址等信息。对于中小型网站,域名注册者通常是网站管理员。您还可以利用搜索引擎对Whois查询到的信息进行搜索,以获取更多有关域名注册者的个人信息


Whois查询网站

以下是常用的Whois查询网站

  • 站长之家whois查询

  • 阿里云whois查询

  • 爱站whois查询

  • 腾讯云whois查询

  • 美橙互联whois查询

  • 爱名网whois查询


此处用站长之家的whois查询为示例, 输入你要查询的网站域名,此处我以博客园域名为例(cnblogs.com)

从零开始的Web渗透:信息收集步骤详解_第1张图片


通过whois反查域名的联系人和联系邮箱获取更多信息

从零开始的Web渗透:信息收集步骤详解_第2张图片




2.备案信息查询

备案信息的作用

备案信息对于打击不良互联网信息传播,防止非法网站经营活动非常重要。如果网站没有进行备案,很可能会被查处并关停。备案信息可以提供网站的所有者、运营者、主办单位等相关信息,有助于网站的规范管理和监管。

此外,备案信息还是企业申请营业执照、税务登记证、开展网上交易等业务的必要条件之一。因此,对于任何想要在互联网上开展合法经营活动的组织或个人来说,进行备案是必不可少的一步


备案信息查询网站

以下是常用的查询备案信息的网站:

  • 天眼查

  • 域名信息备案管理系统

  • 域名助手


如下图所示为博客园域名的备案信息

从零开始的Web渗透:信息收集步骤详解_第3张图片

3.子域名收集

子域名的概念

常见的子域名资产类型包括办公系统、邮箱系统、论坛、商城、其他管理系统和网站管理后台等。

这些资产通常可以在目标站点的官网上找到相关信息。探测和分析子域名中的各种资产类型是提高安全性和减少风险的重要步骤,对于黑客或安全研究人员来说尤为重要


子域名查询网站

  • https://phpinfo.me/domain/
  • https://www.t1h2ua.cn/tools/
  • https://dnsdumpster.com/
  • https://site.ip138.com/
  • https://hackertarget.com/find-dns-host-records/

如下图所示对博客园域名进行子域名爆破

从零开始的Web渗透:信息收集步骤详解_第4张图片


使用fofa搜索博客园的子域名:domain="cnblogs.com"

从零开始的Web渗透:信息收集步骤详解_第5张图片


将搜索的资产导出来并下载, 通过分析大概得知目标域名的大概ip段

从零开始的Web渗透:信息收集步骤详解_第6张图片

DNS侦测网站

DNS侦测指的是一种网络安全测试技术,其主要目的是通过查询DNS服务器获取目标主机的DNS记录信息,并分析这些信息来获得有关目标主机的详细信息,例如IP地址、主机名、域名、子域名、MX记录等。通过对DNS记录的分析,可以揭示出目标主机的一些潜在安全风险,例如未授权的子域名、未经授权的主机等等

以下是常用的DNS侦测网站:

  • https://dnsdumpster.com/
  • https://dnslytics.com/

如下图所示, 对博客园域名做DNS侦测

从零开始的Web渗透:信息收集步骤详解_第7张图片


4.host碰撞发掘隐藏域名

什么是隐藏域名

隐藏域名指的是通过限制IP直接访问的方式,将网站的主要业务通过域名进行访问的一种技术手段。这种做法在访问目标资产IP时通常会返回401、403、404、500等错误响应,但是用域名请求却能够正常访问业务系统。这是现代互联网公司常用的一种方式,可以有效增强网站的安全性和稳定性。

大多数域名需要绑定host才能正常请求访问。因此,可以通过将收集到的资产域名和IP地址结合起来,以IP段+域名的形式进行捆绑碰撞,来发现隐藏的资产


实战演示

首先通过微步在线查询目标网站的当前解析ip和历史解析ip, 此处收集cnblogs.com的当前解析ip有101.37.113.127121.40.43.188

从零开始的Web渗透:信息收集步骤详解_第8张图片


而历史解析IP足足有17条

从零开始的Web渗透:信息收集步骤详解_第9张图片


再用fofa或者其他子域名爆破工具收集博客园网站的子域名

从零开始的Web渗透:信息收集步骤详解_第10张图片


打开Hosts_scan工具, 将收集到的ip和域名分别填入其目录下的ip.txthost.txt

从零开始的Web渗透:信息收集步骤详解_第11张图片


在Hosts_scan工具的文件夹有IP_hosts_scan.py(单线程)和IP_hosts_scan_multithreading.py(多线程), 这里执行IP_hosts_scan_multithreading.py

python3 IP_hosts_scan_multithreading.py

从零开始的Web渗透:信息收集步骤详解_第12张图片


当工具扫描完毕后可在hosts_ok.txt查看扫描结果

从零开始的Web渗透:信息收集步骤详解_第13张图片


二、绕CDN获取真实ip

CDN的概念

CDN是Content Delivery Network的缩写,即内容分发网络。CDN通过在全球各地分布式部署节点,解决了跨运营商和跨地域访问的问题,大大降低了访问延迟。CDN的边缘节点可以处理大部分的请求,从而分流流量,有效减轻了网站服务器的负载。

当网站采用CDN技术时,我们需要对CDN进行绕过才能获取到网站的真实IP地址。CDN在网络安全中也起到了保护作用,可以对网站进行缓存、加速、负载均衡、防护等操作。同时,CDN也可以提高网站的可用性和稳定性,提升用户体验


判断网站是否存在CDN

通过对目标服务器进行多地ping测试来判断CDN是否存在

多地ping: 对目标服务器使用不同地区进行ping测试

以下是常用的多地ping网站:

  • 爱站网超级ping
  • 站长工具多ping

例如此处对博客园网站www.cnblogs.com进行多地ping测试, 此处测试结果出现了多个响应IP, 则代表此网站使用了CDN技术

从零开始的Web渗透:信息收集步骤详解_第14张图片


绕过CDN的方法

1.空间搜索cert证书

此处以博客园网站为例, 首先查看博客园网站源码来获取title值:“博客园 - 开发者的网上家园”

从零开始的Web渗透:信息收集步骤详解_第15张图片


随后用谷歌浏览器查看网站的证书序列号(16进制), 随后将此序列号转换成10进制

什么是网站证书序列号:网站的证书序列号(Certificate Serial Number)是数字证书中唯一标识该证书的一个序号。在SSL/TLS加密协议中,证书序列号是证书中的一个重要元素,它由证书颁发机构(CA)在证书颁发时生成,并与证书内容一起签名。证书序列号通常是一个大于等于零的整数,并且必须是唯一的。在HTTPS通信中,当客户端向服务器发起连接请求时,服务器会将自己的数字证书发送给客户端,客户端会验证证书的合法性,并且会检查证书序列号是否与之前保存的序列号一致,以保证通信的安全性。证书序列号也可以用于证书吊销、证书更新等操作中

03E3AC5347CD4A3862C2855A71A6F94F(十六进制) => 5169830546853086247231079365397117263(十进制)

从零开始的Web渗透:信息收集步骤详解_第16张图片


打开fofa网站, 输入country="CN" && title="博客园 - 开发者的网上家园" && cert="5169830546853086247231079365397117263", 查询返回3条独立ip, 随后依次匹对html源码来筛选出网站的真实ip

从零开始的Web渗透:信息收集步骤详解_第17张图片


2.查询历史DNS解析记录

在查询到的历史解析记录中,最早的历史解析ip很有可能记录的就是真实ip,快速查找真实IP推荐此方法,但并不是所有网站都能查到。如下为常用的DNS解析网站

  • DNSDB: https://dnsdb.io/zh-cn/

  • 微步查询: https://x.threatbook.com


个人认为微步查询网站最为有效, 此处查询博客园网站的dns历史解析记录

从零开始的Web渗透:信息收集步骤详解_第18张图片


3.空间搜索ico图标

可以通过浏览器F12或者目录文件扫描工具查找目标网站的ico图标并将其下载, 通常图标文件名为favicon.ico

从零开始的Web渗透:信息收集步骤详解_第19张图片


将ico文件拖入fofa网站即可查询到真实ip

从零开始的Web渗透:信息收集步骤详解_第20张图片

从零开始的Web渗透:信息收集步骤详解_第21张图片


4.SSL证书查询真实IP

证书颁发机构(CA)必须将其发布的每个SSL/TLS证书发布到公共日志中。SSL/TLS证书通常包含域名、子域名和电子邮件地址等敏感信息,因此成为攻击者进行攻击和侵入的切入点之一

首先在https://crt.sh上查找目标网站(www.t00ls.com)的SSL证书:B8FDB19E5538CABC0F33F73347A7C50CB0FEAC60851504B4CD0B94F570A504E8

从零开始的Web渗透:信息收集步骤详解_第22张图片


随后点击SSL证书的hash跳转至censys网站, 搜索功能切换至Hosts来搜索真实IP,此处查询到的真实ip为47.243.238.59

从零开始的Web渗透:信息收集步骤详解_第23张图片




5.邮箱获取真实IP

当网站向你的电子邮箱发送邮件时,通常会在邮件的头部中附带发送服务器的IP地址信息。通过在邮件客户端中点击“显示邮件原文”等选项,可以查看到完整的邮件头部信息,包括发件人、收件人、主题、发送时间等内容,以及发送服务器的IP地址。邮件发送服务器的IP地址可能是该网站的真实IP地址,也可能是中转服务器的IP地址

从零开始的Web渗透:信息收集步骤详解_第24张图片

从零开始的Web渗透:信息收集步骤详解_第25张图片


6.网站敏感文件泄露

例如phpinfo文件泄露, 查看$_SERVER['SERVER_ADDR']即可获取真实ip

从零开始的Web渗透:信息收集步骤详解_第26张图片


7.F5 LTM解码

当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取

例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小

节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后往前读,

以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就

是最后的真实ip。


8.获取APP和小程序IP

burpsuite配置代理服务器:192.168.132.1:8080

从零开始的Web渗透:信息收集步骤详解_第27张图片


下载mumu模拟器后打开浏览器访问代理服务器, 然后右上角的CA Certificate下载CA证书

从零开始的Web渗透:信息收集步骤详解_第28张图片


打开文件管理器的$MuMu共享文件夹, 双击cacert.der将证书命名为burpsuite, 随后会要求你设置pin码

从零开始的Web渗透:信息收集步骤详解_第29张图片

从零开始的Web渗透:信息收集步骤详解_第30张图片


转到WLAN设置, 长按连接的wifi修改网络, 将其HTTP代理设置为burpsuite代理服务器(192.168.132.1:8080)

从零开始的Web渗透:信息收集步骤详解_第31张图片

从零开始的Web渗透:信息收集步骤详解_第32张图片


配置完成后开始使用Burpsuite进行抓包, 例如抓取Bilibili的发包ip, 此处数据包的域名为data.bilibili.com

从零开始的Web渗透:信息收集步骤详解_第33张图片


对以上域名进行ping测试发现此域名做了CDN, 后续还得继续寻找真实ip

从零开始的Web渗透:信息收集步骤详解_第34张图片


也可以抓小程序的包来获取域名ip, 步骤和上述一致, 下图为抓取我校外卖小程序的数据包

从零开始的Web渗透:信息收集步骤详解_第35张图片


9.网站配置不当

有些网站为了方便用户访问, 会将www.test.comtest.com解析到同一个站点,而CDN只配置了www.test.com,通过访问test.com就可绕过 CDN 。

同样地,如果站点同时支持http和https访问,但是CDN只配置 https协议,那么这时访问http就可以轻易绕过CDN


10.扫描全网获取真实ip

先省略




三、端口扫描

常见的端口服务

端口号 服务 渗透攻击类型
212269 FTP/TFTP文件传输协议 暴力破解、溢出攻击
22 SSH远程连接服务 OpenSSH暴力破解
23 Telnet远程连接 暴力破解、嗅探攻击
25 SMTP邮件服务 邮件伪造
53 DNS域名系统 DNS劫持、DNS缓存投毒、DNS欺骗、DNS隧道穿透防火墙
6768 DHCP 劫持、欺骗攻击
110 POP3 暴力破解攻击
139 Samba 暴力破解、未授权访问、远程代码执行
143 IMAP 暴力破解
161 SNMP 暴力破解
389 LDAP 注入攻击、未授权访问
512513514 Linux R 使用Rlogin
873 Rsync 未授权访问
1080 Socket 内网渗透
1352 Lotus 弱口令、信息泄露
1433 MSSQL 系统用户登录、注入攻击
1521 Oracle TNS注入攻击
2049 NFS 配置不当导致的攻击
2181 Zookeeper 未授权访问
3306 MySQL 暴力破解、拒绝服务攻击
3389 RDP 远程暴力破解、Shift后门
4848 GlassFish 控制台弱口令绕过
5000 Sybase/DB2 暴力破解、注入攻击
5432 PostgreSQL 缓冲区溢出、注入攻击、弱口令暴力破解
5900 VNC 弱口令暴力破解
6379 Redis 弱口令暴力破解
7001 WebLogic Java反序列化、控制台弱口令、控制台部署WebShell
8069 Zabbix 远程命令执行
8080-8090 Web 常见Web攻击和漏洞利用
9090 WebSphere控制台 控制台弱口令、Java反序列化

nmap扫描工具

Nmap是一款高效的端口扫描工具,功能丰富、操作简单,能够扫描出目标主机上开放的端口,还能进行操作系统、服务版本等信息探测,并能够识别各种类型的防火墙、IDS等安全设备。Nmap支持多种扫描技术,包括TCP、UDP、SYN、ICMP等,支持多种操作系统,包括Windows、Linux、macOS等,输出结果清晰明了,能够帮助安全人员快速定位目标漏洞并进行修复


命令参数

  • -v: 显示扫描过程
  • -A: 全面系统检测,启用脚本检测扫描
  • -p: 指定端口
  • -O: 探测目标系统的操作系统,但可能出现误报
  • -sV: 获取目标服务版本信息
  • -sn: 查看目标是否在线
  • -sT: TCP扫描,可能在目标主机日志留下记录
  • -sU: UDP扫描,较慢
  • -Pn: 适用于防火墙禁PING扫描
  • -iL:扫描IP段
  • --script:搭配脚本进行扫描

常用操作

1. 扫描C段主机存活数

Nmap -sn 192.168.1.0/24

2. 跳过ping扫描主机(防止主机关闭了ping检测)

Nmap -Pn 192.168.0.1

3. 列出C段主机,且不留痕迹

Nmap -sL 192.168.0.0/24

4. 探测目标主机IP C段指定的端口

Nmap -pS80,443 192.168.0.0/24   //SYN扫描

Nmap -pU80,443 192.168.0.0/24  //UDP扫描

5. 扫描目标主机服务版本号与开放的端口

nmap -sU -sT -p0-65535 192.168.122.1

6. 扫描多个IP或者IP段, 将IP存到ip.txt文件中

nmap -iL ip.txt

搭配脚本

nmap常用脚本 描述
vuln 检测目标主机上的已知漏洞
http-enum.nse 扫描网站敏感目录和文件
default 默认脚本扫描,收集各种应用服务信息
auth 检测弱口令或绕过鉴权的漏洞
broadcast 内网服务探测
whois 查询网站的简单信息
broadcast-netbios-master-browser 发现内网网关地址
http-robots.txt.nse 检测robots文件内容
http-slowloris 执行DoS攻击,威力较小
dns-brute.nse 子域名爆破
smb-brute.nse 检测内网Samba服务器,并对其暴力破解
ms-sql-brute 扫描MSSQL服务并对其暴力破解
mysql-empty-password.nse 扫描MySQL服务并对其暴力破解

1. 扫描网站敏感目录

Nmap -p 80 --script=http-enum.nse www.xxx.com

2. 绕开鉴权,也可以检测弱口令

Nmap -p 80 --script=auth www.xxx.com

3. 使用默认脚本,收集到信息后对具体服务进行攻击

Nmap -p 80 --script=default www.xxx.com

4. 检测常见的Web漏洞

Nmap -p 80 --script=vuln www.xxx.com

图形化界面Zenmap

从零开始的Web渗透:信息收集步骤详解_第36张图片




在线端口检测网站

  • HackerTarget:提供简单易用的在线端口扫描工具,支持Nmap、Zmap等多种扫描方式,同时提供扫描报告和漏洞扫描服务。
  • Pentest-Tools:提供在线的TCP端口扫描工具,支持Nmap和Masscan两种扫描方式,可以自定义端口范围和扫描选项。
  • Port Checker:提供简单易用的在线端口扫描工具,支持常见的TCP和UDP端口扫描,同时提供IP地址查询、DNS解析等功能。
  • IPVoid:提供在线的TCP和UDP端口扫描工具,可以自定义端口范围和扫描选项,同时提供域名查询和反向IP查询等功能。
  • T1Shopper:提供简单易用的在线端口扫描工具,支持TCP和UDP端口扫描,同时提供WHOIS查询、DNS解析等功能
  • coolaf:提供在线端口扫描

如下图所示,对一个网站进行端口扫描

从零开始的Web渗透:信息收集步骤详解_第37张图片




四、旁站C段

什么是旁站与C段

  • 旁站: 指与目标站点在同一服务器但不同端口的站点。

  • C段: 指与目标站点在同一服务器C段的站点,通常为同一台物理服务器或同一组服务器。可通过C段扫描查找其他潜在目标站点或系统


在线网站查询

如下是查询旁站C段的常用网站:

  • http://stool.chinaz.com/same

  • https://chapangzhan.com/

  • https://c.webscan.cc/


例如此处我要查找的ip为104.21.18.55, 打开网站https://chapangzhan.com/输入要查找的ip,查询结果显示了在同一C段的站点, 单击ip还可以查看其绑定了哪些域名


网络空间搜索

使用Fofa搜索旁站, 只需输入ip="104.21.18.55", 会显示该ip下不同端口及对应的应用服务

从零开始的Web渗透:信息收集步骤详解_第38张图片


若要搜索C段则输入ip="104.21.18.0/24"

从零开始的Web渗透:信息收集步骤详解_第39张图片


五、敏感文件泄露

扫描工具

1.御剑

在其配置文件目录可以设置爆破字典

从零开始的Web渗透:信息收集步骤详解_第40张图片


运行御剑, 添加需扫描的网址和选择爆破字典

从零开始的Web渗透:信息收集步骤详解_第41张图片


2.7kbstorm

从零开始的Web渗透:信息收集步骤详解_第42张图片


3.bbscan

先用pip2.7安装工具所需的库

pip2.7 install -r requirements.txt

扫描单个web服务, 例如扫描www.test.com

python2 BBScan.py --host www.test.com

扫描www.test.com/28的所有主机

python2 BBScan.py --host www.test.com --network 28

–network: 设置子网掩码, 小公司设为28~30, 大公司设为24~26


扫描hosts.txt文件下的所有主机

python2 BBScan.py -f hosts.txt

4.dirsearch

使用参数

dirsearch下载地址: git clone https://github.com/maurosoria/dirsearch.git

工具使用参数如下:

参数 描述
-h 查看帮助
-u 设置url
-l 设置url列表文件
-e 设置网站脚本类型,后跟php,asp,aspx等已知类型,不清楚写*
-s 设置请求之间的延时时间
-t 设置扫描线程数
-x 设置要排除的状态码
-w 设置爆破的字典
-H 设置请求头
-c 设置cookie

常用操作

1.扫描url.txt文件里的所有url

dirsearch.py -l url.txt

2.扫描指定网站的php文件,以及排除403状态码

dirsearch.py -u http://127.0.0.1  -e php,zip -x 403

3.扫描所有类型并且设置线程为20

 dirsearch.py -u http://127.0.0.1 -e* -t 20

4.使用自定义字典扫描

dirsearch.py -u http://127.0.0.1  -e* -w db/php.txt

5.使用随机ua头且指定cookie扫描

dirsearch.py -u http://127.0.0.1  -e* --random-agents -c "user=Mo60;"

源码泄露

1..Git泄露

简介

Git是一个主流的分布式版本控制系统,开发人员经常会遗忘.git文件夹从而导致源码泄露

  • 此处演示的靶场环境为:https://www.ctfhub.com/#/skilltree
  • 使用的工具为:GitHacker

使用kali linux安装GitHacker: pip3 install GitHacker, 安装完后即可使用githacker命令


漏洞利用

githacker使用方法如下:

githacker --url <网站地址> --output-folder <输出文件夹>
githacker --url http://challenge-ac6c09cab4c14575.sandbox.ctfhub.com:10800/ --output-folder 1

从零开始的Web渗透:信息收集步骤详解_第43张图片

从零开始的Web渗透:信息收集步骤详解_第44张图片


进入输出文件夹查看执行结果:ls -a

image-20220926150553336


查看操作日志: git log

从零开始的Web渗透:信息收集步骤详解_第45张图片


发现存在3个日志操作, 分别是移除flag、添加flag和初始化, 我们要做的是回滚到含有flag日志的git版本(即添加flag的日志操作),使用git reset --hard <版本号> 命令, 然后再查看含有flag的txt文件

git reset --hard aaee477e0d92f40ba5bff4b1fd0529f553abca43

image-20220926150930647


2..Svn泄露

简介

SVN是源代码版本管理软件,在使用Svn管理本地代码过程中,会自动生成名为.svn的隐藏文件夹,其中包含重要的源码信息,但一些网站管理员在发布代码时,不愿意使用“导出”功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境

黑客可以借助其包含版本信息追踪的entries文件来以此摸清站点结构, 通常此文件的目录为: .svn/entries

  • 使用的工具为: Seay-Svn

漏洞利用

打开Seay-Svn工具, 添加.svn/entries文件的目录地址, 随后即可下载源码文件

从零开始的Web渗透:信息收集步骤详解_第46张图片

从零开始的Web渗透:信息收集步骤详解_第47张图片


解决方案

  • 不要使用svn checkoutsvn up更新服务器上的代码,使用svn export(导出功能)代替

  • 服务器软件(Nginx、apache、tomcat、IIS)等设置目录权限,禁止访问.svn目录


3..Hg泄露

简介

在初始化项目时, HG会在当前文件夹下创建一个.hg隐藏文件夹, 此文件夹下包含代码和分支修改记录等信息

  • 漏洞利用工具: dvcs-ripper

漏洞利用

rip-git.pl -v -u http://www.example.com/.git/

4..Ds_Store泄露

简介

在发布代码时未删除文件夹中隐藏的.DS_Store文件, 从而导致敏感文件泄露

  • 漏洞利用工具: dsstoreexp

漏洞利用

python2 ds_store_exp.py http://www.example.com/.DS_Store

5.WEB-INF泄露

简介

WEB-INF 是Java Web应用程序的安全目录。要在页面中直接访问其中的文件,必须通过 web.xml 文件对要访问的文件进行相应映射。

通常,某些Web应用程序会使用多个Web服务器进行搭配,以解决单个Web服务器的性能瓶颈、实现负载均衡优势和实现分层结构的安全策略等。在使用这种架构时,由于对静态资源的目录或文件的映射配置不当,可能会引发安全问题,导致 web.xml 等文件被意外暴露

WEB-INF主要包含以下的文件或目录:

文件/目录 描述
/WEB-INF/web.xml Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/ 含有站点所有的class文件,包括servlet class和非servlet class,它们不能包含在 .jar文件
/WEB-INF/lib/ 存放web应用需要的各种Jar文件,如数据库驱动jar文件
/WEB-INF/src/ 源码目录,按照包名结构放置各个java文件
/WEB-INF/database.properties 数据库配置文件

漏洞利用

通过找到 web.xml 文件,可以推断出 class 文件的路径,然后直接访问 class 文件。通过反编译 class 文件,可以获取网站的源代码。

通常情况下,JSP引擎默认禁止访问 WEB-INF 目录。但是,在使用Nginx配合Tomcat进行负载均衡或集群等操作时,可能会出现安全问题。问题的原因在于,Nginx不会考虑到其他类型引擎(如JSP引擎)所导致的安全问题,并将其纳入自身的安全规范中(这样的耦合性太高)。因此,要解决这个问题,可以修改Nginx的配置文件,禁止访问 WEB-INF 目录:

javascriptCopy codelocation ~ ^/WEB-INF/* {
    deny all;
}

或者返回404错误:

javascriptCopy codelocation ~ ^/WEB-INF/* {
    return 404;
}

js敏感信息

网站的url链接写到了js里面, 而js的api接口里包含用户相关信息

以下介绍几款扫描js的api接口的工具


1.JsFinder

使用参数

参数 描述
-u 填写url地址
-d 使用深度爬取
-f 批量扫描指定url文件
-ou 指定文件名保存URL链接
-os 指定文件名保存子域名
-c 指定cookie

常用操作

1.深度扫描指定网站的js敏感信息

python3 JSFinder.py -u https://www.cnblogs.com/ -d

2.批量扫描指定url文件

python3 JSFinder.py -f url.txt 

3.将扫描到的url和子域名分别保存在url.txt和domain.txt文件中

python3 JSFinder.py -u https://www.cnblogs.com/ -d -ou url.txt -os domain.txt

从零开始的Web渗透:信息收集步骤详解_第48张图片


2.Packer-Fuzzer

简介

随着Web前端打包工具的流行,越来越多的网站使用以Webpack为代表的打包器构建。通常,这类打包器生成的JS文件数量和代码量都非常庞大,给手工测试带来了很大的不便。因此,Packer Fuzzer软件应运而生。

Packer-Fuzzer是一款针对Webpack等前端打包工具构建的网站进行快速扫描的工具。

参数 描述
-u (–url) 指定URL地址
-c (–cookie) 指定Cookie,例如: -c "POC=666;SIR=233"
-t (–type) 包括基础版和高级版,为空时默认使用基础版。高级版会对所有API进行重新扫描并模糊提取API对应的参数,进行SQL注入、水平越权、弱口令、任意文件上传漏洞检测。使用adv选项进入高级版,例如:-t adv
-p (–proxy) 全局代理,可为空。若填写则全局使用代理IP,例如:-p https://hack.cool:8080
-f (–flag) SSL连接安全选项。为空时默认关闭状态,阻止所有不安全连接。若想忽略SSL安全状态,使用1命令开启,忽略所有证书错误,例如:-f 1
-s (–silent) 静默选项。开启后,所有询问YES或NO的操作自动设置为YES。参数后内容为本次扫描报告名称(自定义报告名),可用于无人值守、批量操作、插件调用等模式,例如:-s Scan_Task_777

使用方法

python3 PackerFuzzer.py -u http://www.lingnan.edu.cn/

从零开始的Web渗透:信息收集步骤详解_第49张图片


扫描的结果保存在reports目录,结果文件后缀名为html和docx

从零开始的Web渗透:信息收集步骤详解_第50张图片


六、CMS识别

CMS的概念

CMS是Content Management System的缩写,即内容管理系统。它是一种用于网站内容管理的软件,允许用户通过简单的操作方式来发布、修改、删除网站上的内容。常见的CMS包括WordPress、Joomla、Drupal等,它们提供了丰富的功能和插件,方便用户进行网站建设和管理。

在渗透测试中,CMS的概念通常指通过对网站进行指纹识别来确定所使用的CMS类型以及版本信息。这对于攻击者来说非常重要,因为不同版本的CMS可能存在不同的漏洞和安全问题。攻击者可以利用漏洞来入侵目标网站,甚至获取网站管理员的权限,造成更大的安全威胁


在线查询cms网站

  • 云悉: http://www.yunsee.cn/

  • 潮汐指纹: http://finger.tidesec.net/

  • bugscaner: http://whatweb.bugscaner.com/look/


Kali的WhatWeb命令

WhatWeb 是一个开源的网络指纹识别工具,用于识别 Web 应用程序的技术栈。它能够自动扫描网站并快速地获取有关目标站点的信息,包括 Web 服务器的类型、运行的脚本语言、Web 应用程序框架、Web 应用程序的版本号、CMS 系统以及其他有用的信息

使用参数

以下是WhatWeb命令的常用参数:

  • -v:输出详细信息
  • -a:设置并发数
  • -o:将输出结果写入文件

常用操作

1.扫描单个站点:

whatweb www.example.com

2.扫描多个站点:

whatweb www.example.com www.test.com

3.输出结果到文件:

whatweb -v -a 3 -o /path/to/output.txt www.example.com

你可能感兴趣的:(Web渗透,网络,web安全,网络安全,网络攻击模型)