首页 > 编程知识 正文

web渗透测试流程,网站渗透测试内容

时间:2023-05-04 08:21:50 阅读:40082 作者:2816

文章前言0x01域名/傍站/C段信息采集1.Whois查询2 .备案信息查询3 .子域名称检测4 .站点信息扫描1 .端口扫描2 .目录扫描5 .傍站/c段检测1 .旁站2.C段6 .网站真实IP查询6.1域名解析流程6.2 CDN检测方法6.2绕过cdn进行真实IP0x02目标指纹信息检测1 .操作系统检测2 .中间件平台EB类接口信息检测6 .体系结构资产检测7.CMS检测8.WAF检测0x03文件检测

前言

在渗透测试中,我们往往开始不希望对目标站点和服务进行过多的信息收集。 因此,在特定时间可能找不到适当的断点。 这里体现了我们收集信息的意义和重要性。 信息收集越多,目标攻击面越广,可以攻击的手段和思路越多,突破的可能性越大,所以我认为信息收集是整个渗透测试中最重要的步骤,也是非常必要的步骤。

0x01域名/傍站/C段信息采集1.Whois查询Whois简单来说,就是用于注册域名是否注册、以及域名详细信息的数据库。 例如,域名所有者、域名注册商、域名注册日期和有效期限、DNS等。 域名Whois服务查询允许您查询域名所有者的联系方式、注册和过期日期。 联系whois的常用工具和网站如下。

站长家

