关于信息搜集的方法

信息搜集:子域名,端口,服务及版本,数据库,C段,旁站,操作系统,敏感文件,搭建的中间件,cms,开发框架 

子域名搜集

一.搜索引擎

  1. 通过普通搜索引擎进行搜索(goolehacking),如site:baidu.com

Goolehacking语法

site:找到与指定网站有联系的URL。例如输入Site:family.chinaok.com,返回所有和这个网站有关的URL。

intitle:返回所有网页标题中包含关键词的网页。例如输入intitle:cbi,这样网页标题中带有 cbi 的网页都会被搜索出来。

inurl:搜索包含有特定字符的URL。例如输入inurl:cbi,则可以找到带有 cbi 字符的URL。

intext:搜索网页正文内容中的指定字符。例如输入intext:cbi,将返回所有在网页正文部分包含 cbi 的网页。

link:例如link:thief.one,返回所有和 thief.one 做了链接的URL。

filetype:搜索指定类型的文件。例如输入filetype:cbi,将返回所有以 cbi 结尾的文件URL。

域名把公司和后面的com类似的当作一级域名

Eg:baidu.com 一级域名

www.baidu.com二级域名

  1. 黑暗搜索引擎(shadon,foafa,360quake,zoomeye)

Domain=baidu.com

二.在线子域名爆破

三.工具爆破(御剑系列[不是很好用],7ksan,sublist3r,subdomain)等

Python写个脚本判断一下状态码是否位200

