当前位置: 首页 > news >正文

6、信息打点——Web架构篇语言中间件数据库系统源码获取

1、信息搜集搜集哪些东西?

  1. 架构信息收集,主要包括:操作系统、开发语言、中间件容器、数据库类型、第三方软件等;

  2. web源码信息收集,CMS开源?闭源?售卖?自主研发?

    进行web源码信息收集的目的是,获取web源码。
    获取方式:资源监控(github、gitee)、网站有可能爆源码
    获取源码 → \rightarrow 直接利用公开的的漏洞库尝试安全测试;或者白盒代码审计,挖漏洞。

  3. web域名收集,子域名、相似域名、反查域名、旁注等

    相似域名搜集方法:

    • 找个域名注册网站,直接搜索目标域名,查看是否有相似域名被注册。
    • 备案查询,ICP备案查询,查看备案公司,再去查备案公司的信息。

    反查域名指的是通过ip反向解析域名,可以使用nslookup反查域名。
    旁注指的是一个服务器上既搭建了目标网站,又有其他网站,这里的其他网站就是旁注。

  4. 主机防护信息

  5. 人员信息

2、信息搜集需要的技术

cms识别、端口扫描、CDN绕过、源码获取、子域名查询、waf识别、负载均衡识别。

3、信息搜集途径:

  • 查看返回数据包,如X-Power-By字段会显示后端开发语言
  • 网站最底端,一般会显示power by这样的内容,可以区分网站使用的CMS;
  • 使用浏览器插件wappalyzer或者whatweb(linux),可以获取部分架构信息;
  • 域名中的字母进行大小写替换,可以确定服务器的类型。
    1. linux对大小写敏感,windows对大小写不敏感。
    2. 主要进行大小写替换的时候,不要对参数进行大小写替换。这种方式可能不准确,改大小写,windows服务器可能也不显示页面,这可能与中间件的解析有问题。
    3. 还可以通过ping命令的TTL值判断操作系统类型,采用最近原则,距离哪种系统类型最近就是哪种操作系统。
  • 数据库、中间件的判定:搭建组合 or 端口扫描

    数据库默认端口:mysql 3306、mssql 1433、oracle 1521…

信息收集分类:

  • 主动式信息搜集:本地使用工具对目标进行扫描。
  • 被动式信息搜集:接用网上接口对目标进行信息收集。接口干的,和你没关系

4、APP信息收集

  1. 用burp抓下,看有没有web协议的数据包,用web信息收集的那一套。
  2. bing搜索、fofa搜索源码信息。

常见搭配:IIS+Aspx+Mssql
php网站比java网站简单些,由易到难。

5、总结

  1. 开发语言判断

    • 通过网站路径判断;
    • 通过谷歌语法,直接搜索该网站下有没有相应的开发语言,例如:site:xxxx php
    • 通过常用组合判断。
  2. 中间件判断:

    • 看返回数据包
    • 搭建组合
    • 端口扫描
  3. 数据库判断:

    • 端口扫描
    • 搭建组合
  4. 操作系统判断:

    • 通过域名路径大小写;
    • TTL值

相关文章:

  • 【学习篇】Linux中grep、sed、awk
  • Qt手写ListView
  • dom api
  • Unity中Shader的Standard材质解析(二)
  • 媒体格式转换软件Permute 3 mac中文版软件特点
  • C百题--7.输出乘法表
  • 【RocketMq系列-02】RocketMq的架构解析和高性能设计
  • Linux每日智囊
  • 第二类曲线积分@对坐标的曲线积分
  • 学习笔记,http协议1.0,1.1,2.0之间的差别
  • macos端文件夹快速访问工具 Default Folder X 最新for mac
  • 【数据结构】B : DS图应用--最短路径
  • Windows任务管理器内存性能界面各个参数含义
  • 【操作系统】线程的状态
  • OpenCV将两张图片拼接成一张图片
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Brief introduction of how to 'Call, Apply and Bind'
  • GraphQL学习过程应该是这样的
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java知识点总结(JavaIO-打印流)
  • jquery cookie
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • php中curl和soap方式请求服务超时问题
  • Vue实战(四)登录/注册页的实现
  • vue数据传递--我有特殊的实现技巧
  • web标准化(下)
  • 从输入URL到页面加载发生了什么
  • 官方解决所有 npm 全局安装权限问题
  • 记录一下第一次使用npm
  • 码农张的Bug人生 - 初来乍到
  • 每天一个设计模式之命令模式
  • 十年未变!安全,谁之责?(下)
  • 小而合理的前端理论:rscss和rsjs
  • 用Python写一份独特的元宵节祝福
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 在Mac OS X上安装 Ruby运行环境
  • Python 之网络式编程
  • ​​​【收录 Hello 算法】9.4 小结
  • # 达梦数据库知识点
  • #传输# #传输数据判断#
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (初研) Sentence-embedding fine-tune notebook
  • (三十五)大数据实战——Superset可视化平台搭建
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .jks文件(JAVA KeyStore)
  • .NET 4.0中的泛型协变和反变
  • .NET下的多线程编程—1-线程机制概述
  • [ C++ ] STL---stack与queue
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [.net] 如何在mail的加入正文显示图片
  • [240621] Anthropic 发布了 Claude 3.5 Sonnet AI 助手 | Socket.IO 拒绝服务漏洞
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [C#] 基于 Token 的鉴权与签名机制详解 接口对接鉴权 token、sign(a=1b=2c=3d=4)、Base64、参数加密、MD5