tips (由于一些网站涉及隐私,站长家无法屏蔽此类网站的域名,以找到whois的信息。 此时,我们可以通过以下在线工具进行调查。

主要兴趣:注册商、注册人、邮件、DNS分析服务器、注册人联系电话。

Whois Kali下Whois工具2 .备案信息查询ICP备案查询网ICP备案查询-站长工具SEO综合查询-爱站美国企业备案查询小tips :国内网站注册需要向国家有关部门申请备案,防止网站从事非法活动,但海外网站

3 .子域名探测子域名(辅助域名)是顶级域名下的域名。 收集子域的原因是:1.顶级域网站往往是重点防护区,难以率先突破,可以先寻找子域,然后绕道接近真实目标2 .给定资产少,收集到的子域怎样才能尽可能多地收集目标高价值子域? 常用的方法如下。

谷歌hack语法谷歌hack其他常见语法:

#搜索站点目录结构:“parent directory”site : test fire.net

查找易存在sql注入的页面: site : test fire.net inurl 3360 log in

#查找指定的文件类型:文件类型pdf

phpstudy探测器搜索: intent:“php中文网探测器2014”

证书透明度查询在线工具crt.sh爆破枚举工具

Layer子域名挖掘机Layer子域名挖掘机使用起来很简单,您可以直接在域名对话框中输入域名进行扫描。 显示画面比较细致,包括域名、解析IP、开放端口、Web服务器、网站的状态等

subDomainsBrute subDomainsBrute的特点是在小词典中可以递归地发现三级域名、四级域名,甚至五级域名等不容易检测到的域名。

项目地址: https://github.com/Li jiejie/sub domains brute

命令: pythonsubdomainsbrute.pyx target.com

Sublist3r ublist3r是可以通过谷歌、雅虎、Bing、Baidu、Ask等搜索引擎搜索的子域名,以及Netcraft、VirusTotal、ThreatCrowd、threat

项目地址: https://github.com/abou l3la/sublist 3r

命令: python sublist 3r.py-d target.com-B- T50-p80,443,21,22

Oneforall (神器) Oneforall是一种功能强大的子域收集工具,具有多个模块和接口扫描,子域、子域IP、子域常用端口、子域标题、子域

项目地址: https://github.com/shmily lty/one for all

命令: python3one for all.py---- target=target.com run

暗引擎搜索

Fofa Shodan钟馗之眼4 .站点信息扫描1 .端口扫描收集到IP或域名后,进行端口扫描。 看开放端口,是的

每个端口进行详细的分析,判断是否存在漏洞。常用工具如下:

Nmap(端口扫描之王)

Nmap常用命令

-sP/-sn 不进行端口扫描 -p指定端口扫描-sT TCP全链接扫描,建立完整三次握手过程-sS SYN半连接扫描,只进行三次握手的前两次-O 显示服务的详细版本-b 显示banner信息-T0~-T5时序选项 Goby 2.目录扫描

Kali dirb

7kbscan

5.旁站/C段探测 1.旁站

旁站:是和目标网站在同一台服务器但开放在其他端口的网站。如果一台服务器通过其上的一个网站拿不下,可以从旁站入手,即同一服务器上的其他网站,最终也可拿下这台服务器。

站长之家 webscan 2.C段

C段:是和目标服务器处在同一个C段的其他服务器。很多系统并没有绑定域名,通过子域名能够获得的资产是有限的,这时候若想找到更多资产,可从C段入手。

google语法 site:211.69.130.*fofa、shodan ip=“211.69.130.0/24”御剑扫描工具 NmapMasscan

命令:

nmap -p 80,443,8080 -Pn 211.69.130.0/24masscan -p 80,443,8080 -Pn --rate=1000 211.69.130.0/24 6.网站真实IP查询

对应给定的目标,例如一个网站,首先获得的是目标域名,下一步就是找到域名背后的服务器ip,由于当前网站大多使用CDN(内容分发网络)对网站访问流量进行分流和一定程度的攻击防护,所以找出CDN背后的服务器真实ip就是一种“刚需”了。

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

6.1 域名解析过程 传统访问:用户访问域名—>解析IP—>访问目标主机简单模式:用户访问域名—>CDN节点—>真实IP—>目标主机带有WAF的CDN:用户访问域名—>CDN节点(云WAF)—>真实IP—>目标主机

TIPS:目前市面上大多数CDN服务商都提供了云WAF的配置选项,内置了多种安全防护策略,可对SQL注入、XSS、文件上传等攻击进行有效的拦截。

6.2 CDN检测方法 利用“全球Ping”快速检测目标网址是否存在CDN,如果得到的IP归属地是某CDN服务商,或者每个地区得到的IP地址都不一样则说明可能存在CDN,可用以下几个网站检测!

https://wepcc.com

http://ping.chinaz.com

https://ping.aizhan.com

https://asm.ca.com/en/ping.php

使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。

有 CDN 的示例:

无CDN的示例:

6.3 绕过CDN找真实IP 子域名

某些企业业务线众多,CDN还是很贵的,有些站点的主站使用了CDN,或者部分域名使用了CDN,某些子域名可能未使用。

DNS历史解析记录 查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip。查询网站有:https://dnsdb.io/zh-cn/https://x.threatbook.cn/http://toolbar.netcraft.com/site_report?url=http://viewdns.info/http://www.17ce.com/https://community.riskiq.com/http://www.crimeflare.com/cfssl.html 国外访问

可以自己搭梯子、可以通过在线代理网站访问
https://asm.ca.com/en/ping.php 可能会得到真实IP

网站漏洞查找

如果目标站点存在漏洞,这就没办法避免了。例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。

网站邮件订阅查找

很多站点都有发送邮件sendmail的功能,如Rss邮件订阅等。而且一般的邮件系统很多都是在内部,没有经过CDN的解析。可在邮件源码里面就会包含服务器的真实 IP。

扫描全网

ZMAP扫全网(据说44分钟扫完)

网络空间引擎搜索

fofa、shodan、zoomeye

通过这些公开的安全搜索引擎爬取得历史快照,主要得一些特征总结如下:

特有的http头部(如server类型、版本、cookie等信息)、

特定keyword(如title、css、js、url等)、

特定的IP段搜索(如fofa支持C段搜索),

有些时候爬取的时候不一定含有上面那些特征,但是我们仍然需要仔细排查。

ico文件

利用WEB上存在的特有文件进行文件hash获取,再利用黑暗引擎shodan进行全网追踪,得到其出现地址。

操作流程:

直接URL访问获取完整ico地址 python2脚本获取hash值 import mmh3import requestsresponse= requests.get('https://www.baidu.com/favicon.ico')favicon= response.content.encode('base64')hash = mmh3.hash(favicon)print hash 在shodan中搜索hash值

也就大公司的效果比较好,体量小的网站,基本搜不到。

0x02 目标指纹信息探测 1.操作系统探测 在URL中修改大小写,看页面返回结果;若更改大写后,页面返回正常,则是windows系统服务器,反之则是linux系统服务器。

例如:www.baidu.com/abc.php

​ WWW.baidu.com/ABC.php

端口探针

通过常见开放端口判断:

windows端口:iis 80 RPC 135 SMB 445 Mssql 1433linux端口:ssh 22 等

ping 域名或者URL,查看TTL值,判断操作系统(仅作参考,不一定准确)

Windows NT/2000 TTL值:128 Windows 95/98 TTL值:32 UNIX TTL值:255 Linux TTL值:64 Win7 TTL值:64

使用nmap识别

命令:nmap -O IP address

#参数含义

-O:表示扫描操作系统信息

组合对应:根据应用特性或常见的搭建组合去猜测信息

aspx mssql iis windows

Php mysql apache linux/windows

Jsp mssql/oracle tomcat linux/windows

Javaee mysql/oracle web logic/jboss/tomcat linux/windows

2.中间件平台探测 网站数据包

F12审查元素,在network模块中,查看返回头中server。不过有些网站是隐藏的~

端口探针

有些中间件都会有默认的端口号,通过端口号也能大概判断该网站使用哪一种中间件

Nginx ------ 80

Iis ------------ 80

Apache — 80

Web logic --7001

Tomcat ------ 8080

Jboss ---------- 8080

组合对应:根据应用特性或常见的搭建组合去猜测信息(上面有对应的内容)浏览器插件wappalyzer

浏览器添加wappalyzer,当访问网站的时候,会自动辨别该网站所使用的脚本语言,数据库,中间件等信息。

3.数据库类型探测 端口探针

各种数据库都有它的默认端口,根据端口也能知道使用了哪种数据库

Oracle:1521

Myssql:1433

Mysql:3306

DB2:5000

PostgreSQL:5432

组合对应:根据应用特性或常见的搭建组合去猜测信息(上面有对应的内容) 4.开发语言探测 URL获取

有些网站的URL中,能直接看出网站使用哪一种脚本语言;若没有,也可以在域名后面添加/index.asp,/index.php,/index.jsp,/login.php等,如果不报错则是网站支持的脚本语言。

网站数据包,通过F12审查元素能看到网站的脚本语言robots.txt文件

网站的robots.txt robots.txt site.xml这些文件很可能会暴露网站的脚本语言,直接访问robots.txt等就可以,如果存在,能一目了然。

在网站任意界面直接查看源码,搜索asp或aspx或php,jsp等

很多伪静态的网站,都可以用这种方法。他会调用一些动态脚本,在源码会看到。

搜索引擎

用google搜索site:目标站域名 inurl:脚本语言类型 如果收录不是很少,一般都能看出来。

组合对应:根据应用特性或常见的搭建组合去猜测信息(上面有对应的内容)

iis6.0 大部分asp 小部分是aspx 极少是php

iis7.0 大部分aspx 小部分asp

Nginx 基本都是php

Apache 基本都是php

5.WEB类接口信息探测 URL获取

有些网站的接口,比如phpmyadmin,有可能就是在网站的根目录下面,通过目录扫描工具可以得到。

端口扫描

有些服务,可能会放在网站的其他端口下面,可以通过工具扫描。

6.架构资产探测 IP类站点:直接利用返回ip进行测试

原理:有些网站,访问域名有可能是访问网站的主文件夹,如果访问ip地址可能是访问网站主文件夹的上一级文件。

那这个问题存在的隐患:比如网站管理员打包了备份文件,攻击者直接扫ip地址的话,很大概率能扫到网站的备份文件。

目录类站点:利用目录爬行或目录扫描工具等进行获取

原理:有些网站同一个域名不同的目录,有可能会存在不同的源码,那么这就相当于有两个攻击目标。

端口类站点:利用端口扫描进行服务探针进行获取

原理:有些网站同一个域名不同的端口,有可能会存在不同的源码,那么这就相当于有两个攻击目标。

7.CMS探测

CMS是Content Management System的缩写,意为"内容管理系统"。 如果网站使用一套存在漏洞的cms,那么就可以使得攻击者更容易的攻击网站。识别cms的在线网站和工具如下:

whatweb(国内) whatcms(国外) Cmseek 手工

手动分析数据包地址的路径,然后百度关键目录,就可以基本判断。

8.WAF探测

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。探测WAF的原因——WAF也叫Web应用防火墙,WAF的探测很多人都会忽略掉,当我们知道是什么WAF时,可以尝试绕过WAF

常用的两种方式:可用来进行爆破或者弱口令登录以及撞库攻击

提交恶意数据(简单粗暴)

在网站的URL中,提交恶意数据,网站会爆出waf。

kali工具,WAFW00F、Nmap

WAFW00F Nmap

在nmap中有两种探测WAF的脚本

1.http-waf-detect脚本

2.http-waf-fingerprint脚本

Tips :市面上各种WAF拦截页面 https://mp.weixin.qq.com/s/3uUZKryCufQ_HcuMc8ZgQQ

0x03 文件探测 1.小程序探测

通过在线平台,做一个app小程序的探测 https://www.cnblogs.com/xiaozi/p/12749801.html

例如腾讯的:

3.敏感目录、文件泄漏

文件泄露, 根据泄漏的信息敏感程度, 在WEB漏洞中可以算是中危甚至高危的漏洞。

这边只举例发现文件泄漏的工具:

7KBscan扫描工具

扫描网站可以概率性的获得网站备份源码。

ARL灯塔(信息收集神器)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。