信息收集

WEB

程序源码

在安全测试中,Web源码是一个重要的信息来源,可以通过审计源码找出漏洞,也可也根据网站使用的框架和CMS测试可能存在的漏洞。获取到Web源码可以为后期的测试提供更多思路

Web源码目录结构

admin 网站后台路径
data 数据相关目录
install 安装目录
member 会员目录
tmp 模板目录(和网站相关的整体框架)
data → config.php 数据库配置文件,网站和数据库的通讯信息、连接账号密码

Web源码脚本类型

ASP、PHP、ASPX、JSP、JAVAWEB等脚本类型源码的安全漏洞

Web源码应用分类

社交、论坛、门户。第三方、博客等不同的代码机制对应漏洞
根据网站的类型,侧重在哪些漏洞上做文章

  • 门户网站------------------------综合类漏洞
  • 电商------------------------------业务逻辑漏洞
  • 论坛------------------------------XSS漏洞
  • 博客------------------------------漏洞较少
  • 第三方---------------------------根据功能决定

Web源码其他说明

框架与非框架

若网站使用了某个框架进行开发,则应该寻找框架漏洞
若网站未使用框架开发,则应寻找站开发使用的语言的漏洞,如thinkPHP漏洞

CMS识别

通过CMS识别,判断一个网站是用什么CMS系统模板搭建的
了解网站使用的CMS后可以通过各种途径获取CMS系统模板源码
利用CMS系统模板的漏洞对网站进行安全测试

开源与内部
  • 开源:寻找相关漏洞文章。直接找漏洞或代码审计
  • 内部:常规的渗透测试,用扫描工具判断漏洞
源码获取途径
  • 扫描工具探测备份文件
  • CMS识别
  • 搜索引擎搜索源码
  • 淘宝、闲鱼
  • 第三方源码站,如菜鸟源码

操作系统、数据库与第三方软件

除去搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到Web或服务器的安全,导致网站或服务器权限的获取

操作系统层面

识别操作系统常见方法
  1. 通过大小写是否敏感识别,windows对大小写不敏感,Linux对大小写敏感

    Windows改变大小写后网站可以访问

    Linux服务器改变大小写后无法访问

  2. 用TTL来判断服务器系统

    Linux的TTL一般为64或255

    Windows的TTL一般为128

    该方法误差大,不推荐使用

  3. 使用Nmap来判断操作系统

数据库层面

  1. 常见数据库

    • 小型数据库 Access
    • 中型数据库 MySQL
    • 大型数据库 Oracle、SQL Server、Mongodb
  2. 通过网站使用的语言识别数据库

    • ASP:Access,SQL server
    • PHP:MySQL
    • ASPX:SQL server
    • Jsp:SQL server,oracle
    • Python:Mongodb
  3. 通过端口开放情况识别数据库

    • SQL server:1433
    • MySQL:3306
    • Oracle:1521
    • Mongodb:27017
  4. 数据库类型区别及识别意义
    每个数据库里面的安全机制,内部结构都有些许不一样,同样产生的漏洞也不一样。不同的数据库,攻击方法、漏洞类型及影响都有不同

第三方层面

常见的第三方软件:Jboss,phpMyAdmin,vsftpd,TeamView等

通过扫描工具查找第三方软件,来利用第三方漏洞,从而进行渗透测试

站点信息

信息收集时,收集主站点以外其他站点的信息,可以为渗透测试提供更多的思路和方法

站点搭建分析

  • 子目录:网站目录下有着子目录,如*.example.com下存在*.example.com/bbs*.example.com/blog等子目录,每个子目录都是一个独立站点
  • 端口:网站除了默认访问端口80外,还存在其他端口的站点,如8080、8081、8888等端口都是独立的网站
  • 子域名:如bbs、blog、web等子域名
  • 类似域名:站点存在.cn、.net、.org等其他域名,或*.example.com存在*.example123.com*.example666.com等类似域名
  • 旁注/C段站点:
    • 旁注 —— 同服务器,不同站点
      192.168.1.100
      www.a.com
      www.b.com
      找不到a站点的漏洞,寻找b站点的漏洞,通过b站点的权限对a站点测试
    • C段 —— 同内网段,不同服务器,不同站点
      192.168.1.100
      www.a.com
      www.b.com
      192.168.1.101
      www.c.com
      www.d.com
      a站点和b站点的漏洞都找不到,搜索192.168.1.这个网段,查找出192.168.1.101下的c、d站点
      获取c、d站点权限 -> 获取服务器权限 -> 利用服务器权限对内网测试
  • 搭建软件特征站点:使用PHP study、宝塔、XAMPP等软件搭建网站时,利用软件漏洞,或弱口令等方式测试

