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

这篇具有很好参考价值的文章主要介绍了从零开始的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)

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型




2.备案信息查询

备案信息的作用

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

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


备案信息查询网站

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

  • 天眼查

  • 域名信息备案管理系统

  • 域名助手


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

3.子域名收集

子域名的概念

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

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


子域名查询网站

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

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

DNS侦测网站

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

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

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

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


4.host碰撞发掘隐藏域名

什么是隐藏域名

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

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


实战演示

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


而历史解析IP足足有17条

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

python3 IP_hosts_scan_multithreading.py

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


二、绕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技术

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


绕过CDN的方法

1.空间搜索cert证书

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

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

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


2.查询历史DNS解析记录

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

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

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


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


3.空间搜索ico图标

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


4.SSL证书查询真实IP

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

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型




5.邮箱获取真实IP

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


6.网站敏感文件泄露

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型




在线端口检测网站

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

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型




四、旁站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还可以查看其绑定了哪些域名

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


网络空间搜索

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


五、敏感文件泄露

扫描工具

1.御剑

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


2.7kbstorm

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


查看操作日志: git log

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

git reset --hard aaee477e0d92f40ba5bff4b1fd0529f553abca43

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


2..Svn泄露

简介

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

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

  • 使用的工具为: Seay-Svn

漏洞利用

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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


解决方案
  • 不要使用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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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/

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


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

githacker使用,Web渗透,网络,web安全,网络安全,网络攻击模型


六、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.输出结果到文件:文章来源地址https://www.toymoban.com/news/detail-666319.html

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

到了这里,关于从零开始的Web渗透:信息收集步骤详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 渗透测试 | APP信息收集

    0x00 免责声明         本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担!            

    2024年01月17日
    浏览(44)
  • 渗透测试 | IP信息收集

    0x00 前言         信息收集可以说是在渗透测试中最重要的一部分,好比说一个特工接到一个任务,要求窃取 A 建筑内的情报,那么这个特工首先要进行信息收集,了解这个建筑的保卫情况、建筑地图、人员信息、情报位置等。收集到建筑的信息越多,就说明渗透测试的攻

    2024年02月04日
    浏览(45)
  • 《渗透测试》-前期信息收集及工具介绍01(信息收集简介、JSFinder、OneForAll)

    信息收集是指通过各种方式获取所需要的信息,以便我们在后续的渗透过程更好的进 行。比如目标站点IP、中间件、脚本语言、端口、邮箱等等。信息收集包含资产收集 但不限于资产收集。 1、信息收集是渗透测试成功的保障 2、更多的暴露面 3、更大的可能性 1、主动信息收

    2024年02月03日
    浏览(54)
  • kali渗透测试系列---信息收集

    信息收集阶段可以说是在整个渗透测试或者攻击很重要的阶段,毕竟知己知彼才能百战百胜,否则从目标主机使用的平台到数据库的使用再到 web 应用开发的语言等等的种类多如繁星我们一个个的尝试,什么时候才是一个头。 而对于信息的收集我们主要从这样的几个方面来收

    2024年02月03日
    浏览(43)
  • 渗透测试之信息收集篇-服务器子域名收集

    你可能对某个服务器渗透失败,没有发现入侵点,所以我们可以考虑扩大攻击面,对target.com的子域名 进行渗透,然后横向移动。 使用bbot对目标子域进行收集 https://github.com/blacklanternsecurity/bbot/wiki#installation 关于子域名收集,推荐一篇很好的文章,文章地址:https://blog.blackl

    2024年02月16日
    浏览(35)
  • 内网渗透—域环境之信息收集

      渗透测试的本质就是信息收集,不管是web还是在内网中,信息收集的全面性会直接影响后续的渗透测试工作,通常web端使用文件上传等进入内网后,就需要判断当前的网络环境和权限,为后续的横向移动等工作做好铺垫。   域英文叫DOMAIN——域(Domain)是Windows网络中独立

    2024年02月06日
    浏览(42)
  • 渗透测试-C段主机信息收集

    提示:提示:注意:网络安全环境需要大家共同维护,请大家共同遵守网络安全规章制度,仅供大家参考,造成的法律后果,不由本人承担 学过计算机的同学都知道IP地址这一个概念,IP地址又可以分为A类,B类,C类等,A类的网络位为8位,主机位24位,B类的网络位为16位,主

    2024年02月06日
    浏览(48)
  • 渗透测试-第一步 信息收集 【详细介绍】

    1. 信息收集 黑客的第一步要做的事情永远是信息收集 同样渗透也是 什么是信息收集? 信息收集是最具有灵魂的一步,通常拿到渗透测试站,需要对该站进行信息收集,只有收集到了足够多的信息后,对方暴露出来的问题越多,信息越多,攻击的面也越广。知己知彼百战百胜

    2023年04月18日
    浏览(83)
  • 《Kali渗透基础》03. 被动信息收集

    本系列侧重方法论,各工具只是实现目标的载体。 命令与工具只做简单介绍,其使用另见《安全工具录》。 本文以 kali-linux-2022.3-vmware-amd64 为例。 被动信息收集 指从公开渠道获取信息,主要是已经公开的信息。当然也不排除私密但是泄露的信息。 要点 : 公开渠道可获得的

    2024年02月06日
    浏览(43)
  • 《Kali渗透基础》06. 主动信息收集(三)

    本系列侧重方法论,各工具只是实现目标的载体。 命令与工具只做简单介绍,其使用另见《安全工具录》。 本文以 kali-linux-2022.3-vmware-amd64 为例。 识别开放端口上运行的应用与服务,可以提高攻击效率。 方法: Banner 捕获 建立连接后获取 Banner 服务指纹识别 另类识别方法

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包