目录

  1. 1. 前言
  2. 2. Web 信息收集
    1. 2.1. 前端信息收集
      1. 2.1.1. html 信息收集
      2. 2.1.2. javascript 信息搜集
        1. 2.1.2.1. 接口泄露
        2. 2.1.2.2. 数据包加密密钥泄露
        3. 2.1.2.3. CTF 前端小游戏
      3. 2.1.3. js 前台拦截
        1. 2.1.3.1. 热加载替换 javascript
      4. 2.1.4. js 混淆
      5. 2.1.5. JSFUCK
    2. 2.2. Cookie 泄露
    3. 2.3. 静态敏感文件信息收集
      1. 2.3.1. robots.txt泄露接口
      2. 2.3.2. 源码压缩包泄露
      3. 2.3.3. 版本控制泄露
      4. 2.3.4. phps源码泄露
      5. 2.3.5. vim临时文件泄露
      6. 2.3.6. sql备份源码泄露
      7. 2.3.7. 探针信息泄露
      8. 2.3.8. mdb 文件泄露
      9. 2.3.9. DS_Store 信息泄露
    4. 2.4. 社工方法
      1. 2.4.1. 敏感信息
      2. 2.4.2. 内部技术文档泄露
      3. 2.4.3. 域名txt记录泄露
      4. 2.4.4. 敏感信息公布
  3. 3. 资产信息收集
    1. 3.1. 域名信息
      1. 3.1.1. WHOIS
      2. 3.1.2. ICP
      3. 3.1.3. SEO
      4. 3.1.4. 搜索引擎语法
    2. 3.2. 子域名收集
      1. 3.2.1. 被动收集
      2. 3.2.2. 主动收集
    3. 3.3. IP 信息收集
      1. 3.3.1. CDN
    4. 3.4. 个体信息收集
      1. 3.4.1. 搜索引擎语法
    5. 3.5. Github / Gitee
    6. 3.6. APP信息
    7. 3.7. 微信公众号、小程序
    8. 3.8. 空间测绘
      1. 3.8.1. logo
      2. 3.8.2. favicon.ico
    9. 3.9. 网盘信息收集
    10. 3.10. 文库信息收集
  4. 4. WAF 识别

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

信息收集 Re:Master

2023/5/10 Web
  |     |   总文章阅读量:

前言

参考:

https://forum.butian.net/share/2841

https://www.bilibili.com/video/BV1yP4y117Q2/?vd_source=6ce69e079d1dd642d7810fbf2e9c817e

https://www.freebuf.com/vuls/328801.html

https://evanli.github.io/blog/2019/01/26/advanced-google-search-engine-command/

https://blog.gm7.org/docs/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/%E6%95%8F%E6%84%9F%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/%E8%AF%AD%E9%9B%80


Web 信息收集

此部分专注于对单个 web 站点进行信息收集

前端信息收集

基本都是 f12 能够直接开始收集的

优质工具:

html 信息收集

html 中的注释符 <!-- -->:部分 web 框架可能会把框架名称,版本号甚至源码地址写在 html 注释中

带有链接的 html 标签:可从中获取一些 api 接口

<a href="http://example.com"></a>
<img src="https://www.example.com/images/dinosaur.jpg"

javascript 信息搜集

f12 查看源代码,即可查看页面加载的 javascript

接口泄露

https://developer.volcengine.com/articles/7381513265429348402

前端采用 vue ,webpack 会对前端资源打包生成静态文件,这些打包的文件往往会被加载

其中会有大量的接口信息,可以尝试构造完整 api 进行批量访问来测试未授权


数据包加密密钥泄露

部分网页前后端数据传输时会加密数据包导致难以篡改,但是前端可能会泄露加密方法与密钥

