信息搜集一些总结

#.检查是否有CDN,有则绕过

CDN知识及绕过知识见

https://www.cnblogs.com/zhaohzaomumu/p/15024451.html

#程序源码

一.CMS识别

1.利用源码识别平台进行收集

可以利用国内或者国外一些平台进行识别

国外识别平台:https://whatcms.org/
国内识别平台:http://whatweb.bugscaner.com/
云悉在线:http://www.yunsee.cn
WhatWeb:http://www.whatweb.net

 

 

 

 

 

 

 2.使用工具获取源码

CMSeeK:

CMSeek检测主要通过以下两项:

HTTP头

网页源代码

下载地址:https://github.com/Tuhinshubhra/CMSeeK

使用方法:

cd CMSeeK
python3 cmseek.py -u url

御剑指纹扫描工具:

御剑可以扫描的CMS种类有
1、dedecms
2、c
3、drupal
4、empirecms
5、hdwiki
6、joomla
7、phpcms
8、phpwind
9、siteserver
10、wordpress
换句话说,御剑Web指纹识别就只能识别这10中CMS
指纹识别工具的原理是,扫描目标站点的对应的目录特征,目录特征和御剑web指纹工具中数据匹配就可以检测出来
由于御剑是国产的,所以对国内的CMS识别比较准确,如果你想要检测国外的站点也可以用,但是效果不是很好,除非是一些知名的CMS、国内外通用的那种
首先创建要检测的网站url的文本文件。

 

 

在打开exe文件导入刚才创建的文本文件再点击开始即可

 

 3.人工识别源码

前端源码特征配合搜索引擎进行识别

 

 页面显示不同和框架不同判断

二.目录扫描

目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。

通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等。

1.常见的目录信息泄露

目录遍历漏洞

目录遍历是由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以使web根目录以外的文件),甚至执行系统命令

目录遍历漏洞原理

程序在实现上没有充分过滤用户输入的 ../ 之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件

敏感信息泄漏

由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到

比如:

——通过访问url 下的目录,可以之间列出目录下的文件列表

——输入错误的 url 参数后报错信息里面包含操作系统,中间件,开发语言的版本或者其他信息;(SQL注入)

——前端的源码(html,css,js)里面包含了敏感信息,比如后台登录地址,内网接口信息,甚至账号密码等

目录遍历

当没有默认网页时,就会在网站上显示web服务器 用户列表中的文件和目录,因此,apache服务器上面默认文件名为index.php,当没有上传index.php 时,服务器就会将文件夹中的内容全部展示出来 。

2.目录扫描工具

御剑后台扫描工具:

 

 Dirbuster:

DirBuster是Owasp(Open Web Application Security Project )开发的一款专门用于探测网站目录和文件(包括隐藏文件)的工具。由于它是使用Java编写的,所以电脑中要装有JDK才能运行。

 

 长亭rad浏览器爬虫:

下载地址://github.com/chaitin/rad/releases

原理就是爬取源代码存在的连接,一步步的爬取整个网页

使用方法:

在rad_windows_amd64.exe文件所在目录执行cmd

 

 使用语法为:

基本使用:rad_windows_amd64.exe -t http://example.com -text-output result.txt
需要手动登录的情况:rad_windows_amd64.exe -t http://example.com -wait-login

结果保存在result.txt中。

 三.源码获取

 在获取网站的cms后,可搜索源码进行进一步分析。

