一、Web安全之信息收集
从冬令营时候入门渗透测试,并在靶场上进行了实战后,发现搞渗透测试是一项非常有意思的事情。作为一个渗透测试的入门选手来说,梳理好渗透测试的过程是非常有必要的。虽然本次梳理过程迟了一年的时间,但因为最近的一次渗透经历,督促着我快速完成这项工作。
1. 信息收集
信息搜集在漏洞挖掘和利用过程中是十分重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测。
1.1 域名信息的收集
当我们确定了渗透的目标,也就获取了目标对应的域名,我们需要获取域名
对应的 IP
、域名的
whois 信息
、
子域名
等一系列信息。
1.1.1 真实 IP 获取
如果 IP 地址 不是真实的,测试会出现偏差。例如,测试的端口服务全都是假的。
(1)ping 命令
例如:ping www.xxxxxx.xxx.xx(下面举例对象不涉及真实域名和ip,仅以xxx代替)
(2)IP138 查询网
IP138 查询网:
https://site.ip138.com/gzhu.edu.cn/
.
(3)CDN 探测
例如:xxx.cdn.xxx… ip地址(这是CDN地址,不是真实的IP地址)
关于如何绕过CDN,参考谢公子的博客——绕过CDN查找网站真实ip:
https://blog.csdn.net/qq_36119192/article/details/89151336
.
1.1.2 whois信息
从whois信息返回的结果中可以获取DNS服务器的信息,以及域名注册人的联系方式,这些信息会在渗透测试的后续阶段发挥重要作用。
(1)站长之家的whois查询
站长之家whose查询:
http://whois.chinaz.com/
.
(2)Kali-whois查询
例如:whois xxxx.xxx.xx
whois xxxxxxxxx.com
1.1.3 域名/子域名
(1)Layer子域名挖掘机
(2)https://www.webscan.cc/
(3)kali之fierce命令
fierce -dns xxxxx.xxx -threads 100
1.2 敏感信息网上搜集
可以通过互联网搜集,也可以在码云、github等托管平台。
1.3 网站指纹识别
网站指纹识别是指识别目标服务器相应的web容器,或者整站系统(CMS)。
常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、SiteWeaver、AspCMS、帝国、Z-Blog等。
.
在线指纹识别网站:
BugScaner:
http://whatweb.bugscaner.com/look/
.
云悉指纹:
http://www.yunsee.cn/finger.html
.
WhatWeb:
https://whatweb.net/
.
1.4 整站分析
备注:整站分析部分的内容学习自
谢公子的博客
.
1.4.1 服务器类型(Linux/Windows)
(1)Ping探测
可以通过ping探测来测试服务器的操作系统是Linux还是Windows,Windows的TTL值一般是128,Linux则是64。(这种方式不是绝对有效的,因为有的Windows服务器的TTL值只有几十,或者有的服务器会禁止Ping)。
(2)nmap扫描
nmap -o IP地址
1.4.2 网站容器(Apache/Nginx/Tomcat/IIS)
渗透测试时,我们需要知道目标网站的Web服务器软件及其版本。探测Web服务器软件的方法有很多,如linux下的
nmap
这款强大的端口扫描工具,这里介绍另一款
httprint
,httprint可以运行在windows上,是一款图形界面的软件,使用很方便。
Nmap中文手册:
http://www.nmap.com.cn/doc/manual.shtm
.
1.4.3 脚本类型
常见脚本类型有:php、Jsp、Asp、Aspx
个人认为要通过网站的URL来判断脚本类型这件事,还是需要安全人员对各个脚本类型的框架构建有一定的掌握。
php、jsp、asp和aspx的区别:
https://blog.csdn.net/qq_36119192/article/details/84593150
.
网站URL分类解读:
https://www.seodajun.com/seojiaocheng/1097.html
.
1.4.4 数据库类型(Mysql/Oracle/Accees/Mqlserver)
常见数据库类型有:Mysql、Oracle、SqlServer 、 Access 。
-
Access
是一款小型数据库,数据库后缀名为 .mdb,一般asp的网页文件用Access数据库。 -
SQL Server
是一款比较大型的数据库,端口号为1433,数据库后缀名为 .mdf。 -
MySQL
是一款最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面,默认端口号3306。 -
Oracle
是一款关系数据库管理系统,常用于比较大的网站,默认端口为1521。
常见搭配:
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
1.5 主机扫描(Nessus)
Nessus自定义扫描策略:
https://www.freebuf.com/column/144954.html
.
Nessus的高级扫描方法:
https://www.freebuf.com/column/144167.html
.
基于Nmap进行Ping扫描方式,然后显示在线的主机:
nmap -sP 192.168.20.16/24
nmap主机发现使用举例:
https://www.jianshu.com/p/29d503ec07f2
.
Zenmap
是
Nmap
官方提供的图形界面,是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。
可参考文章:
Nmap和Zenmap详解
1.6 端口扫描(nmap)
- Nmap探测:nmap -sV -allports IP地址
- Zenmap探测
1.7 网站敏感目录和文件
- 御剑目录扫描器:该工具输入域名,选择字典之后即可进行扫描。
- Kali-dirb目录探测:dirb http://xxx.xxx.xxx.xx
- dirbuster扫描工具
-
webdirscan
- burpsuite爬虫模块
1.8 旁站和C段扫描
旁站指的是同一服务器上的其他网站。1个ip有可能有100个系统同时使用,有些网站可能不是那么容易入侵,那么查询该服务器上的其他网站,攻下其中一个,再通过提权拿到服务器的权限,自然可以拿到该网站了。
在线查询地址
http://www.webscan.cc/
1.9 网站漏洞扫描
-
AWVS扫描:
AWVS13.x破解版(Windows+ Linux)
https://www.cnblogs.com/fhff/p/12860160.html
.
AWVS扫描工具使用教程
https://www.cnblogs.com/weifeng1463/p/10269432.html
AWVS的安装和使用(linux)
https://blog.csdn.net/qq_35569814/article/details/102136628
-
W3af 扫描
https://www.freebuf.com/articles/5472.html
https://www.freebuf.com/column/146469.html
-
OWASP-ZAP 扫描:
https://www.cnblogs.com/csnd/p/11807789.html
-
BURP-Scanner 扫描 :抓包之后,发送到扫描即可
-
Nikto2扫描:
https://blog.csdn.net/freeking101/article/details/72872502