小迪安全笔记——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...

信息收集分类:

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

开发语言判断:

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

中间件判断:

  • 看返回数据包
  • 搭建组合
  • 端口扫描

数据库判断:

  • 端口扫描
  • 搭建组合

操作系统判断:

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

4、APP信息收集

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

常见搭配:IIS+Aspx+Mssql

php网站比java网站简单些,由易到难。

相关推荐
kali-Myon6 小时前
快速解决 Docker 环境中无法打开 gdb 调试窗口以及 tmux 中无法滚动页面内容和无法选中复制的问题
运维·安全·docker·容器·gdb·pwn·tmux
reddingtons6 小时前
PS 参考图像:线稿上色太慢?AI 3秒“喂”出精细厚涂
前端·人工智能·游戏·ui·aigc·游戏策划·游戏美术
一水鉴天6 小时前
整体设计 定稿 之23+ dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q199 之2) (codebuddy)
开发语言·前端·javascript
黑客思维者6 小时前
为什么Linux常被提权操作?
linux·网络·安全
刘发财6 小时前
前端一行代码生成数千页PDF,dompdf.js新增分页功能
前端·typescript·开源
_请输入用户名6 小时前
Vue 3 源码项目结构详解
前端·vue.js
少卿7 小时前
Next.js 国际化实现方案详解
前端·next.js
掘金挖土7 小时前
手摸手快速搭建 Vue3 + ElementPlus 后台管理系统模板,使用 JavaScript
前端·javascript
CoderHing7 小时前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
前端·javascript·react.js
一念之间lq7 小时前
Elpis 第三阶段· 领域模型架构建设
前端·后端