[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集

这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Powershell基础入门知识,涉及条件语句、循环语句、数组、函数 、字符串操作、注册表访问等。这篇文章将分享Web渗透的第一步工作,涉及网站信息、域名信息、端口信息、敏感信息及指纹信息收集。

作者作为网络安全的小白,分享一些自学基础教程给大家,希望你们喜欢。同时,更希望你能与我一起操作深入进步,后续也将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不容易,大神请飘过,不喜勿喷,谢谢!

下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
百度网盘:https://pan.baidu.com/s/1dsunH8EmOB_tlHYXXguOeA 提取码:izeb

文章目录

  • 一.Web渗透第一步
  • 二.域名信息收集
    • 1.域名查询
    • 2.Whois查询
    • 3.备案信息查询
  • 三.Web站点信息收集
    • 1.CMS指纹识别
    • 2.CMS漏洞查询
    • 3.敏感目录信息
    • 4.WordPress测试
  • 四.端口信息收集
    • 1.端口介绍
    • 2.端口信息采集
    • 3.端口攻击
    • 4.防御措施
  • 五.敏感信息收集
    • 1.Google Hacking语法
    • 2.HTTP响应收集Server信息
    • 3.Github信息泄露
  • 六.真实IP地址识别
    • 1.CDN
    • 2.判断CDN存在
    • 3.绕过CDN
    • 4.验证IP地址
  • 七.总结

前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime

前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包

参考文献:
https://www.bilibili.com/video/av60018118 (B站白帽黑客教程)
https://www.bilibili.com/video/av63038037 (B站HACK学习)

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


一.Web渗透第一步

网站是一个安装在电脑上的应用程序,它有操作系统、应用程序以及服务器。例如WAMP包括:

  • Web服务器:Apache
  • 数据库:MySQL
  • 编程语言:PHP

网站HTML站点访问的基本流程如下图所示:客户端输入访问URL,DNS服务器会将域名解析成IP地址,接着IP地址访问服务器内容(服务器、数据库、应用程序),最终将内容反馈至客户端的浏览器。

数据库包括要调用的数据,并存储在Web服务器上,这台服务器有真实的IP地址,每个人都能访问、Ping通它。每次页面请求或运行程序时,Web应用程序在服务器上执行,而不是在客户的机器上。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第1张图片

那么,如何入侵一个网站呢?
入侵安装在计算机上的应用程序称为Web应用渗透测试,入侵带操作系统的计算机和应用程序称为服务端攻击,入侵人称为社会工程学攻击。在我们进行Web渗透之前,不是拿到目标就开始使用Webdirscan、SQLMAP等工具,而是需要先获取网站的指纹信息,获取的信息越多,越容易找到背后的漏洞或注入点。常见的搜集信息包括:

  • IP地址
  • 域名信息(邮箱、联系人、地址、电话)
  • 技术使用(框架、服务器、数据库、编程语言)
  • 在同一台服务器上的其他网站\旁站
  • DNS记录
  • 文件、子域、目录

这篇文章就将简单Web渗透的第一步操作——常见信息收集方法,希望读者们喜欢。


二.域名信息收集

1.域名查询

域名系统
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。简单来说就是一个将域名翻译成ip地址的系统。

域名是由一串用点分割的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。浏览网站的过程如下图所示,从DNS服务器中获取指定域名对应的IP地址。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第2张图片

域名解析
举一个例子,zh.wikipedia.org作为一个域名就和IP地址198.35.26.96相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打198.35.26.96的名字zh.wikipedia.org来代替电话号码(IP地址)。DNS在我们直接调用网站的名字以后就会将像zh.wikipedia.org一样便于人类使用的名字转化成像198.35.26.96一样便于机器识别的IP地址。再如51cto.com域名,edu.51cto.com和www.51cto.com是该域名对应的子域名,而edu和www是对应的主机名。

2.Whois查询

Whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,Whois就是一个用来查询域名是否已经被注册,以及注册域名的相信的数据库(如域名所有人、域名注册商)。

不同域名后缀的Whois信息需要到不同的Whois数据库查询,如.com的Whois数据库和.edu的不同。每个域名或IP的Whois信息由对应的管理机构保存,例如以.com结尾的域名的Whois信息由.com运营商VeriSign管理,中国国家顶级域名.cn由CNNIC(中国互联网信息中心)管理。

Whois协议基本内容是:先想服务器的TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接收服务器的查询结果。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第3张图片

通过Whois查询可以获得域名注册者邮箱地址等信息,一般情况下对于中小型网站域名注册者就是网站管理员,利用搜索引擎对Whois查询到的信息进行搜索,获取更多域名注册者的个人信息。

Whois查询方法:
(1) Web接口查询
常见的网站包括:

  • Whois站长之家查询:http://whois.chinaz.com/
  • 阿里云中国万网查询:https://whois.aliyun.com/
  • Whois Lookup 查找目标网站所有者的信息:http://whois.domaintools.com/
  • Netcraft Site Report 显示目标网站上使用的技术:http://toolbar.netcraft.com/site_report?url=
  • Robtex DNS 查询显示关于目标网站的全面的DNS信息:https://www.robtex.com/
  • 全球Whois查询:https://www.whois365.com/cn/
  • 站长工具爱站查询:https://whois.aizhan.com/

(2) 通过Whois命令查询
在Kali Linux下自带的Whois查询工具,通过命令Whois查询域名信息。

(3) Python撰写Whois代码

req_whois = urllib.request.urlopen('http://whois.chinaz.com/doucube.com')
print(req_whois.read().decode())

import whois
data = whois.whois("www.wangjunx.top")
print(data)

示例:
下面是使用站长之家Whois查询作者Eastmount的站点(www.eastmountyxz.com)的相关信息,可以看到网站标题为“秀璋学习天地”,网站服务器是阿里云,2021年到期,联系邮箱、DNS和域名服务器也能查询。

  • 域名:eastmountyxz.com
  • 注册商:Alibaba Cloud Computing (Beijing) Co., Ltd
  • 联系邮箱:[email protected]
  • 联系电话:95187
  • 时间:2016年09月24日 - 2021年09月24日
  • 域名服务器:grs-whois.hichina.com
  • DNS:dns10.hichina.com、dns9.hichina.com

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第4张图片

接着作者使用Robtex DNS 查询网站相关信息,显示如下所示,它增加了IP地址内容(60.205.24.36),再通过网站能定位物理地址。

  • IP地址:60.205.24.36
  • Host名称:www
  • Mail servers:mxn.mxhichina.com、mxw.mxhichina.com

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第5张图片
Netcraft Site Report显示目标网站信息如下,包括网站搭建框架和操作系统。

  • OS:Windows Server 2008
  • Web服务器:Microsoft IIS/7.5
  • 网络拥有者:中国浙江杭州alibaba,西湖国际中心391号

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第6张图片

3.备案信息查询

ICP备案是指网络内容提供商(Internet Content Provider),《互联网信息服务管理办法》指出需要对网站进行备案,未取得许可不得从事互联网信息服务。

IPC备案查询方法包括:

  • https://www.beian88.com/
  • http://beian.miit.gov.cn/publish/query/indexFirst.action
  • https://www.tianyancha.com/
  • http://www.beianbeian.com/

比如作者和Bilibili网站的备案信息如下图所示:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第7张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第8张图片


三.Web站点信息收集

1.CMS指纹识别

CMS(内容管理系统)又称为整站系统或文章系统,用于网站内容管理。用户只需要下载对应的CMS软件包,就能部署搭建,并直接利用CMS。但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本。常见的CMS包括Discuz、Dedecms(织梦)、PhpCMS、WordPress等。

常见识别工具:
(1) 在线工具

  • http://whatweb.bugscaner.com/look/
  • http://www.yunsee.cn/finger.html
  • he.bgp.net

(2) 本地工具
御剑Web指纹识别程序、大禹CMS识别程序(https://github.com/Ms0x0/Dayu)等。

示例:
以某站为例,通过 http://whatweb.bugscaner.com/look/ 网站识别指纹,发现它是Discuz搭建的。信息包括:

  • CMS:Discuz! X3.4
  • ip地址:210.42.xx.xx
  • 编程语言:PHP
  • 服务器:Apache 2.4.23
  • 操作系统:Windows Server
  • 物理地址:xxx省xxx市xxx路
  • Web服务器扩展:OpenSSL

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第9张图片

接下来将Github上面的大禹下载至本地,并进行CMS扫描。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第10张图片

2.CMS漏洞查询

对于查询到的CMS可以利用乌云漏洞库网站查询制定CMS的漏洞。

  • http://www.anquan.us/
  • https://bugs.shuimugan.com

显示如下图所示,包括详细的漏洞利用过程及防御措施。
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第11张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第12张图片

3.敏感目录信息

针对目标Web目录结构和敏感隐藏文件探测是非常重要的,在探测过程中很可能会探测到后台页面、上传页面、数据库文件,甚至是网站源代码文件等。常见的探测工具包括:

  • 御剑后台扫描工具
  • wwwscan命令行工具
  • dirb命令工具
  • dirbuster扫描工具

参考:
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)

御剑
御剑系列的web工具一直是比较顺手的工具。这款御剑也是很好用的网站后台扫描工具,图形化页面,使用起来简单上手,因此也被大多数人所喜好。其作者可能是“御剑孤独”。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第13张图片

Dirb
通过暴力破解来发送请求,什么时候找到了就发告诉我们找到了。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第14张图片

DirBuster
Kali Linux提供的目录扫描工具DirBuster支持全部的Web目录扫描方式。它既支持网页爬虫方式扫描,也支持基于字典暴力扫描,还支持纯暴力扫描。该工具使用Java语言编写,提供命令行(Headless)和图形界面(GUI)两种模式。用户不仅可以指定纯暴力扫描的字符规则,还可以设置以URL模糊方式构建网页路径。同时,用户还对网页解析方式进行各种定制,提高网址解析效率。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第15张图片

4.WordPress测试

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架构属于自己的网站,也可以把WordPress当作一个内容管理系统CMS来使用。针对WordPress测试,可以使用WpScan工具对其进行安全测试。

  • WpScan

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第16张图片

例如识别 https://cn.wordpress.org/ 官方网站的框架信息,可以调用whatwep命令或在线网站获取其CMS信息。
在这里插入图片描述

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第17张图片

如果发现目标网站是WordPress搭建,再使用WPScan进行检测。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第18张图片


四.端口信息收集

1.端口介绍

如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(2 ^ 16)个门之多。端口是通过端口号来标记的,端口号只有整数,范围从0到65536(2 ^ 16 - 1 )。

计算机常见的端口号包括:

  • HTTP服务器默认端口号为:80/tcp(木马Executor开放此端口)
  • HTTPS服务器默认端口号为:443/tcp、443/udp
  • Telnet(远程登录)默认端口号为:23/tcp(木马Tiny Telnet Server所开放的端口)
  • FTP默认端口号为:21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash等所开放的端口)
  • TFTP(Trivial File Transfer Protocol)默认端口号为:69/udp
  • SSH(安全登录)、SCP(文件传输)、端口号重定向,默认端口号为:22/tcp
  • SMTP(E-mail)默认端口号为:25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
  • POP3 Post Office Protocol(E-mail)默认端口号为:110/tcp
  • Webshpere应用程序默认端口号为:9080
  • TOMCAT默认端口号为:8080
  • MySQL数据库默认端口号为:3306
  • Oracle 数据库默认的端口号为:1521
  • WIN2003远程登录默认端口号为:3389
  • MS SQL*SERVER数据库server默认的端口号为:1433/tcp、1433/udp