WAF

WAF即防火墙,分为硬件形式和软件形式
大型公司会购买硬件防火墙,个人网站和小企业一般都是使用软件防火墙

WAF的识别

  • WAFw00f

  • sqlmap

    sqlmap是对数据库使用的漏洞检测与攻击工具,但也可用于防火墙的检测
    命令:sqlmap -u "http://www.example.php?id=1" --identify-waf
    sqlmap -u "http://www.example.php?id=1" --check-waf

CDN

CDN即内容分发网络,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

但在安全测试过程中,若目标存在CDN服务,则无法获取目标真实IP地址,将会影响到后续的安全测试过程。

判断目标存在CDN服务

通常通过多地ping的方式确定目标是否使用了CDN,常用网站有:

http://ping.chinaz.comhttps://asm.ca.com/en/ping.php

使用chinaz网站ping百度时,可以看到不同的地区响应的IP地址不同,即百度使用了CDN服务

常见的CDN绕过技术

  • 子域名查询:CDN服务开销大,一般不会对子域名使用CDN服务

小技巧:

通常在DNS服务器中将www.example.com*.example.com解析为同一个IP地址

但在设置CDN服务器时,可能只将www.example.com*.example.com其中一个设置了CDN服务器,当检测另一个域名时,就能获得真实IP

也可尝试使用m.example.com(手机端域名)检测

  • 邮件服务查询:邮箱服务一般是内部人员使用,不会设置CDN

通过查看邮件源码的方式获取IP地址

此地址大概率为真实IP地址

  • 国外地址请求:国外(非洲国家等)对国内网站访问量少,可能不会使用CDN

  • 遗留文件:如phpinfo中的IP地址

  • 黑引擎搜索特定文件:shodan、zoomeye、fofa等搜索引擎,搜索指定文件(如网站logo)的hash值

  • DNS历史记录:网站未使用CDN服务时,DNS解析的IP地址

  • 第三方网站:x.threatbook.cnwww.get-site-ip.com

APP

若WEB无法取得进展或无WEB的情况下,我们需要借助目标的APP软件进行信息收集,从而开展后续渗透

  • 对APP反编译获取相关信息

  • 利用burpsuit抓包

资产监控

GitHub监控

收集整理最新的exp或poc
便于发现相关测试目标的资产

其他资产查询

们需要借助目标的APP软件进行信息收集,从而开展后续渗透

  • 对APP反编译获取相关信息
  • 利用burpsuit抓包

资产监控

GitHub监控

收集整理最新的exp或poc
便于发现相关测试目标的资产

其他资产查询

