• Day12:信息打点-Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份


    目录

    开源-CMS指纹识别源码获取方式

    闭源-习惯&配置&特性等获取方式

    闭源-托管资产平台资源搜索监控

    思维导图


    章节点

    Web:语言/CMS/中间件/数据库/系统/WAF

    系统:操作系统/端口服务/网络环境/防火墙等

    应用:APP对象/API接口/微信小程序/PC应用等

    架构:CDN/前后端/云应用/站库分离/OSS资源等

    技术:JS爬虫/敏感扫描/目录爬虫/源码获取/接口泄漏等

    技术:指纹识别/端口扫描/CDN绕过/WAF识别/Github监控等

    开源-CMS指纹识别源码获取方式

    如果你看到一个网站

    标签

    名称

    地址

    指纹识别

    在线cms指纹识别

    http://whatweb.bugscaner.com/look/

    指纹识别

    Wappalyzer

    https://github.com/AliasIO/wappalyzer

    指纹识别

    TideFinger潮汐

    TideFinger 潮汐指纹 TideFinger 潮汐指纹

    指纹识别

    云悉指纹

    yunsee.cn-2.0

    指纹识别

    WhatWeb

    https://github.com/urbanadventurer/WhatWeb

    指纹识别

    数字观星Finger-P

    指纹收录平台

    除了CMS识别,指纹识别还包括Web框架、中间件、组件等的识别,可以使用如下工具

    Wappalyzer:基于浏览器插件的指纹识别工具,支持多种Web框架、CMS、中间件、CDN等的识别。

    WhatWeb:基于命令行的指纹识别工具,支持多种Web框架、CMS、中间件、语言等的识别。
    Fingerprintjs2:基于JavaScript的指纹识别工具,可以识别浏览器的User-Agent、语言、时区、屏幕分辨率、字体等信息。
    BuiltWith:基于网站的指纹识别工具,可以识别网站所使用的Web框架、CMS、中间件、CDN等信息。
    Nuclei:基于命令行的扫描工具,可以使用已有的指纹识别模板进行扫描。
     

    CMS识别见上述项目

    • 使用扫描工具扫描出搭建的源码为Zblog
    • 搜索并下载该源码,查看源码目录
    • 通过源码目录进行数据访问:回写数据403文件夹存在(判断是该源码)

    403:文件夹存在

    确定源码后(开源的),就可以进行代码审计

    闭源-习惯&配置&特性等获取方式

    参考文章:https://www.secpulse.com/archives/124398.html

    源码泄漏原因:
    1、从源码本身的特性入口
    2、从管理员不好的习惯入口
    3、从管理员不好的配置入口
    4、从管理员不好的意识入口
    5、从管理员资源信息搜集入口

    源码泄漏集合:标记 * 需要着重关注
    composer.json * 
    git源码泄露 *
    svn源码泄露 *
    hg源码泄漏
    网站备份压缩文件 *
    WEB-INF/web.xml 泄露
    DS_Store 文件泄露  *
    SWP 文件泄露
    CVS泄露
    Bzr泄露
    GitHub源码泄漏

    git源码泄露

    Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

    漏洞利用工具:GitHack

    github项目地址:https://github.com/lijiejie/GitHack

    403:文件夹存在,说明有该漏洞

    示例:

    python GitHack.py http://www.openssl.org/.git/

    svn源码泄露

    SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

    漏洞利用工具:GitHub - callmefeifei/SvnHack: 一个Svn信息泄露辅助工具,可以使用这个脚本列取网站目录,读取源码文件以及下载整站代码。

    示例:

    python SvnHack.py -u http://x.x.x.x/.svn/entries  —download

    网站备份压缩文件

    管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。
    常见的备份文件后缀:
    .rar
    .zip
    .7z
    .tar.gz
    .bak
    .txt
    .old
    .temp

    网站后台扫一下文件即可,比如:御剑等

    DS_Store 文件泄露

    .DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

    漏洞利用工具:

    github项目地址:https://github.com/lijiejie/ds_store_exp

    安装:pip install ds-store requests

    用例:

    ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store

    PHP特性-composer.json泄漏

    composer.json文件作用:composer.json文件定义了您当前项目的依赖项,以及依赖项的一些相关信息 常见属性说明:

    • name:表示包的名称
    • description:表示包的描述
    • version:表示包的版本
    • type:表示包的类型
    • keywords:表示一组用于搜索与筛选的与包相关的关键字
    • homepage:表示项目网站的url地址
    • readme:表示README文档的绝对路径
    • time:表示包的版本发布时间
    • license:表示包的许可证
    • authors:表示包的作者
    • support:表示获取对项目支持的信息对象
    • require:表示必须安装的依赖包列表
    • autoload:表示PHP自动加载的映射
    • minimum-stability:定义了按稳定性过滤包的默认值
    • repositories:表示自定义的安装源
    • config:表示一组配置选项
    • script:表示Composer允许在安装过程的各个部分执行脚本
    • extra:表示scripts使用的任意扩展数据

    闭源-托管资产平台资源搜索监控

    解决1:识别出大致信息却无下载资源

    解决2:未识别出信息使用码云资源获取

    同"程"交友:可以在这些程序员发布源码的网站进行搜索

    https://gitee.com/

    https://github.com/

    https://www.oschina.net/

    打开已经知道网址选中带有相关性数据包,选中其请求URL在github中搜索

    一般选用一些js,css文件,图片文件不选

    查找到不确定的源码目录,一一对应后,采用替换域名访问的方式来确定

    GITHUB资源搜索:
    in:name test               #仓库标题搜索含有关键字 
    in:descripton test         #仓库描述搜索含有关键字 
    in:readme test             #Readme文件搜素含有关键字 
    stars:>3000 test           #stars数量大于3000的搜索关键字 
    stars:1000..3000 test      #stars数量大于1000小于3000的搜索关键字 forks:>1000 test           #forks数量大于1000的搜索关键字
    forks:1000..3000 test      #forks数量大于1000小于3000的搜索关键字 size:>=5000 test           #指定仓库大于5000k(5M)的搜索关键字 pushed:>2019-02-12 test    #发布时间大于2019-02-12的搜索关键字 created:>2019-02-12 test   #创建时间大于2019-02-12的搜索关键字 user:test                  #用户名搜素 
    license:apache-2.0 test    #明确仓库的 LICENSE 搜索关键字 language:java test         #在java语言的代码中搜索关键字 
    user:test in:name test     #组合搜索,用户名test的标题含有test的
    关键字配合谷歌搜索:
    site:Github.com smtp   
    site:Github.com smtp @qq.com   
    site:Github.com smtp @126.com   
    site:Github.com smtp @163.com   
    site:Github.com smtp @sina.com.cn 
    site:Github.com smtp password 
    site:Github.com String password smtp

    • 找到源码或者通过抓包获取到的数据包可以进行以下操作
    • 利用sumlime软件打开源码文件夹,使用在文件夹中查找例如qq.com
    • 查找到相关留下的联系方式名称等信息
    • 使用这些信息再去github中查询寻找源码
    • 找到相关代码

    解决3:其他行业开发使用对口资源站获取

    1. https://www.huzhan.com/
    2. https://28xin.com/
    3. https://bbs.bcb5.com/
    4. https://www.shixinwl.com/
    5. https://www.lengcat.com/
    6. https://www.xlymz.com/
    7. https://www.ymadx.com/

    思维导图

  • 相关阅读:
    二级菜单下拉框
    理解内存序,指令重排与内存模型
    RationalDMIS 2020 叶片检测 -快速定义叶片截面线方法
    企业上半年净利润下降近8成,企业如何应对?
    java 使用策略模式减少if
    位图和布隆过滤器
    【Git】git commit -m 提交信息约束规范
    Linux入门之使用 traceroute 追踪数据包传输路径
    关于#django#的问题:django使用fdfs-client-py连接fastdfs遇到的问题
    多线程编程(1)
  • 原文地址:https://blog.csdn.net/qq_61553520/article/details/136418148