在计算机中每个端口代表一个服务,在Windows命令行中使用 netstat -ano | netstat -anbo显示开放端口。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第19张图片

CMD中需要管理员权限打开,并输入netstat -anbo查看开放的端口。其中,443端口是HTTPS建立的连接,80端口是网站HTTP建立的连接。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第20张图片

2.端口信息采集

对于收集目标及其端口状况可以使用工具来进行,其工作原理都是使用TCP或UDP等协议向目标端口发送指定标志位等数据包,等待目标返回数据包,以此来判断端口状态。后续作者,准备通过Python编写相关的代码。

这篇文章主要通过工具采集端口信息,包括:

  • 使用Nmap采集,命令为:nmap -A -v -T4 目标
  • 使用masscan采集,命令为:masscan -p80 目标

示例:
查看本地端口开放情况,命令为:nmap -A -v -T4 192.168.1.1

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第21张图片

使用masscan探测端口开放信息,命令为:masscan -p80 192.168.1.1/24 --rate=10000

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第22张图片

使用工具通常会在目标网站留下痕迹,接下来提供一种在线网站探测方法。

  • 在线网站:http://tool.chinaz.com/port/
  • ThreatScan在线网站:https://scan.top15.cn/

示例:
使用站长之家探测作者网站的80端口开放,443端口关闭。(最早支持多个端口扫描,当前只支持单一端口扫描,如果读者能自行编写程序更好)。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第23张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第24张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第25张图片