常见的源获取方法有:淘宝、闲鱼、第三方平台(如菜鸟源码://www.cniao8.com/)

#操作系统识别

1.根据大小写

windows系统对大小写不敏感

linux对大小写敏感

可通过修改url部分大小写进行检测。

2.TTL值

不同类型的操作系统,默认的起始ttl值是不同的。但是也不够准确,目标服务器可以伪造自己的操作系统类型,难度较大,但是可以实现。

windows:128(65-128)

linux/unix:64(1-64)

某些Unix:255

也可以通过python编程来实现对ttl值抓取的判断。

from scapy_all import *
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
import sys

if len(sys.argv)!=2;
    print "Usage - ./ttl_os.py [IP Address]"
    print "Example - ./ttl_os.py 10.0.0.5"
    print "Example will perform ttl analysis to attempt to determine whether the system is Windows or Linux/Unix"
    sys.exit()

ip=sys.argv[1]

ans=sr1(IP(dst=str(ip))/ICMP(),timeout=1,verbose=0)
if ans == None;
    print "No response was returned"
elif int(ans[IP].ttl)<=64;
    print "Host is Linux/Unix"
else:
    print "Host is Windows"

3.nmap

利用万能的扫描工具nmap也可检测出目标网站的系统,

命令如下:

namp -O url

 

 #数据库识别

1.常见搭配类型

ASP + Access

php + msql

aspx + mssql

jsp + mssql,oracle

python + mangdb/mysql

2.namp识别数据库

命令如下:

nmap -sV -O url

 

 3.扫描端口判断数据库类型

 常见数据库默认端口

mysql的默认端口是3306

sqlserver默认端口号为:1433

oracle 默认端口号为:1521

DB2 默认端口号为:5000

PostgreSQL默认端口号为:5432

nmap参数

 

 

 #站点搭建习惯分析

 1.目录型站点分析

简单来说就是一个网站的目录下有另外一套或者多套源码(或CMS),测试时就可以从这几个入手。

比如www.xxxx.com网站除了本身外,还在下级有一套论坛程序www.xxxx.com/bbs/。而这两套程序是不同的源码。

2.端口类站点分析

意思就是将网站与端口绑定,进而可实现同一url在不同端口访问时的访问类容不一样。

浏览器在我们请求url时时默认加上80端口的,配合端口扫描在url后面添加不同端口可测试出该网站是否还有其他程序。

3.子域名站点分析

不同的子域名是不同的CMS。

可配合子域名检测技术可查询网站子域名。

比如:

www.xxx.com是一套CMS。

bbs.xxx.com又是一套CMS。

4.多域名站点分析

多个域名有相似的CMS,或者多个域名属于同一个公司或机构。

可能多个网站搭建在同一台服务器或同一C段上。测试时可以有不同的思路。

比如www.xxx.com和www.xxx.cn

5.旁注/C段站点分析

#旁注:同服务器不同站点

前提:对方有多个站点服务器

可通过网站接口查询。

//chapangzhan.com/

 

 

#C段:不同服务器不同站点

独立站点服务器。

同样可通过网络接口查询://www.webscan.cc/

 

 6.搭建软件特征站点分析

常见搭建软件有phpstudy、宝塔、lamp等。可通过搭建软件的漏洞进行测试。

比如:phpstudy一般会使用phpMyadmin

宝塔的默认管理端口为8888:www.xxxx..com:8888可以进入管理界面。

#WAF识别技术

1.什么是WAF技术?

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

 

 2.识别WAF

#软件类waf

这种类型的 WAF采用纯软件的方式实现,特点是安装简单,容易使用,成本低。但它的缺点也是显而易见的,因为它必须安装在Web应用服务器上,除了性能受到限制外,还可能会存在兼容性、安全等问题。这类WAF的代表有ModSecurity、Naxsi、 网站安全 狗等。

#硬件类waf

目前安全市场上,大多数的 WAF都属于此类。它们以一个独立的硬件设备的形态存在,支持以多种方式(如透明桥接模式、旁路模式、反向代理等)部署到网络中为后端的Web应用提供安全防护。相对于软件产品类的WAF,这类产品的优点是性能好、功能全面、支持多种模式部署等,但它的价格通常比较贵。国内的绿盟、安恒、启明星辰等厂商生产的WAF都属于此类。

#基于云的waf

 随着云计算技术的快速发展,使得其于云的 WAF实现成为可能。国内创新工场旗下的安全宝、360的网站宝, imperva waf 是这类 WAF 的典型代表。

Web应用防火墙技术,一般均采用反向代理技术和虚拟主机技术原理,其工作流程是,将受保护的Web服务器建立虚拟主机,对每一个虚拟主机提供相应的安全策略来进行保护。同时把Web应用防火墙配置为反向代理服务器,用于代理Web服务器对外部网络的连接请求。当Web应用防火墙能够代理外部网络上的主机访问内部Web服务器的时候,Web应用防火墙对外就表现为一个Web服务器。它负责把外部网络上的请求转发给内部的应用服务器,然后再把内部响应的数据返回给外部网络。Web应用防火墙没有保存任何内部服务器的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对Web应用防火墙的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。

#WAF识别

waf识别工具:wafw00f:

python3环境直接安装:

pip install wafw00f

运行python main.py如下图表示运行成功

 

或者下载源码://github.com/zggcd/wafw00f

安装:

python setup.py build

python setup.py install

 

 #使用:

直接上:

python main.py url

  存在waf。

 #手机APP信息收集

1.利用反汇编进行关键信息提取

推荐工具:漏了个大洞

使用方法:

下载好的工具解压后如图:

 

 将要检测的APP放在以下目录下:

 

 返回上级,运行exe文件

 

 运行后的结果保存在result目录下:

 

可获得的具体信息如下,如url 、hash、ip等信息

 

 2.APP抓数据包进行工具配合

在电脑上可使用手机模拟器然后修改代理配合BP进行抓包.

 设置bp

 

 模拟器配置代理

 

 配置好就可进行抓包

 

 

 #一般思路

当我们手握某个网址时,首先判断是否有CDN,然后配合各种工具就是扫描端口信息、扫描第三方应用(数据库等)、系统版本信息、扫描旁站信息、C段信息、子域名信息等,当这些都无果时,即可用过WHOIS反查看是否备案过其他网站信息。接着查看CMS信息有些网站可通过www.xxxx.com/robots.txt直接获取网站CMS信息。以及各种接口信息。通过查询到的数据库信息、各种平台、服务和第三方应用进行这些漏洞的收集然后一一进行测试。方法和思路都是不唯一的,重要的是实践实践实践!!!