function checkForm(){
    var key = "0000000372619038";
    var iv = "ilove36dverymuch";
    var pazzword = $("#pazzword").val(); pazzword = encrypt(pazzword,key,iv);
    $("#pazzword").val(pazzword);
    $("#loginForm").submit();
}
function encrypt(data,key,iv) { //key,iv:16位的字符串
    var key1  = CryptoJS.enc.Latin1.parse(key);
    var iv1   = CryptoJS.enc.Latin1.parse(iv);
    return CryptoJS.AES.encrypt(data, key1,{
        iv : iv1,
        mode : CryptoJS.mode.CBC,
        padding : CryptoJS.pad.ZeroPadding
    }).toString();
}

CTF 前端小游戏

CTF 中,一些前端小游戏类型的题目会把 flag 藏在 javascript 里,可以尝试 ctrl+f 搜索一些可能产生输出的方法:console.logalert;留意一些编码的字符串,如十六进制的特征 \x、base64 的特征 ==;或者寻找可能的通关逻辑与字符串,如 success,if,数值判断等。

参考题目:[HGAME 2023 week1]Classic Childhood Game


js 前台拦截

https://tree.moe/anti-debug-and-solution/

部分网站为了防止使用开发者工具会在 javascript 里添加限制代码,效果包括但不限于禁用右键、禁用 f12、debugger 循环阻止控制台调试等

屏蔽 f12:

$(document).keydown(function (event) {
    if (event.keyCode == 123) {
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            window.event.returnValue == false;
        }
    }
});

屏蔽 ctrl+shift+i:

$(document).keydown(function (event) {
    if (event.ctrlKey && event.shiftKey && event.keyCode == 73) {
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            window.event.returnValue == false;
        }
    }
});

通过添加自定义事件屏蔽鼠标右键:

$(document).ready(function () {
    $(document).bind("contextmenu", function (e) {
        return false;
    });
});

debugger 反调试:

// 通过递归反复构造匿名函数利用debugger断点阻止调试
var check = function () {
    function doCheck(a) {
        if (('' + a / a)['length'] !== 1 || a % 20 === 0) {
            (function () { }['constructor']('debugger')());
        } else {
            (function () { }['constructor']('debugger')());
        }
        doCheck(++a);
    }
    try {
        doCheck(0);
    } catch (err) { }
};
check();
// 同时利用定时器定期产生debugger断点
setInterval(function () {
    check();
}, 2000);

时间差检验:

function consoleOpenCallback() {
    alert('关闭调试窗');
    window.location.reload();
}

var Anti_numtots = 0;
(function () {
    window._windon_handler = setInterval( function() {
        var before = new Date();
        debugger;
        var after = new Date();
        if (after.getTime() - before.getTime() > 100) {
            if (after.getTime() - before.getTime() > 2000) {
                consoleOpenCallback();
                clearInterval(_windon_handler);
            }else{
                Anti_numtots++;
                if(Anti_numtots>=2){
                    consoleOpenCallback();
                    clearInterval(_windon_handler);
                }
            }
        }else{
            Anti_numtots = 0;
        }
    }, 1000)
})();

CTF 参考: GeekGame 2024 验证码 #web-copy

热加载替换 javascript

把 javascript 代码 dump 到本地,修改其中的反调试语句后使用 开发者工具-源代码-替换 进行替换


js 混淆

通过大量的操作混淆使 javascript 代码没有可读性

反混淆工具:https://github.com/kuizuo/js-deobfuscator


JSFUCK