接下来复习前面的文章,采用ThreatScan在线网站扫描作者的网站信息。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第26张图片

作者确实只开放了80端口访问网页和FTP端口21。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第27张图片

3.端口攻击

针对不同的端口具有不同的攻击方法,因为每个端口就是记录服务器或目标系统的大门,只要打开这个大门,就可以进入目标系统。例如:针对远程连接服务端口的攻击方法如下,因为23号端口Telnet远程连接是明文传递信息的,可以通过爆破、嗅探、弱口令等方法实施攻击。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第28张图片

这里推荐大家:当我们扫描到目标网站的端口号时,可以在搜索引擎中查找对应的攻击方法进行测试,也可以在乌云漏洞库(http://www.anquan.us/)或CVE库中搜索。例如:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第29张图片

注意:CVE漏洞被再利用是网络攻击常见的手段,提醒生产厂商第一时间打补丁,用户使用部分软件的版本更新也是非常必要的。

4.防御措施

对于端口攻击来说,只要端口开放并且可以连通,就可以利用对应的方式进行攻击测试。这里提供的防御措施包括:

  1. 关闭不必要的端口;
  2. 对重要业务的服务端口设置防火墙;
  3. 加强员工信息安全意识,经常性更换用户密码,避免弱口令爆破;
  4. 经常更新软件,打补丁(Patch);
  5. 利用CVE网站的漏洞信息,提高自身网站的安全。

五.敏感信息收集

针对某些安全做得很好的目标,直接通过技术层面是无法完成渗透测试的。在这种情况下,可以利用搜索引擎目标暴露在互联网上的关联信息。例如:数据库文件、SQL注入、服务配置信息,甚至是通过Git找到站点泄露源代码,以及Redis等未授权访问、Robots.txt等敏感信息,从而达到渗透目的。

在某些情况下,收集到的信息会对后期进行测试起到帮助重要。如果通过收集敏感信息直接获取了目标系统的数据库访问权限,那么渗透测试任务就结束了一大半。因此在进行技术层面情况下的测试之前,应该先进行更多的信息收集,尤其是针对敏感信息的。

1.Google Hacking语法

Google Hack是指使用Google、百度等搜索引擎对某些特定网站主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。常见方法包括:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第30张图片

Google提供了强大的搜索功能,可以获取精准的结果。如果访问不了,也可以通过百度获取相关内容,但是结果远没有谷歌精准,很多无关的广告及视频会返回给你。示例如下:

intitle:eastmount
搜索网页标题包含eastmount字符的网页。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第31张图片

inurl: login.asp?id=
搜索包含特定字符“login.asp?id=”的URL。常用示例为inurl:login.asp、inurl:asp?id=、inurl:login.asp。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第32张图片

intext:cbi
搜索网页正文内容包含特定字符cbi的网页。

filetype:ppt
搜索制定类型的文件,返回所有以ppt结尾的文件URL。

site:baidu.com
找到与指定网站有联系的URL。

Google Hacking数据库为:https://www.exploit-db.com/google-hacking-database/
例如,查询数据Access数据库,使用 filetype:mdb “standard jet”(password | username | user | pass)。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第33张图片

2.HTTP响应收集Server信息

通过HTTP或HTTPS与目标站点进行通信中,目标响应的报文中Server头和X-Powered-By头会暴露目标服务器和使用的编程语言信息,通过这些信息可以有针对的利用漏洞尝试。

获取HTTP响应的基本方法包括:

  • 利用工具,如浏览器审计工具、BurpSuite、Fiddler等代理截断工具获取。
  • 编写Python脚本文件,如requests库。

参考作者前文:
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)