渗透测试 ---- 信息收集相关推荐

  1. 渗透测试-----信息收集(通过DNS解析找IP地址、CDN、IP查询、IP物理地址、搜索引擎、网站信息收集)

    文章目录 渗透测试 信息收集 一.IP地址信息收集 1. 通过DNS解析找IP地址 1.1 ping命令 1.2 nslookup命令 1.3 dig工具 1.4 dnsenum 1.5 站长工具 2 ...

  2. 【渗透测试基础-3】渗透测试信息收集的内容及方法

    目录 1 信息收集概述 1.1 目的 1.2 收集内容 2 收集域名信息 2.1 Whois查询 2.1.1 Whois简介 2.1.2 Whois操作 2.2 反查 2.3 备案信息查询 3 收集子 ...

  3. 【经验】渗透测试信息收集步骤、网站、工具分享

    渗透测试信息收集步骤.网站.工具分享 刚刚参加完一次大型活动,感觉这个暑假自己的成长很明显.虽然之前的假期也有打算做些什么或者也确实做了什么,但收效甚微.也许人性如此吧,总是要有什么理由推着自己才能前 ...

  4. 渗透测试信息收集:目录扫描

    入行这么久,一次完整的渗透也没完成过,最近想从信息收集开始,完整的渗透一次网站,目前在进行信息收集,写篇文章,记录下自己在进行目录扫描中用过的工具. 渗透测试信息收集:目录扫描 目录 渗透测试信息收集 ...

  5. 渗透测试-----信息收集(概述、whois、子域名查询、爆破、vulhub域名传送漏洞复现、kali安装docker)

    文章目录 渗透测试 信息收集 1. 概述 2. 供练手的网站 3. whois查询 4. 子域名查询 域传送漏洞 1. 概述 2. 解决办法 3. vulhub漏洞复现 4. 子域名爆破 渗透测试 信 ...

  6. 【每天学习一点新知识】渗透测试信息收集篇

    目录 1.网页直接获取信息 2.端口扫描 3.子域名查询 4. C段旁注 5.网络空间搜索引擎.谷歌语法 6.whois查询 渗透测试流程: 信息收集是渗透测试的前期工作,对于渗透测试来说十分重要.只 ...

  7. 渗透测试信息收集概要

    文章目录 信息收集概要 Whois查询 指纹CMS 网站IP 旁站.C段服务器 服务器操作系统版本.容器版本.数据库类型 邮箱收集 端口服务(80.443等) 敏感文件搜索 目录遍历 说明.txt 目 ...

  8. Kali Linux渗透测试——信息收集

    笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程 渗透测试标准(PTES:http://www.pentest-standard.org)的七个阶段: 1.前期交互阶段:讨论确定渗透 ...

  9. 渗透测试信息收集总结

    一.信息收集介绍 信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种 ...

  10. kali---DNS 渗透测试信息收集

    目录 一.了解信息收集工具 1.whois 2.host 3.dig 4.dnsenum 5.dnsdict6 6.fierce 二.确定渗透测试目标,将收集到的信息粘贴如下,并筛选出重点测试服务器 ...

最新文章

  1. 第一次现场看球,第一次场看国家队打球,第一次场看国家队打架,第一次上电视,第... ......
  2. Jz2440 环境安装
  3. paragon+ntfs+linux,NTFS For Mac 超强兼容性
  4. JS splice()方法
  5. 填坑-关于SysTick定时器
  6. 语C、耽美、盲盒、Lolita……这些95后文化,你看懂了吗?
  7. python迭代器与生成器_python的迭代器与生成器实例详解
  8. matlab画爱心代码分享
  9. Android 高级控件ListView用法
  10. 自然数幂与伯努利数,分数相加
  11. labelImg使用教程
  12. 树莓派安装OpenCV - 亲测可用
  13. 如何移动visio2010连接线上的文本
  14. 【教3妹学算法-每日3题(2)】分割字符串的最大得分
  15. 人文遥感 — 美丽兴化,千岛菜花
  16. android 生成bks_Android 添加 证书(pem,crt,p12,bks,jks)到 keystore.bks
  17. 计算机的网络凭据,win10凭据密码是什么,网络凭据账户和密码是多少
  18. kon-boot启动盘测试
  19. 字体设计中什么是断笔设计啊
  20. [OpenStack] Linuxbridge 的Permission Denied故障调查

热门文章

  1. 绘制玫瑰线及变异玫瑰线
  2. 贝塞尔曲线与计算规则(实现QQ气泡效果)
  3. python计算两个日期相差的天数的代码
  4. VGGNet 与 GoogLeNet
  5. python识别几何图形拼成的图案_自动驾驶汽车视觉- 图像特征提取与匹配技术
  6. 第三方设备对接小度音箱 记录
  7. Mac 使用终端连接阿里云服务器
  8. 如何创建虚拟机快照并备份
  9. 在Android手机上使用腾讯的ncnn实现图像分类
  10. 饥荒为什么服务器未响应,饥荒人物介绍机器人wx-78属性特点