端口开放情况

  • 工具扫描(nmap)
  • 在线端口扫描
  • 系统类型

  • 工具(nmap)
  • Nmap -O

  • Nmap -O

  • 手工
  • 1.通过ping的ttl值判断(不准)
  • 128——windows

    64——linux

    255——网络设备

    63——unix(手机)

    2.通过大小写敏感(windows不敏感,linux敏感),不是绝对的

  • 3.特殊端口
  • 22 linux
  • 3389 windows
  • 3.路径特征(搜索报错)
  •      Eg:c:/phpstudy/www/search.php

               

    4.banner信息(403,404)

    eg:404 not found

        apache 1.2.04/centos6.2

          

    5.脚本语言

    Eg:Asp-windows

    ASP+Access(windows独有)

    apsx+mssql(sql server) (windows独有)

    常见数据库的端口

    Mysql 3306

    Sqlserver 1433

    Oracle   1521

    Redis  6379

    常见数据库和脚本语言搭配

    ASP+Access(windows独有)

    php+mysql

    apsx+mssql(sql server) (windows独有)

    jsp+mssql,oracle

    python+mongodb

    Web组成结构

  • web指纹(脚本语言,中间件,数据库,框架和cms)

  • 工具(nmap,kali的whatweb,浏览器的插件)
  • Nmap -sV

  • 手工
  • 网站框架,毛坯房,最后网站什么样取决你的开发

    Cms,精装房

  • banner信息(404,403)
  • eg:404 not found

       apache 1.2.04/centos6.2

    thinkphpv6.0未找到

  • 路径特征(搜索报错)
  • Eg:c:/phpstudy/www/search.php

  • 前端代码的network
  • 特定文件(logo[ico]的MD5值,后台目录)
  • 在线c段查询,黑暗引擎

    Eg:decade是织梦cms后台目录

      

     Logo文件名大多都是favicon.ico

    黑暗引擎,上传ico文件

    旁站

    同一服务器

    同域名同路径  eg:127.0.0.1/xsstest,127.0.0.1/xss

    同域名不同端口

    Eg:127.0.0.1:81,127.0.0.1:82

    C段

    独立站点服务器,就是一台服务器上只有一个站点

  • 在线c段查询,黑暗引擎,搜索引擎

    Site:*.baidu.com

    Site:10.2.1.*

    查找相关的域名

    站点的搭建一些方式

    目录站点,网站加了一个目录就不是同一个cms或框架(在同一服务器上)(目录扫描)

    端口站点(加了端口就不是同一个网站,有很大可能是在同一服务器上)(端口扫描)

    子域名站点(不同cms)

    类似域名(都是一个团队,一个公司的)

    Whois信息,备案信息查询

    可以查到联系人,手机,邮箱等信息

    敏感信息

    一.敏感信息泄露

      Github泄露(用户名和密码,数据库相关的密码),网盘泄露,社交信息泄露

  • 敏感文件\敏感目录
  • Robots.txt,phpinfo.php,.svn(源代码管理),.git,web.zip,.mdb(access后缀)

    Phpinfo.php,disable_functions,禁用了那些函数,服务器ip,Master Value是PHP.ini文件中的内容。Local value 是当前目录中的设置,这个值会覆盖Master Value中对应的值。

    Web.zip网站源码备份

    工具(dirsearch,dirbrute,wealfilescan,御剑后台目录扫描)

    网站源码

    获取方式:特定渠道,第三方源码,咸鱼,淘宝等

    手工判断cms用开发者工具,看数据包,找特殊的文件(logo),如有字典md5和cms类型文件,可以转换为MD5进行比对

    获取源码后可以本地搭建进行安全渗透测试,或进行代码审计,查找漏洞

    请求包和数据包的结构

  • 扫描目录的原理即是通过状态码来判断文件或目录是否存在

    通过post提交的数据在空行的下面,数据就是请求体。

    网站解析对应

    #简要网站搭建过程

    涉及到的攻击层面?(源码,搭建平台,系统,网络层等)

    涉及到的安全问题?(目录,敏感文件,弱口令,IP 及域名等)

    HTTP/S 数据包

    #HTTP/HTTPS 具体区别?

    Request 请求数据包数据格式

    #Request 请求数据包数据格式

    1.请求行:请求类型/请求资源路径、协议的版本和类型

    2.请求头:一些键值对,浏览器与 web 服务器之间都可以发送,特定的某种含义

    3.空行:请求头与请求体之间用一个空行隔开;

    4.请求体:要发送的数据(一般 post 提交会使用);例:user=123&pass=123

    例:

    # Request Headers

    POST /adduser HTTP/1.1

    Host: localhost:8030

    Connection: keep-alive

    Content-Length: 16

    Pragma: no-cache

    Cache-Control: no-cache

    Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm

    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

    Chrome/66.0.3359.181 Safari/537.36

    Content-Type: application/x-www-form-urlencoded

    Accept: */*

    Accept-Encoding: gzip, deflate, br

    Accept-Language: zh-CN,zh;q=0.9

    # Form Data

    name=name&age=11

    #请求行

    请求行由三个标记组成:请求方法、请求 URL 和 HTTP 版本,它们用空格分享。

    例如:GET /index.html HTTP/1.1

    HTTP 规划定义了 8 种可能的请求方法:

    GET:检索 URL 中标识资源的一个简单请求

    HEAD:与 GET 方法相同,服务器只返回状态行和头标,并不返回请求文档

    POST:服务器接受被写入客户端输出流中的数据的请求

    PUT:服务器保存请求数据作为指定 URL 新内容的请求

    DELETE:服务器删除 URL 中命令的资源的请求

    OPTIONS:关于服务器支持的请求方法信息的请求

    TRACE:web 服务器反馈 Http 请求和其头标的请求

    CONNECT :已文档化,但当前未实现的一个方法,预留做隧道处理

    #请求头

    由关键字/值对组成,每行一对,关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识。

    HOST: 主机或域名地址

    Accept:指浏览器或其他客户可以接爱的 MIME 文件格式。Servlet 可以根据它判断并返回适当的文件格

    式。

    User-Agent:是客户浏览器名称

    Host:对应网址 URL 中的 Web 名称和端口号。

    Accept-Langeuage:指出浏览器可以接受的语言种类,如 en 或 en-us,指英语。

    connection:用来告诉服务器是否可以维持固定的 HTTP 连接。http 是无连接的,HTTP/1.1 使用 Keep-Alive

    为默认值,这样,当浏览器需要多个文件时(比如一个 HTML 文件和相关的图形文件),不需要每次都建立

    连接

    Cookie:浏览器用这个属性向服务器发送 Cookie。Cookie 是在浏览器中寄存的小型数据体,它可以记载

    和服务器相关的用户信息,也可以用来实现会话功能。

    Referer : 表 明 产 生 请 求 的 网 页 URL 。 如 比 从 网 页 /icconcept/index.jsp 中 点 击 一 个 链 接 到 网 页

    /icwork/search , 在 向 服 务 器 发 送 的 GET/icwork/search 中 的 请 求 中 , Referer 是

    http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪 Web 请求是从什么网站来的。

    Content-Type:用来表名 request 的内容类型。可以用 HttpServletRequest 的 getContentType()方法取得。

    Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是 ISO-8859-1.

    Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加

    速文件传递速度。浏览器在接收到 Web 响应之后先解码,然后再检查文件格式。

    #空行

    最后一个请求头标之后是空行,发送回车符和退行,通知服务器以下不再有头标。

    #请求数据

    使用 POST 传送,最常使用的是 Content-Type 和 Content-Length 头标。

    Response 返回数据包数据格式

    #Response 请求数据包数据格式

    一个响应由四个部分组成;状态行、响应头标、空行、响应数据。

    1.状态行:协议版本、数字形式的状态代码和状态描述,个元素之间以空格分隔

    2.响应头标:包含服务器类型、日期、长度、内容类型等

    3.空行:响应头与响应体之间用空行隔开

    4.响应数据:浏览器会将实体内容中的数据取出来,生成相应的页面

    HTTP 响应码:

    1xx:信息,请求收到,继续处理

    2xx:成功,行为被成功地接受、理解和采纳

    3xx:重定向,为了完成请求,必须进一步执行的动作

    4xx:客户端错误

    5xx:服务器错误

    绕过CDN服务

    www   44.2.3.1

    www   44.2.3.1

    *     44.2.3.1

    设置了这两种主机名,访问www和访问不加www的是一样,可能*没有加cdn,从而得到真实的ip

    多节点技术就是超级ping,不一致存在cdn,一致不存在

    子域名查询就是为了得到主站的真实ip(在同一网段,ip相同)

    国外地址访问时可能没有cdn,找偏门的国家,离中国远的(asm.ca.com)

    扫描遗留文件如phpinfo

    查看dns解析,可能会得到真实ip,以前可能没有加cdn

    黑暗引擎(shodan,钟馗之眼(zoomeye),fofa)

    第三方查询ip,get-site-ip,将查询的ip和第三方对比(如果一致,很大可能这就是真实的ip地址)

    用邮箱查看源代码,找真实ip

    查看邮件ip

    ​编辑​

    ​编辑​

    查看一下备案信息,查找一下公司位置,第三方查出来的IP,通过ip查位置,比对一下这两个ip位置(邮件,第三方)和公司位置是一致的,很大可能是真实的ip地址,还可以改一下本地host文件,能正常访问,这个ip可能是真实ip或者是一个cdn节点

    脚本转换hash

    shodan搜索指定hash文件.ico(logo)

    把脚本的地址改一下

    本地host文件位置

    DNS解析时首先会从本地host中找域名和ip地址对应关系,找不到才会让dns服务器解析

    iis搭建网站

    ip访问网站

    指向网站的根目录,如www

    域名访问网站

    是访问根目录(www)下的子目录

    如有备份,就扫描不到,不利于安全渗透测试

    脚本为何可以执行

    网站访问的安全性

    2.开启匿名访问就不需要用户名密码

    匿名访问用户权限很低为来宾用户

    3.设置网站目录权限限制访问

    执行权限,无,不给执行权限,一些脚本文件就无法运行了

    执行权限,不会所有目录都不给,因为网站有些源码是用脚本搭建的。

posted @ 2022-10-13 20:33  mushangqiujin  阅读(0)  评论(0编辑  收藏  举报  来源