右键浏览器审查元素,获取Network中Headers信息。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第34张图片

Python的核心代码如下:

import requests
r = requests.get('http://www.eastmountyxz.com')
print(r.headers)

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第35张图片

3.Github信息泄露

Github是一个分布式的版本控制系统,拥有大量的开发者用户。随着越来越多的应用程序转义到云端,Github已经成为了管理软件开发以及发现已有代码的首选方法。当今大数据时代,大规模数据泄露事件时有发生,但有些人不知道很多敏感信息的泄露其实是我们无意之间造成的。一个很小的疏漏,可能会造成一系列的连锁放映。Github上敏感信息的泄露,就是一个典型的例子,存在着一些安全隐患。

例如,我们可以使用Github找到邮件配置信息泄露,涉及一些社会工程学。

  • site:Github.com smtp
  • site:Github.com smtp @qq.com

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第36张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第37张图片

再如,通过Github获取数据库泄露信息。

  • site:Github.com sa password
  • site:Github.com root password
  • site:Github.com User ID=‘sa’

通过Github探索SVN信息泄露信息。

  • site:Github.com svn
  • site:Github.com svn username

最后,通过Github搜索综合泄露信息。

  • site:Github.com password
  • site:Github.com ftp ftppassword
  • site:Github.com 密码
  • site:Github.com 内部