javascript 特有的编码,CTF 过气 trick(

https://jsfuck.com/


查看 cookie,可能存在一些敏感字段可以用于识别指纹,如 Shiro 框架特有的 rememberMe


静态敏感文件信息收集

robots.txt泄露接口

robots.txt 文件:https://www.cloudflare.com/zh-cn/learning/bots/what-is-robots-txt/

指定了不允许爬虫爬取的页面,可能会泄露出一些 api,如百度的 robots.txt:

User-agent: Baiduspider
Disallow: /baidu
Disallow: /s?
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Googlebot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: MSNBot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Baiduspider-image
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: YoudaoBot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou web spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou inst spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou spider2
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou blog
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou News Spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou Orion spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: ChinasoSpider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sosospider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh


User-agent: yisouspider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: EasouSpider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: *
Disallow: /

源码压缩包泄露

部分网站建站时会把网站源码放在可访问的路径下,常见的源码压缩包如 www.zip


版本控制泄露

.git泄露.svn泄露

https://www.freebuf.com/articles/web/267597.html

以 git 为例,平常 github 用的比较多的话很容易理解,我们使用 git 的所有被追踪的操作和被操作的文件都会被记录,git 相关的文件会放在当前目录的 /.git/ 下,那么这个目录一旦可以访问,就可以尝试通过这个获取源码及其历史改动的记录

git 泄露的利用工具:GitHackerGit_Extract

svn 泄露的利用工具:SvnExploit


phps源码泄露

/index.phps

/index.php.bak


vim临时文件泄露

vim是linux自带且常用的文件编辑器
vim在编辑时会生成一个隐藏的临时文件
当vim非正常关闭时这个文件就会被保留下来

以 index.php 为例,可尝试访问 index.php.swp 得到临时文件信息

恢复 swp 文件为源文件:

vim -r index.php.swp

sql备份源码泄露

访问backup.sql


探针信息泄露

一种用于诊断和监视PHP应用程序的工具,通常是作为第三方工具提供的,它通常是一个PHP脚本,可提供服务器环境变量、PHP配置选项、已加载的扩展、PHP版本信息、内存使用情况、CPU利用率、网络活动等信息

一般可以访问tz.php


mdb 文件泄露

mdb文件是早期asp+access构架的数据库文件

一般访问/db/db.mdb


DS_Store 信息泄露

mac 下经常拉的史(

苹果的操作系统会在每一个文件夹中产生这个文件记录这个文件夹中的相关信息。实际上,这一文件包含了文件夹中所有的文件名和子文件夹名。和 windows 相比,等同于 desktop.ini 和 Thumbs.db 两个文件。

一旦泄露可以获取网站相关的路径


社工方法

敏感信息

根据页面中存在的邮箱等敏感信息进行查找,如邮箱对应的qq号搜索

内部技术文档泄露

页面中存在技术文档信息

域名txt记录泄露

在线域名解析

敏感信息公布

有时候网站上的公开信息,就会是管理员常用密码

例子:2024网鼎杯半决赛渗透


资产信息收集

这部分更多以某一公司下的所有资产信息进行收集,侧重攻防实战

流程上一般是:域名/单位信息收集->子域名收集->IP 端口扫描->URL 指纹识别

以米哈游的信息为例(

优质工具:

TscanPlus:https://github.com/TideSec/Tscanplus

域名信息

WHOIS

已知域名找关联内容

WHOIS是一个标准的互联网协议,可用于收集网络注册信息、注册域名﹑IP地址等信息。简单来说,WHOIS就是一个用于查询域名是否已被注册及注册域名详细信息的数据库(如域名所有人、域名注册商)。

在 WHOIS 查询中,得到注册人的姓名和邮箱信息通常对测试中小网站非常有用。我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息,对中小网站而言,域名所有人往往就是管理员。

image-20250508004816971

利用查询到网站管理员手机号码、姓名、邮箱通过 Whois 反查查询出网站管理员所注册过的域名,可以对注册的其他域名进行漏洞挖掘。


ICP

已知单位找关联域名

ICP (Internet Content Provider)备案是指网站在信息产业部提交网站信息进行官方认可。对国内各大小网站(包括企业及个人站点)的严格审查工作,对于没有合法备案的非经营性网站或没有取得 ICP 许可证的经营性网站, 根据网站性质,将予以罚款,严重的关闭网站,以此规范网络安全,打击一切利用网络资源进行不法活动的犯罪行为。也就是说,只要是盈利为目的的网站,都要进行 ICP 备案,否则会受到相应的处罚。

拿到一个单位的名称后,就可以查询该单位备案的其它网站

ICP 查询网站:

image-20250507210459346

天眼查:https://www.tianyancha.com/

根据前面获取的企业名称可以获取目标企业的微信公众号、微博、备案站点、APP、软件著作权等信息

image-20250508005235710

企查查:https://www.qcc.com/


SEO

SEO(Search Engine Optimization,搜索引擎优化),是指利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益,将自己公司的排名前移,很大程度上是网站经营者的一种商业行为。通过SEO综合查询可以查到该网站在各大搜索引擎的信息,包括网站权重、预估流量、收录、反链及关键词排名等信息,十分有用。

可以根据域名来收集目标站点的备案信息、名称、注册人等信息

https://www.aizhan.com/cha/

http://seo.chinaz.com/

image-20250508005729542


搜索引擎语法

  • 收集特定的域名:site:xxx.cn
  • 收集特定资产的敏感信息:
    1. 找管理后台地址
      site:xxx.com intext:管理|后台|登陆|用户名|密码|系统|账号
      site:xxx.com inurl:login/admin/manage/manager/admin_login/system
      site:xxx.com intitle:管理|后台|登陆
    2. 找上传类漏洞地址:
      site:xxx.com inurl:file
      site:xxx.com inurl:upload
    3. 找注入页面:
      site:xxx.com inurl:php?id=
    4. 找编辑器页面:
      site:xxx.com inurl:ewebeditor
    5. 找登录页面
      site:xxx.com inurl:"/admin/login.php"
    6. 查找含有username或password的xls文件
      filetype:xls "username | password"

搜索引擎一般用来收集信息泄露和隐藏较深的路由


子域名收集

有了前面的域名信息之后就可以考虑收集子域名,收集到的子域名可以获取到更多的 IP 地址,扩大资产范围

被动收集

信息泄露

搜索引擎:site:example.com

网络空间测绘引擎:domain=Your_domain

证书透明

当通过HTTPS访问web时,网站向浏览器提供数字证书,此证书用于识别网站的主机名,由证书颁发机构(CA,Certificate Authority)颁发。

第三方DNS服务

AS 号码查询

SAN 收集

使用公共数据集

主动收集

字典枚举:力大砖飞

置换扫描

域传送漏洞

DNSSEC

DNS缓存


IP 信息收集

CDN

首先要判断域名是否存在 CDN

内容分发网络(content delivery network或content distribution network,缩写作CDN)指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户,主要就是通过多个不同节点加快网站的访问速度。

判断的方法就是多地对该域名进行 ping,如果查询出的ip数量大于一个的话,则说明该ip地址不是真实的服务器地址

如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址

如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了

  • 多地 ping:https://ping.chinaz.com/
  • nslookup:用了 cdn 的会返回多个地址
  • IP 反查:反查有多个域名则不是

个体信息收集

搜索引擎语法

关键词之间用 OR 隔开,如 建设银行 OR 建行 OR xx省建行 + ccb


Github / Gitee

https://github.com/zhazhanitian/weekly/blob/main/learning/GitHub%E6%90%9C%E7%B4%A2%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%A7%BF%E5%8A%BF.md

网站域名、网站JS路径、网站备案、网站下的技术支持这些都可以放进去 GitHub 搜

gitee 的搜索性能较差:「关键字」+「开发语言类型」+「项目收藏数(Watch)」+「项目克隆数(Fork)」+「项目更新时间」


APP信息

七麦:https://www.qimai.cn/

通过当前APP查询所属公司的所有APP

通过当前APP查询同开发者应用

反编译 apk,提取其中的 api 接口,工具:https://github.com/n0mi1k/apk2url


微信公众号、小程序

通过微信搜索公众号并去关注,然后进去点击文章之类的,下拉可以看到它的网页来源,大部分是微信提供的,所以需要去阅读原文,但是原文也可能是第三方提供的,所以还需要自己自行去判断,找到它的 url 后又可以去爆一波子域名了

公众号提供的功能也可以点一点抓包看看域名和接口

小程序的话通过抓包就可以看到背后的域名了,见微信小程序渗透


空间测绘

搜图


favicon.ico

所谓favicon,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站

获取hash进行查询即可


网盘信息收集

主要是看那些网盘爬虫/搜索引擎

https://aipanso.com/


文库信息收集

语雀:支持搜索全网公开文档,误差较大


WAF 识别

工具:https://github.com/pbuff07/waf_repeater