# 信息收集

面对任何一个问题,尽全力去熟悉他们我们才有可能更好的解决他们,这个熟悉的过程就是信息收集

# 1 查看源代码

# 1. 直接查看 view-source

  • 主要注意源代码的中的注释,类似于 <!–>

    注释里面一般藏有一些敏感信息,比如有关路径,题目的有关信息,甚至是 flag

  • 源代码中链接的一些奇怪路径 (网站后台目录,编辑器)

源代码中不一样的链接

根据 ctfshow-web382 , 可以看到 3 链接有一个链接比其他链接多了一个目录,逐个路径 alsckdyf/layui/css , alsckdyf/layui , alschdyf/ 访问就有可能发现有意思的东西,比如说最后一个就是 后台目录 ,甚至可以尝试去除根目录 /layui/css

解释:

  • 这种情况,就有可能是个 css 页面前台用到了,后台也用到了,但是相关人员误把后台的 css 目录用作前台这就暴露了后台的路径

注意:

  1. 根据文件路径找到相关的编辑器 ctfshow-web14 ctfshow-web388
  2. 可以利用编辑器上传文件,允许上传 html,zip 等文件,我们可以利用 zip 文件上传一句话给日志文件之后执行之后包含目录访问一句话执行,详细操作可以参考 ctfshow-web388wp
  3. 根据源码中的编辑器路径直接网站后台访问文件

编辑器路径在前端暴露

image (5)

  • 如果没办法查看源代码尝试利用 Burpsuite , 查看数据包,比如 web2/3

  • 抓包过程可以同时注意 cookie 的设置,服务器的类型等等

# 2. 抓包查看的情况:

image (6)

flag 放在 cookie 的情况:

image (7)

# 3. 查看源代码的方式

  • 右键查看源代码 F12
  • 打开开发者工具 Ctrl+U 查看
  • Burp 抓包查看
  • js 代码中获取 flag

# 2 扫目录

# 1. 常见的扫描工具

  • Dirsearch:

    Usage:

    python3 dirsearch.py -u "http://www.example.com/"

    dirsearch扫描

  • Dirmap

# 2. 常见的目录

  • robots 协议

    访问 http://www.example.com/robots.txt ,这个文件会告诉我们哪些文件可以爬,哪些文件不可以用作爬虫,但在 ctf 题目中,常用来提示题目有关的重要文件

  • install 安装目录

    install安装目录未删除

# 3 源码泄漏 (敏感目录的泄漏)

# 1. git 泄漏

  1. # 漏洞描述:

  • 开发者在使用 git 作为版本控制时,在一个目录中初始化一个仓库以后,会在这个目录下产生一个名叫 .git 的隐藏文件夹,这个文件夹里面保存了这个仓库的所有版本等一系列信息。
  • 如果服务器将 .git 文件夹放在了 web 目录下,就可能导致攻击者利用 .git 文件夹内的信息获取应用程序所有源代码。
  1. # 漏洞危害:

    • 攻击者利用此漏洞可获取应用程序源代码,分析源码进行进一步攻击利用;
    • 攻击者利用此漏洞可获取数据配置信息,可能直接导致应用程序用户信息泄漏,设置获取服务器权限;
  2. # 修复建议

    • 删除网站目录下的 .git 文件
    • 中间件上设置 .git 目录访问权限,禁止访问
  3. # 相关工具:

    • scrabble

      scrabble http://www.example.com/

      使用工具回滚

      查看回滚后的文件

    • githack

      python2 GitHack.py http://cb28608e-55f8-4dd3-98c7-f3a74b2abb0d.node3.buuoj.cn/.git/

    工具使用完之后,都会生成一个 index.html 或者是 新的文件夹 ,查看。。。