综合泄露信息一个例子如下图所示(网图)。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第38张图片

同样,其他网站信息也可以参考上述的方法,并推荐大家使用Google浏览器。当然,更多敏感信息可以通过dirb等工具来获取,它通过暴力破解来发送请求,找到时会发请求告诉我们。


六.真实IP地址识别

1.CDN

CDN全称是Content Delivery Network,即内容分发网络。其原理如下:
某些大型网站在全国都会有很多用户,这些用户常常会向网站发送不同的请求,那么不同地域会具有不同的缓冲服务器来接收用户发送的流量。如果用户发送流量没有任何交互的数据,只是请求首页的话,此时根据用户所在地区来确定访问的高速缓存服务器,高速缓存服务器会返回对应的响应到用户的浏览器当中,比如广东。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第39张图片
当用户填写数据,需要交互时才会将请求发送到真实的服务器;此时通过广东省的缓存服务器来连接真实服务器。
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第40张图片

CDN通常存在用户很多的大型流量网站,通过它来解决我们服务器的瓶颈。

2.判断CDN存在

可以通过Ping来判断网站是否存在CDN,比如 http://www.xxxx.com/ 。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第41张图片

显示如下图所示,可以看到百合网是存在CDN的。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第42张图片

也可以通过设置代理或利用在线Ping网站来使用不同地区的Ping服务器来测试目标。

  • http://ping.chinaz.com/

该网站显示结果如下图所示:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第43张图片

可以看到使用不同的Ping服务器,响应的IP地址是不同的。不同的监测点相应的IP地址不同,由此也可以推断当前网站使用了CDN技术。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第44张图片

3.绕过CDN

那么确定使用CDN之后,如何绕过CDN呢?
如果目标没有使用CDN: 可以直接利用ping获取IP地址,或者利用在线网站获取(如 http://www.ip138.com)。例如作者网站使用Ping和在线网站获取的IP地址是一样的,这也表明作者没有使用CDN。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第45张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第46张图片

如果目标使用CDN: 需要绕过CDN来后去真实IP地址,方法如下:

  • 内部邮箱源:收集到内部邮箱服务器IP地址
  • 网站phpinfo文件:phpinfo.php
  • 分站IP地址,查询子域名:CDN很贵,很有可能分站就不再使用CDN
  • 国外访问:https://asm.ca.com/en/ping.php
  • 查询域名解析记录:https://viewdns.info/

当然,还有其他的方法,也推荐读者去尝试学习。

通过国外网站获取IP地址:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第47张图片

通过国内网站(https://viewdns.info/)获取IP地址:

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第48张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第49张图片

4.验证IP地址

通过上面的方法获取了很多的IP地址,此时我们需要确定哪一个才是真正的IP地址,具体方法如下:

  • 利用IP地址对Web站点进行访问,如果正常表名是真实IP地址,否则是假的。

例如,输入 view-source:123.xxx.xxx.39,表示真实的IP地址。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第50张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第51张图片

如果使用其他查询的IP地址,42.xxx.xxx.201,它提示错误表示假的IP地址,包括之前Ping查询的CDN IP地址。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第52张图片

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第53张图片

更多方法希望读者自行去学习。同时,绿色网络需要大家共同维护,本文更希望大家了解背后的原理及防御措施,一定不要去恶意测试别人的网站,违者后果自负。


七.总结

希望这系列文章对你有所帮助,后续作者也将继续深入学习,制作一些常用的小工具供大家交流。如果文章对您有帮助,请点个赞,哈哈!未来一起加油,共同进步。

[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集_第54张图片

“这不还有几个月就要过年了,提前祝您新年快乐”,哈哈,博友真的太逗了。最近感觉自己换了个职业,变成程序员心理咨询师了。如何换工作、如何提升学习效率、如何让自己不菜、如何学习JAVA和Python、如何做网络安全等等问题,都来咨询我。哈哈,我还只是个学生,CSDN要给我加个鸡腿,当然我也很喜欢您的留言。

很开心能在CSDN遇见博友们,如果文章能对您有一丝帮助或感叹,就更棒了,未来希望大家一起加油,携手共进,砥砺前行。贵大的老师网页设计课程居然拿我当素材,我想知道是谁最后非常喜欢博友的一句话“哭了,这就是为啥我喜欢程序员的原因”,而秀璋的世界,因娜而精彩接着奋斗。十月最后一篇文章,我们十一月份见!

(By:Eastmount 2019-10-30 晚上10点 http://blog.csdn.net/eastmount/ )

你可能感兴趣的:(网络安全,Web安全,渗透&攻防)