信息收集(Web 安全)

这篇具有很好参考价值的文章主要介绍了信息收集(Web 安全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,概述

渗透测试(Penetration Testing)是一种评估计算机系统、网络或应用程序安全性的方法。通过模拟攻击者的行为,渗透测试旨在发现系统中存在的安全漏洞和弱点,以便组织可以及时修复这些问题,从而提高其安全性

渗透测试一般的流程如下:

信息收集(Web 安全),网络安全

       在这其中,想要做好渗透的整个过程,首先要做好信息收集,就像是房子的地基一样,所以信息收集在渗透测试中就显得尤为重要;

二,域名信息收集

1,什么是域名

       首先来看IP地址,IP地址是一组用于在网络上标识和定位设备的数字标识符。它可以用来识别设备的位置和连接到网络的方式。IP地址通常由四个十进制数构成,每个数的取值范围是0到255,192.168.1.1, IP地址可以是公共的,用于在互联网上进行通信,也可以是私有的,用于在局域网内进行通信。

       而域名是用于在互联网上标识和定位特定网站或服务的文字标识符。域名通常由多个部分组成,以点号分隔,比如www.example.com。域名的最后一部分被称为顶级域名如.com、.org、.net等。域名的作用是将人类可读的名称映射到计算机网络中的IP地址,从而方便用户访问互联网上的各种资源。例如,当用户在浏览器中输入一个域名时,浏览器会通过域名系统(DNS)将域名解析为相应的IP地址,然后连接到该IP地址对应的服务器上获取网页内容。

2,域名的分类

域名可以根据其结构和用途进行分类,以下是一些常见的域名分类:

  1. 顶级域名(TLD):顶级域名是域名中最高级别的部分,通常表示国家、地区或特定类型的组织。例如,.com、.org、.net 是常见的通用顶级域名,而像.cn(中国)、.uk(英国)、.jp(日本)是表示国家或地区的顶级域名。

  2. 二级域名:二级域名是位于顶级域名下面的部分,通常用于特定的组织、公司或个人。例如,在example.com中,“example”就是二级域名。

  3. 子域名:子域名是位于二级域名之下的部分,可以用于对网站内容进行更细分或组织。例如,在www.example.com中,“www”就是子域名。

  4. 国际化域名(IDN):国际化域名使用非ASCII字符集,允许域名使用非拉丁字母的字符,以便支持不同语言和文化背景的用户。

  5. 基于目的的域名:有些域名是专门用于特定目的的,例如.edu用于教育机构,.gov用于政府机构,.mil用于军事机构等。

3,与域名相关联的信息

会涉及到域名的所属人的姓名,邮箱,电话......

https://wanwang.aliyun.com/   //阿里云域名查询
https://whois.chinaz.com/     //站长之家域名查询
https://whoissoft.com/
https://webwhois.cnnic.cn/    //国家域名管理机构

在 kali-Linux 中,直接使用  whois +域名 命令即可查询相关信息

可以使用ICP备案查询

       ICP备案(Internet Content Provider Recordal)是中国互联网管理部门要求在中国境内提供互联网信息服务的网站必须进行备案登记。备案登记是指网站所有者向中国国家互联网信息办公室提交备案申请,经审核通过后,获得备案号并在网站上进行公示的过程。

       如果你想查询一个网站是否已经完成了ICP备案登记,你可以访问中国国家互联网信息办公室的备案管理系统网站,需要注意的是,根据中国的相关法规,未经备案登记的网站是不允许在中国境内提供互联网信息服务的。因此,如果你在中国境内运营网站,需要确保你的网站已经完成了ICP备案登记。

http://www.beian.miit.gov.cn/

4,子域名的查询

       子域名是位于主域名之下的域名部分,通常用于对网站内容进行更细分或组织。子域名的格式通常为"subdomain.domain.com",其中"subdomain"是子域名,"domain.com"是主域名。

查询子域名:

1,枚举(按照顺序,进行尝试)

2,字典猜解

可以使用 Layer 暴力猜解子域名

信息收集(Web 安全),网络安全

       子域名的利用:可以将子域名当作是域名,对子域名进行查询,或者相对来说,子域名对应的网站安全性相对来说要弱一点,可以对子域名先下手;

5,DNS查询

        DNS(Domain Name System)是互联网中用于将域名转换为对应 IP 地址的分布式数据库系统。它充当了互联网的“电话簿”,将易记的域名映射到实际的 IP 地址,这样用户就可以通过输入域名来访问网站,而不需要记住复杂的 IP 地址。

DNS的主要功能包括以下几点:

  1.  域名解析:将用户输入的域名转换为对应的 IP 地址,以便在互联网上定位和访问特定的服务器或设备。
  2.  域名管理:DNS还允许域名所有者管理其域名的DNS记录,包括A记录(用于将域名映射到IPv4地址)、AAAA记录(用于将域名映射到IPv6地址)、CNAME记录(用于将域名映射到另一个域名)、MX记录(用于指定邮件服务器地址)等。
  3. 分布式数据库:DNS系统采用分布式数据库的方式进行管理,这意味着不同的DNS服务器会相互复制和同步域名和IP地址的映射关系,以提高系统的可靠性和稳定性。

DNS系统由多个层次的域名服务器组成,包括根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器等。当用户输入一个域名时,本地域名服务器会首先查询它的缓存,如果找不到对应的IP地址,就会向更高级别的域名服务器发出查询请求,直到找到对应的IP地址为止。

总之,DNS是互联网中至关重要的基础设施,它为用户提供了方便的域名访问方式,并且为互联网的正常运行提供了重要的支持。

从浏览器输入域名到页面发生变化这一过程中,到底发生了什么

信息收集(Web 安全),网络安全

其中较为重要的一步就是 DNS 查询,将对应的域名解析为 IP 地址;

在注册域名的时候,必须要设置的一项是DNS 服务器;

下面给出常见域名的记录类型信息:

信息收集(Web 安全),网络安全

可以使用一些在线网站进行查询

http://www.jsons.cn/nslookup/   //在线域名解析记录
https://sitereport.netcraft.com/

例如使用 jsons 在线工具 查询 baidu.com,可以得到以下结果:

信息收集(Web 安全),网络安全

三,IP信息收集

1,DNS服务器

DNS服务器(Domain Name System)是一种用于将域名转换为对应的IP地址的服务器。而DNS服务器的类型主要有以下四类:

  1. 递归DNS服务器:递归DNS服务器负责处理DNS查询请求,它会向其他DNS服务器发出请求,直到找到所需的IP地址或者域名解析。递归DNS服务器通常由互联网服务提供商或者企业网络内部设置。

  2. 授权DNS服务器:授权DNS服务器存储特定域名的IP地址信息,它们负责管理特定域名下的所有主机记录。当递归DNS服务器无法直接解析域名时,它会向授权DNS服务器发送请求。

  3. 反向DNS服务器:反向DNS服务器用于将IP地址转换为对应的域名。它通常用于验证邮件服务器的IP地址是否与其域名匹配,以及用于安全审计和网络故障排除。

  4. 缓存DNS服务器:缓存DNS服务器会暂时存储最近查询过的域名解析结果,以便在后续查询中能够快速响应,减轻网络流量和提高解析速度。

2,ping 命令(在Windows和Linux系统中通用)

Ping命令是一种网络工具,通常用于测试主机之间的连接性和测量网络延迟。

例如 ping baidu.com

信息收集(Web 安全),网络安全

可以看出 baidu.com (110.242.68.66),查到了baidu.com 的一个IP;

3,nslookup 命令

信息收集(Web 安全),网络安全

通过nslookup 也可以查到 baidu.com 的一个 IP;

或者可以使用在线网站查询:

https://ipwhois.cnnic.net.cn/
https://ip138.com/

信息收集(Web 安全),网络安全

输入刚才ping到的baidu.com的IP;

信息收集(Web 安全),网络安全

4,CDN服务

CDN(Content Delivery Network)是一种用于加速内容传输和提高网站性能的服务。CDN服务提供商会在全球各地部署大量的服务器节点,这些节点存储着网站的静态内容,例如图片、视频、脚本文件等。当用户访问网站时,CDN会将这些静态内容缓存到离用户最近的服务器节点上,从而加快内容的传输速度和减少网络延迟。

CDN服务的工作原理是通过将内容分发到多个地理位置的服务器节点上,减少了用户和网站服务器之间的距离,从而提高了内容的加载速度。此外,CDN还可以通过负载均衡和智能路由等技术,帮助网站抵御大流量和分布式拒绝服务(DDoS)攻击,提高了网站的稳定性和安全性。

许多大型网站和应用程序都使用CDN服务来加速内容传输,提高用户体验,并减轻原始服务器的负载压力。常见的CDN服务提供商包括Akamai、Cloudflare、Amazon CloudFront等。

那么怎样才能绕过CDN找到真实的IP地址呢?

(1),使用国外主机解析域名

https://asm.ca.com/zh_cn/ping.php
http://host-tracker.com/
http://www.webpagetest.org/
https://dnscheck.pingdom.com/

国内的大部分网站只针对国内设计了CDN ,除了一些超大型公司在全球部署,而国内的中小型公司只在国内部署,所以可以尝试使用国外的DNS查询,有可能会获取到真实的IP地址

(2),查找子域名

可以使用 Layer 暴力猜解子域名,有些可能只会将CDN 部署在一些主要的网站上面,而子域名有可能对应的是真实的IP地址

(3),全网查询

https://whois.chinaz.com/     //站长之家域名查询

信息收集(Web 安全),网络安全

信息收集(Web 安全),网络安全

(4),DNS历史解析记录

由于若干年之前,访问量过小,并没有使用CDN,所以在若干年之前解析到的IP地址可能就是真实的IP 地址;相关的查询网站有:

https://viewdns.info/iphistory/
https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
https://site.ip138.com/
https://securitytrails.com/
https://sitereport.netcraft.com/?url=github.com

(5),使用SSL证书寻找真实IP

SSL(Secure Sockets Layer)证书是一种用于加密网络通信的数字证书,它通过在客户端和服务器之间建立加密连接来确保数据的安全传输。SSL证书通常用于保护网站、应用程序和其他网络服务的安全,以防止敏感信息在传输过程中被窃取或篡改。

而SSL/TLS证书通常会包括域名,子域名,电子邮件,IP地址等;

四,端口信息收集

1,什么是端口

       端口是计算机网络中用于标识特定服务或应用程序的逻辑通信终点。在TCP/IP协议中,每个端口都与一个特定的服务或协议关联,以便在网络上区分不同的应用程序和服务。

2,扫描端口

首先在Windows系统上

netstat -ano|findstr 3306
//可以使用此命令来查询3306端口是否开放

在Linux操作系统上

netstat -an|grep 3306
//在Linux查询3306端口是否开放

或者可以使用如下的 python 脚本进行批量扫描

import socket, threading

def TCP_connect(ip, port_number, delay, output):
    TCPsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    TCPsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    TCPsock.settimeout(delay)
    try:
        TCPsock.connect((ip, port_number))
        output[port_number] = 'Listening'
    except:
        output[port_number] = ''

def scan_ports(host_ip, delay):

    threads = []        
    output = {}         

    for i in range(10000):
        t = threading.Thread(target=TCP_connect, args=(host_ip, i, delay, output))
        threads.append(t)

    # Starting threads
    for i in range(10000):
        threads[i].start()

    # Locking the script until all threads complete
    for i in range(10000):
        threads[i].join()

    # Printing listening ports from small to large
    for i in range(10000):
        if output[i] == 'Listening':
            print(str(i) + ': ' + output[i])

def main():
    host_ip = input("Please enter host IP: ")
    delay = int(input("How many seconds the socket is going to wait until timeout: "))   
    scan_ports(host_ip, delay)
    input("Press Any Key to Exit")

if __name__ == "__main__":
    main()

或者使用软件  Nmap 进行扫描

Nmap是一个用于网络探测和安全审计的开源工具。它可以帮助用户发现网络上的主机和服务,以及它们所提供的服务和操作系统信息。Nmap可以用于网络发现、漏洞扫描、网络审计和安全评估等用途。

或者可以使用 kali-Linux 内置的nmap进行扫描;可以直接扫描域名或者IP地址;

信息收集(Web 安全),网络安全

其中nmap命令具有以下选项:

-O:激活操作探测;
-P0:值进行扫描,不ping主机;
-PT:是同TCP的ping;
-sV:探测服务版本信息;
-sP:ping扫描,仅发现目标主机是否存活;
-ps:发送同步(SYN)报文;
-PU:发送udp ping;
-PE:强制执行直接的ICMPping;
-PB:默认模式,可以使用ICMPping和TCPping;
-6:使用IPv6地址;
-v:得到更多选项信息;
-d:增加调试信息地输出;
-oN:以人们可阅读的格式输出;
-oX:以xml格式向指定文件输出信息;
-oM:以机器可阅读的格式输出;
-A:使用所有高级扫描选项;
--resume:继续上次执行完的扫描;
-P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围;
-e:在多网络接口Linux系统中,指定扫描使用的网络接口;
-g:将指定的端口作为源端口进行扫描;
--ttl:指定发送的扫描报文的生存期;
--packet-trace:显示扫描过程中收发报文统计;
--scanflags:设置在扫描报文中的TCP标志。
--send-eth/--send-ip 使用原始以太网发送/构造指定IP发送

3,常见端口号

一般将端口分为以下3类:
(1)公认端口(Well-Known Ports):范围从0到1023
(2)注册端口(Registered Ports):从1024到49151
(3)动态/私有端口(Dynamic/Private Ports):从49152到65535。
下面给出常见的端口号
1.   端口20     FTP数据端口
2.   端口21     FTP控制端口
3.   端口22     SSH端口
4.   端口23     Telnet端口
5.   端口25     SMTP端口
6.   端口53     DNS端口
7.   端口67     DHCP服务端
8.   端口68     DHCP客户端
9.   端口69     TFTP端口
10.  端口79     Finger服务端口
11.  端口80     HTTP端口
12.  端口88     EIGRP协议端口
13.  端口89     ospf协议端口
14.  端口99     Metagram Relay服务端口
15.  端口102    消息传输代理端口
16.  端口109    POP2端口
17.  端口110    POP3端口
18.  端口111    SUN公司的RPC服务端口
19.  端口113    Windows验证服务端口
20.  端口119    NNTP端口
21.  端口123    NTP时间协议端口
22.  端口135    RPC服务端口
23.  端口137    NetBIOS服务端口
24.  端口138    NetBIOS服务端口
25.  端口139    NetBIOS Session Service端口
26.  端口143    IMAP端口
27.  端口161    SNMP端口
28.  端口162    SNMP Trap端口
29.  端口179    BGP端口
30.  端口389    LDAP端口
31.  端口443    HTTPS端口
32.  端口445    SMB服务端口
33.  端口465    SMTPS非官方标准端口
34.  端口512    rexec端口
35.  端口513    rlogin端口
36.  端口514    Syslog端口
37.  端口515    用于 LPD 的 515 TCP 端口
38.  端口520    RIP路由协议端口
39.  端口554    RTSP端口
40.  端口587    SMTPS官方标准端口
41.  端口636    LDAPS端口
42.  端口873    rsync服务端口
43.  端口993    IMAP加密端口
44.  端口995    POP3加密端口
45.  端口1080   Socks代理服务端口
46.  端口1433   SQL Server端口
47.  端口1521   Oracle端口
48.  端口1701   L2TP端口
49.  端口1723   PPTP端口
50.  端口1812   RADIUS认证端口
51.  端口1813   RADIUS计费端口
52.  端口2049   NFS端口
53.  端口2181   zookeeper服务端口
54.  端口2375   Docker默认端口
55.  端口3306   Mysql端口
56.  端口3389   RDP端口
57.  端口5000   sybase/DB2数据库
58.  端口5432   PostgreSQL端口
59.  端口5631   PCAnywhere数据端口
60.  端口5632   PCAnywhere状态端口
61.  端口5900   VNC端口
62.  端口6379   redis端口
63.  端口6380   redis内部端口
64.  端口7001   weblogic端口
65.  端口8069   Zabbix服务端口
66.  端口8080   Tomcat端口
67.  端口8848   nacos端口
68.  端口9092   kafka默认监听端口
69.  端口9200   ElasticSearch 外部通讯端口
70.  端口9300   ElasticSearch 集群通讯端口
71.  端口10050  Zabbix Agent主动发送数据
72.  端口10051  Zabbix Server定期向Agent请求数据
73.  端口11211  memcached端口
74.  端口27017  mongodb端口

五,目录扫描

1,什么是目录扫描

部署网站所产生的敏感文件(如配置文件,数据库的账号及密码,目录等)不可以被访问者所访问;

而目录扫描是指通过计算机程序或工具自动扫描文件系统中的目录,以查找特定类型的文件或特定内容。目录扫描通常用于安全审计、文件管理、数据备份和恢复等操作。扫描的内容可以包括文件名、文件大小、文件类型、文件权限等信息,也可以根据特定的搜索条件来进行扫描。目录扫描可以帮助用户快速找到所需的文件,也可以帮助系统管理员或安全人员发现潜在的安全风险或问题。

目录扫描一般会泄露以下信息:

  1. 文件名:扫描可以显示目录中的所有文件和文件夹的名称,包括隐藏文件和系统文件。
  2. 文件类型:扫描可以确定文件的类型,例如文本文件、图像文件、可执行文件等。
  3. 文件大小:扫描可以显示文件的大小,这可能暴露一些敏感的信息,比如大型数据库备份文件或大型日志文件。
  4. 目录结构:扫描可以显示目录的结构和层次,这可能会透露组织的文件组织和架构。
  5. 文件权限:扫描可以显示文件的权限设置,包括对文件的读取、写入和执行权限。
  6. 潜在的安全漏洞:扫描可以揭示系统中可能存在的潜在漏洞或安全风险,如未经授权的文件或目录访问权限。

2,目录被泄露的原因

(1),配置不当

当未设置首页文件时,会获取该文件夹内所有目录,所以在配置过程中,需要配置网站首页;

信息收集(Web 安全),网络安全

(2),本地文件包含

使用函数 include(" ") 进行本地文件的包含时;若该文件为恶意文件,则会被执行;

或者 include(" ") 包含过程中,若没有对文件的路径进行限制,则可以根据文件的相对路径,返回

到上一级或者多级目录,进行目录扫描;

include("../../..")

信息收集(Web 安全),网络安全

​payload:http://localhost/dvwa/vulnerabilities/fi/?page=../../phpinfo.php

这样就会产生严重的后果;

例如,在我 D: 下有这样一个文件 ceshi.txt

信息收集(Web 安全),网络安全

信息收集(Web 安全),网络安全

然后通过相对路径,返回D: ;

http://localhost/dvwa/vulnerabilities/fi/?page=../../../../../../../ceshi.txt

可以将 ceshi.txt 中的文件输出到网页中

信息收集(Web 安全),网络安全

按照这样的思路,所有的文件都暴露在外!!!

3,常见的敏感文件及目录

(1),robots.txt

robots.txt 文件是一个文本文件,用于指示网络爬虫哪些页面可以被抓取或不可以被抓取。网站管理员可以通过robots.txt文件来控制搜索引擎爬虫的访问权限,以保护网站的隐私和安全。robots.txt 文件通常放置在网站的根目录下,并包含一些指令,如允许或禁止特定的爬虫访问某些页面或目录。搜索引擎爬虫在访问网站时会首先查看robots.txt文件,然后根据其中的指令来确定哪些页面可以被抓取。

通常我们可以尝试访问不可以被网络爬虫抓取的页面,从而得到有用的信息;

(2),sitemap.xml

sitemap.xml 文件是一个XML格式的文件,用于列出网站上所有可供搜索引擎抓取的页面。它提供了网站的结构化信息,包括页面的URL、最后更新时间、页面的重要性等。搜索引擎可以使用sitemap.xml 文件来更有效地抓取和索引网站上的页面,从而提高网站在搜索引擎结果中的排名。sitemap.xml 文件对于大型网站或者含有深层链接的网站尤为重要,因为它可以帮助搜索引擎更全面地了解网站的结构和内容。

(3),htaccess

hatccess这个文件通常用于配置网站的安全设置和重定向规则,包括访问控制和其他重要的配置信息。

(4),wp-config.php

wp-config.php文件包含了WordPress网站的数据库连接信息、加密密钥等重要的配置信息,需要特别注意保护。

(5),env

env文件通常包含了敏感的环境变量和配置信息,比如数据库连接信息、API密钥等。

(6), /admin、/administrator、/login等目录

这些目录通常是网站后台管理的入口,需要特别保护以防止未经授权的访问。

(7),/backup、/logs、/temp等目录

这些目录通常包含了敏感的备份文件、日志文件或临时文件,需要限制访问权限以防止泄露敏感信息

(8),网站的源码(可以进行代码审计等操作)和程序的安装路径

/install 等目录下;

(9),php探针

PHP探针通常是一个简单的PHP脚本,用于对服务器环境进行诊断和测试。它可以提供服务器的关键信息,如PHP版本、MySQL版本、服务器操作系统、安装的扩展和模块等。PHP探针还可以用于测试服务器的性能和配置,以便管理员可以及时发现和解决潜在的问题。

PHP探针通常是一个单独的PHP文件,可以通过浏览器访问。它可以帮助网站管理员快速了解服务器的配置和性能,并且可以用于排查一些常见的服务器问题。然而,需要注意的是,由于PHP探针可以提供服务器的敏感信息,因此在生产环境中使用时需要谨慎,确保其不会被未经授权的人员访问到。

通常在 phpinfo.php文件下;

(10),网站的文本编辑器

富文本编辑器是一种用于在网页上创建和编辑富文本内容的工具,它通常提供了类似于Word处理软件的功能,如字体样式、颜色、列表、链接等。在Web开发中,常见的富文本编辑器包括:

1. TinyMCE:TinyMCE 是一个功能强大且高度可定制的富文本编辑器,它支持多种浏览器和平台,并提供了丰富的插件和主题。

2. CKEditor:CKEditor 是一个流行的富文本编辑器,它具有丰富的功能和可扩展性,适用于各种Web应用程序。

3. Froala Editor:Froala Editor 是一个现代化的富文本编辑器,具有直观的用户界面和丰富的功能,适用于Web开发。

4. Quill:Quill 是一个现代化的富文本编辑器,它具有清晰的界面和易于使用的API,适合用于构建富文本编辑功能。

这些富文本编辑器提供了丰富的功能和可定制性,可以帮助开发人员在网站中实现富文本内容的编辑和展示。选择富文本编辑器时,可以根据项目需求、性能要求和用户体验来进行选择。

但是,对于市面上的某些富文本编辑器存在一定的漏洞;

富文本编辑器可能存在一些安全漏洞,这些漏洞可能会导致恶意用户利用编辑器进行跨站脚本攻击(XSS)或其他安全问题。一些常见的富文本编辑器漏洞包括:

1. 跨站脚本攻击(XSS):富文本编辑器中的用户输入内容未经过充分的过滤和转义,导致恶意用户可以插入恶意脚本代码,从而在其他用户的浏览器中执行恶意代码。

2. 文件上传漏洞:一些富文本编辑器允许用户上传文件,如果未经过充分的验证和过滤,可能会导致恶意用户上传恶意文件或脚本,从而导致安全问题。

3. CSRF(跨站请求伪造):富文本编辑器中的操作未经过适当的CSRF保护,可能导致攻击者利用受害者的身份执行恶意操作。

4. 恶意插件和扩展:一些富文本编辑器允许用户安装第三方插件和扩展,如果这些插件未经过严格的审核和验证,可能会存在安全风险。

为了减少这些漏洞的风险,开发人员应该注意以下几点:

  1. 对用户输入进行严格的过滤和转义,以防止XSS攻击。
  2. 限制文件上传的类型和大小,并对上传的文件进行严格的验证和处理。
  3. 实施CSRF保护机制,确保编辑器中的操作是经过授权的。
  4. 仔细审核和验证第三方插件和扩展,确保其安全性。

定期更新富文本编辑器的版本,以获取最新的安全修复和漏洞修复也是非常重要的。

(11),对于Linux操作系统

若获取相应的权限之后搜索 /etc/passwd 和 /etc/shadow (用于存放被加密过的密码)的目录

4,文件扫描(主要依赖于字典的强大程度)

文件扫描是指对计算机系统中的文件进行搜索、分析和检测的过程,用于查找特定的文件、检测恶意软件、进行安全审计等。以下是一些常见的文件扫描思路:

  1. 关键字扫描:根据用户提供的关键字或字符串,在文件系统中进行全文搜索,以查找包含这些关键字的文件。这种扫描思路通常用于搜索特定的文本内容或代码片段。
  2. 文件类型扫描:通过检查文件的文件头部分或文件扩展名,来确定文件的类型。这种扫描思路可用于查找特定类型的文件,如图像、文档、可执行文件等。
  3. 病毒扫描:使用病毒扫描引擎对文件进行扫描,以检测文件中是否包含已知的病毒、恶意软件或其他安全威胁。这种扫描思路通常用于确保文件系统的安全性。
  4. 文件属性扫描:检查文件的属性信息,如创建时间、修改时间、文件大小等,以便进行文件系统的审计和监控。
  5. 文件完整性扫描:通过计算文件的哈希值或数字签名,来验证文件的完整性,以确保文件在传输或存储过程中未被篡改。
  6. 遍历扫描:对整个文件系统进行递归遍历,以便对所有文件进行扫描和检测。这种扫描思路通常用于全面的安全审计和检测工作。

以上是一些常见的文件扫描思路,不同的扫描需求和场景可能需要选择不同的扫描方法和工具。在实际应用中,通常会结合多种扫描思路和技术,以实现全面的文件扫描和安全检测。

在kali-Linux 中,内置的 dirb 有目录扫描的功能

信息收集(Web 安全),网络安全

或者有kali 内置的diebuster 进行目录扫描

信息收集(Web 安全),网络安全

5,进行防御

  1. 设置 WAF/IDS;
  2. 对访问的频率进行限制;
  3. 删除敏感文件,不要放在网站的根目录下;
  4. 过滤关键字(例如可能是字典的文件名);

六,CMS指纹识别

1,什么是CMS指纹识别

        CMS指纹识别是指通过分析网站的特定特征来确定其所使用的内容管理系统(CMS)。内容管理系统是用于创建和管理数字内容的软件应用程序,如WordPress、Joomla、Drupal等。通过识别网站所使用的CMS,安全专家和黑客可以更好地了解网站的结构和潜在的漏洞,从而进行进一步的安全评估和攻击。

        CMS指纹识别通常通过分析网站的页面源代码、HTTP响应头、URL结构、特定文件和目录结构等方式来识别。一些专门的工具和服务,如Wappalyzer、BuiltWith、WhatCMS等,可以帮助用户自动识别网站所使用的CMS。这种信息对于网络管理员、安全研究人员和黑客来说都是有用的,因为它可以帮助他们更好地了解目标网站的技术架构和潜在的安全风险。

2,目前主流的CMS

主流的CMS包括但不限于以下几种:

  1. WordPress:WordPress是一种用于建立网站和博客的免费开源内容管理系统,拥有丰富的插件和主题,易于使用和定制。
  2. Joomla:Joomla是另一种流行的开源内容管理系统,它提供了许多扩展和模板,适用于创建各种类型的网站。
  3. Drupal:Drupal是一个功能强大的开源内容管理平台,适用于企业级网站和应用程序的开发。
  4. Magento:Magento是专门用于电子商务网站的开源内容管理系统,提供了丰富的电子商务功能和定制选项。
  5. Shopify:Shopify是一个基于订阅的软件即服务电子商务平台,适用于创建在线商店和电子商务网站。
  6. Squarespace:Squarespace是一个集成式网站构建工具,提供了易于使用的界面和美观的设计模板。

这些CMS都有其独特的特点和适用场景,用户可以根据自己的需求和技术水平选择最适合的CMS来构建网站。(大部分使用PHP编写,且使用MYSQL 的数据库)

3,CMS指纹识别

CMS指纹识别的目的就是根据该网站的特征判断该网站所用的CMS

(1),可以使用kali-Linux 内置的命令进行扫描

whatweb + 域名

信息收集(Web 安全),网络安全

信息收集(Web 安全),网络安全

可以扫描到该网站使用的 CMS 是WordPress

(2),可以使用浏览器的插件进行扫描

例如使用Edge浏览器的 whatruns

信息收集(Web 安全),网络安全

可以直接在进入网站的时候进行扫描

信息收集(Web 安全),网络安全

扫描的到该网站的CMS 是WordPress

七,CDN指纹识别

CDN指纹识别就是判断CDN的提供商

(1),在线网站

https://tool.chinaz.com/

(2),kali-Linux的内置工具

lbd + 域名

信息收集(Web 安全),网络安全

八,WAF指纹识别

1,什么是WAF

       WAF 是 Web 应用程序防火墙(Web Application Firewall)的缩写。它是一种安全技术,用于保护 Web 应用程序免受恶意攻击,如 SQL 注入、跨站脚本攻击和其他常见的 Web 攻击。WAF 通过监视、过滤和阻止对 Web 应用程序的未经授权访问或恶意流量,帮助提高 Web 应用程序的安性。

2,WAF的作用及知名厂商

  1. 防御Web应用程序攻击:WAF能够检测和阻止常见的Web应用攻击,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。

  2. 保护数据安全:WAF可以帮助防止敏感数据泄露,通过监控和过滤传输到和从Web应用程序的数据流量。

  3. 防止恶意流量:WAF可以过滤掉恶意的网络流量,包括恶意爬虫、恶意脚本和其他恶意行为。

  4. 减少安全漏洞:WAF可以帮助识别和修复Web应用程序中的安全漏洞,从而提高整体安全性。

信息收集(Web 安全),网络安全

3,WAF指纹识别

WAF指纹识别是一种技术,用于识别Web应用程序防火墙(WAF)的类型和特征。通过分析网络流量和应用程序的响应,安全专家可以识别WAF产品所使用的规则、策略和行为模式。这种识别可以帮助攻击者了解目标系统的防护措施,以便他们能够调整攻击策略,绕过WAF的防护,从而对目标系统进行攻击。

对于安全专家和WAF厂商来说,WAF指纹识别也是一种有用的技术,可以帮助他们了解攻击者可能使用的绕过策略,并及时更新WAF规则和策略,以提高对新型攻击的防护能力。

使用kali-Linux 内置的工具

wafw00f + 域名

信息收集(Web 安全),网络安全

可以查询出该网站所使用的 waf 是 Jiasule;

九,总结

信息收集在渗透测试中非常重要,因为它可以帮助渗透测试人员了解目标系统的结构、技术架构、漏洞和安全风险。通过信息收集,渗透测试人员可以收集到关于目标系统的各种信息,包括网络拓扑、开放端口、服务版本、操作系统类型、应用程序和数据库等信息。这些信息可以帮助渗透测试人员确定攻击面,找到潜在的漏洞和安全风险,并为后续的攻击和渗透测试活动做好准备

另外,信息收集也可以帮助渗透测试人员了解目标系统的业务流程、人员组织结构和安全策略,从而更好地模拟真实的攻击场景,评估目标系统的安全性,为客户提供更准确的安全建议和改进建议。

总之,信息收集是渗透测试中的第一步,也是非常重要的一步,它为后续的渗透测试活动提供了基础和方向,帮助渗透测试人员更好地发现和利用目标系统的漏洞和安全风险。文章来源地址https://www.toymoban.com/news/detail-802756.html

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

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

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

相关文章

  • 网络安全之信息收集<五>

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

    2024年02月21日
    浏览(44)
  • 网络安全-IP地址信息收集

    本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 IP反查域名 http://stool.chinaz.com/same https://tools.ipip.net/ipdomain.php 如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服务器上面可

    2024年02月09日
    浏览(42)
  • 网络安全的信息收集方法有哪些?

    网络安全攻击中的信息收集是攻击者为了了解目标系统的弱点、配置、环境和潜在的防御措施而进行的活动。以下是一些常见的信息收集手段: 开放网络资源查询: 使用搜索引擎查找关于目标组织的信息,包括新闻稿、社交媒体帖子、官方网站等。 通过WHOIS查询获取域名注

    2024年01月22日
    浏览(45)
  • 网络安全进阶学习第八课——信息收集

    信息收集(Information Gathering)信息收集是指通过各种方式获取所需要的信息。渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。 目标资产信息搜集的程度,决定渗透过程的复杂程度。 目标主机信息搜集的深度,决定后渗透权限持续把控。 收集信

    2024年02月13日
    浏览(49)
  • 网络安全B模块(笔记详解)- MYSQL信息收集

    1.通过渗透机场景Kali中的渗透测试工具对服务器场景MySQL03进行服务信息扫描渗透测试(使用工具Nmap,使用必须要使用的参数),并将该操作显示结果中数据库版本信息作为Flag提交; Flag:MySQL 5.5.12 2.通过渗透机场景Kali中的渗透测试工具对服务器场景MySQL03的数据库进行暴力破

    2024年01月16日
    浏览(44)
  • 网络&信息安全:nginx漏洞收集(升级至最新版本)

    💖The Begin💖点点关注,收藏不迷路💖 漏洞名称: nginx 越界写入漏洞(CVE-2022-41742) 风险等级: 高 高可利用: 否 CVE编号: CVE-2022-41742 端口(服务): 8000(nginx) 风险描述: NGINX 在 ngx_http_mp4_module 中存在漏洞,这可能允许攻击者激发 worker 进程的崩溃,或者通过使用特制的 mp4 文

    2024年04月11日
    浏览(50)
  • 网络安全-信息收集- 谷歌浏览器插件收集信息,谷歌hacking搜索语法-带你玩不一样的搜索引擎

    推荐一个cloudss 可以购买国外的服务器做代理 代理文章发不出来因为违反规定 谷歌浏览器有个插件叫做switchsharp,可以自行搜索如何安装与使用,支持一件切换的 比如切换代理,方便某些功能的使用,也可以用来收集信息的哦~ wappalyzer 谷歌商店里面即可找到,就不出教程了

    2023年04月25日
    浏览(91)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—收集信息篇

    目录 前面的话 1、收集域名信息 1.1、Whois查询 ​编辑1.2、备案信息查询  2、收集敏感信息 3、收集子域名信息 3.1、子域名检测工具 3.2、搜索引擎枚举 3.3、第三方聚合应用枚举 3.4、证书透明度公开日志枚举 本章小结 本人喜欢网络完全的一些知识,自学一些。现在写出来和大

    2024年02月08日
    浏览(53)
  • 网络安全内网渗透之信息收集--systeminfo查看电脑有无加域

    systeminfo输出的内容很多,包括主机名、OS名称、OS版本、域信息、打的补丁程序等。 其中,查看电脑有无加域可以快速搜索: 输出结果为WORKGROUP,可见该机器没有加域: systeminfo的所有信息如下: C:UsersAdministratorsysteminfo 主机名:           USER-20210123NC OS 名称:          M

    2024年02月07日
    浏览(60)
  • 122、内网安全——域信息收集&应用网络凭据&CS插件&Adfind&BloodHound

    假设有1000台计算机,运维人员需要为每一台计算机进行软件的安装、环境部署,实际上运维人员不可能亲自对每一台计算机进行软件的安装和环境部署。实际,将所有1000台计算机放入一个域中,域内有一个域控,域控负责下发任务,统一管理。也就是说在域控上下发软件安

    2024年04月14日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包