# 2. .svn 泄漏

  1. # 漏洞描述:

    • 使用 svn 管理本地文件代码的过程,会自动生成一个 .svn 的文件夹 — 包含这网站的重要信息

    • 如果网站管理员在发布网站的时候,没有使用到处功能,而是直接复制微网站后台的文件夹,就会导致 .svn 文件暴露在外网环境

    • 黑客可以借助其中包含的用于版本信息追踪的 entries 文件,获取站点信息

  2. # 漏洞危害:

    • 攻击者可以利用 .svn/entries 文件,查找网站的应用程序源代码、svn 服务器账号密码等信息。
    • SVN 产生的 .svn 目录还包含了 .svn-base 结尾的源代码文件副本(低版本 SVN 具体路径为 text-base 目录,高版本 SVN 为 pristine 目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
    • 攻击者利用该漏洞可下载网站源代码,获得数据库的连接账号密码等敏感信息;
    • 攻击者可通过获取的源代码进一步分析出新的系统漏洞,从而进一步入侵系统;
  3. # 修复建议:

    • 查找服务器上所有.svn 隐藏文件夹,删除。
    • 开发人员在使用 SVN 时,严格使用导出功能,禁止直接复制代码。

# 3. HG 泄露

  1. Mercurial 是一种轻量级分布式版本控制系统,使用 hg init 的时候会生成.hg。

  2. 漏洞利用工具:dvcs-ripper

# 4. 文件恢复 Vim 临时文件缓存)

  1. # 漏洞描述:

    • 有时候扫目录会出现 .filename.swp , 这就是在 vim 编辑 filename 时意外退出而产生的恢复文件
  2. # vim 文件备份以及缓冲:

    • vim 编辑的文件,在 vim 异常退出的时候,会生成 .filename.swp 的交换文件,用来恢复文件依次为 .swo``.swn
    • vim 编辑的文件,在修改的时候,会自动生成一个备份文件 (修改之前的版本)
    1. # 恢复文件的命令

      vi -r .filename.swp

      查看恢复之后的文件

# 5. 获取网站指纹信息:

  1. # 漏洞描述:

    一个网站的 Banner 信息,即是该网站服务器对外现实的一些基础信息。

    比如:

    • 知道该网站的 Web 框架是什么,即可通过搜索引擎进行查找该 Web 框架的历史漏洞;
    • 或者是了解到了该网站的系统类型,即可利用相关特性以及漏洞。
  2. # 搜集指纹库:

    • GitHub 公开的 CMS 指纹库
  3. # 工具使用:

    • Wappalyzer https://github.com/chorsley/python-Wappalyzer
    • 技巧:

      在网站上随意输入一些 URL,有时会通过 404 页面或者是 302 跳转页面 发现一些有用信息。

      • 例如:开启了 Debug 选项的 ThinklPHP 网站会在一些错误提示页面显示 ThinkPHP 版本。

      • gedit 备份文件:

        Linux 中,使用 gedit 编辑器保存文件 flag 之后,会在当前目录下生成一个 flag~ 的文件,内容也是 flag 文件当中的内容。

        可通过浏览器访问该文件 ~ ,即可得到源代码

        备份文件

        查看

      • phps 泄漏:

        • 就是 php 的源代码文件,通常用于提供给用户(访问者)查看 php 代码,

        • 因为用户无法直接通过 Web 浏览器看到 php 文件的内容,所以需要用 phps 文件代替。

        • 其实,只要不用 php 等已经在服务器中注册过的 MIME 类型为文件即可,但为了国际通用,所以才用了 phps 文件类型。 它的 MIME 类型为:text/html, application/x-httpd-php-source, application/x-httpd-php3-source。

        • 访问相关文件的 phps 后缀名

          phps备份文件

      • 网站备份文件泄露 (压缩包)

        常见 .rar、.zip、.7z、.tar、.gz、.tar.gz、.bz2、.tar.bz2、.sql、.bak、.dat、.txt、.log、.mdb

        www.zip 等这些都是可以用目录工具扫出来 ,之后进行查看

# 4 收集域名信息

获取域名注册信息:该域名 DNS 服务器信息、注册人联系信息

# 1. Whois 查询:

查询域名是否已被注册以及已被注册域名的详细信息(域名所有人、域名注册商等)

  • 收集网络注册信息、注册的域名、IP 地址

    • 收集注册人姓名、邮箱、电话、地址等,然后可通过大量的 搜索引擎社交网站 得到域名所有人的很多信息
    • 中小站点而言,域名所有人经常是 管理员
    • 在线工具:
      1. 站长之家 http://whois.chinaz.com/
      2. Virus Total https://www.virustotal.com/gui/
      3. 爱站工具网 https://www.aizhan.com/cha/nuc.edu.cn/
    • Kali whois 查询

    image (12)

# 2. 备案信息查询

国家信息产业部对网站的一种管理,为防止在网上从事非法活动。主要针对国内网站,搭建在国外的网站,不需要备案。

  • 天眼查 https://www.tianyancha.com/
  • ICP 备案查询网 https://www.beianx.cn/

# 3. 历史解析记录

  • http://www.jsons.cn/nslookup/

  • https://zijian.aliyun.com/

  • dns 检查查询链接

    • TXT 记录,一般指为某个主机名或域名设置的说明。
    • A 记录,一般为自己域名解析的 IP

DNS检查

通过 dns 检查查询 flag

# 5 寻找真实 IP

# 1. 判断是否存在 CDN

  • ping 目标域名,观察域名解析情况(发现显示的是 ping 其他网站)

  • nslookup:发现返回时多个 IP 的话,多半使用了 CDN

  • 在线网址 :

    • 全国多地 ping 服,对比多个地区 ping 出的 IP 结果是否一致。

    • 站长工具:http://ping.chinaz.com/

    • 全球 ping:https://www.wepcc.com

    • 17CE:https://www.17ce.com

    • IPIP:https://www.ipip.net/ip.html

# 2. 不存在 CDN

  • 直接进行 https://site.ip138.com

# 3. 存在 CDN

CDN 高速缓存服务器,主要解决因传输距离与不同运营商节点在承德网络速度性能低下的问题。把用户经常访问的静态数据资源直接缓存到节点服务器上,用户再次请求时,会直接分发到离用户较近的节点服务器来响应,只有用户有实际数据交互时才会从远程 WEB 服务器上进行响应。

  • 如果渗透目标购买了 CDN 服务器,我们直接进行 ping 目标的域名,得到的不是真正的 Web 服务器,而是离我们最近的一台 CDN 服务器,导致我们无法直接得到真实的 IP 范围。

  • 绕过 CDN 寻找真实 IP

    • 分站域名,ping 二级域名
    • ping 目标域名,观察域名解析情况(发现显示的是 ping 其他网站)
    • nslookup:发现返回时多个 IP 的话,多半使用了 CDN
  • 国外代理访问

    • 在线代理网站
  • 查询域名解析记录

    • 网站
    • 抓取目标网站相应 APP 包
    • CloudFlare http://www.crimeflare.us/cfs.html#box

# 6 搜索引擎

# 1. Google 搜索引擎:

可以搜索 数据库文件、SQL 注入、配置信息、源代码泄露、未授权访问、robots.txt 等敏感信息

关键字 目的
site 指定域名
inurl url 中存在关键字的网页
intext 网页正文当中的关键字
filetype 指定文件后缀、扩展名,即文件类型
intitle 网页标题中的关键字
link 返回所有和其做了链接的 url
info 查找指定站点的一些基本信息
cache 查找某些内容的缓存
site: nuc.edu.cn
inurl:login.php
inurl:admin/login.php intitle:管理
intitle:网络安全
intext:SQL注入
link:baidu.com
filetype:mdb
查找后台地址:
site:域名inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms
查找文本内容:
site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|admin|login|sys|managetem|password|username
查找可注入点:
site:域名 inurl:aspx|jsp|php|asp
查找上传漏洞:
site:域名 inurl:file|load|editor|Files
找eweb编辑器
site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit
存在的数据库:
site:域名 filetype:mdb|asp|#
查看脚本类型:
site:域名 filetype:asp/aspx/php/jsp
迂回策略入侵:
inurl:cms/data/templates/images/index/
Shodan
Fofa
Zoomeye

# 7 子域名信息收集

# 1. 子域名检测工具

  • Layer 子域名挖掘机
  • subDomainsBrute 可爆破出三级四级甚至五级等不易被探测到的域名

https://github.com/lijiejie/subDomainsBrute

cd /opt/
git clone https://github.com/lijiejie/subDomainsBrute.git
#用法
python subDomainsBrute.py [options] target.com
#实例
python subDomainsBrute.py csdn.net​
#注意
windows 在python路径下的script文件夹中需要执行
pip install dnspython gevent
pip install aiodns

image (15)

image (16)

Options:​
--version 显示版本号并退出​
-h, --help 帮助​
-f FILE 指定暴力猜解字典,默认使用subnames.txt.​
--full 全扫描,使用subnames_full.txt​
-i, --ignore-intranet​
忽略不想采集的IP地址​
-t THREADS, --threads=THREADS​
扫描线程数,默认200​
-p PROCESS, --process=PROCESS
​扫描进程数,默认为6​
-o OUTPUT, --output=OUTPUT​
输出文件名称 {target}.txt
  • Sublist3r

  • wydomain https://github.com/ring04h/wydomain

  • 在线网址

    子域名爆破网站 https://phpinfo.me/domain/

    域名爆破

  • IP 反查绑定域名网站

    https://dns.aizhan.com/

    https://site.ip138.com

    http://dns.aizhan.com/

    https://hackertarget.com/find-dns-host-records/

    https://dnsdumpster.com/

    www.virustotal.com

  • 证书透明度(CT)公开日志枚举

    搜索引擎搜索公开的 CT 日志

    https://crt.sh

    https://censys.io

# 8 收集端口信息

# 1. 扫描工具

  • Nmap
  • Masscan

  • ZMap

  • 御剑 TCP 端口扫描

# 2. 常见端口以及相应的攻击手段

# 9 探针信息

# 1. PHP 探针

php 探针 是用来探测空间、服务器运行状况和 PHP 信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。

常用 4 款 PHP 探针

如果有 phpinfo 界面 ,尝试 crtrl+f 搜索 flag 字样,还有一些其他的重要信息

php探针

# 10 CTF Show 思路总结

  • 第一步:查看 源代码

    • 右键查看源代码
    • F12 打开开发者工具

    • Ctrl + U 查看源代码

    • Burp 抓包查看

  • 抓包 可能发现一些有用信息

  • robots.txt

  • phps 源代码泄露

  • 下载源码文件、网站备份文件

  • 版本控制不要部署到生产环境中 .git .svn

  • Vim 缓存 .文件名.php.swp .文件名.php.swo .文件名.php.swn

  • cookie 的重要性

  • 域名、子域名 信息搜集 nslookup 在线网站

  • Banner 等公开信息 管理员密码 QQ QQ邮箱等 第三方软件查个人信息

  • 技术文档

  • 对应编辑器漏洞

  • 探针 (phpinfo)

  • 前端源码 密钥泄露

  • db.mdb

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

尘落 微信支付

微信支付

尘落 支付宝

支付宝

尘落 贝宝

贝宝