017-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等

信息打点-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot 等

CMS指纹识别

  • 局限性:CMS识别大部分针对PHP开放的web环境,java和python等会有问题

后端&前端&组件&框架

  • 后端:
    CMS:一般使用PHP源码程序开发居多(利用源码程序名去搜集现有漏洞情况,或使用源码去下载进行后期的代码审计)

  • 前端:
    JS框架(爬取更多的js,从里面筛选URL或敏感泄露key等)也是通过对js代码逻辑进行代码审计

  • 组件:

    java居多,常见有过安全漏洞组件:shiro, solr, log4j, sprintboot等

  • 框架:

    php, java, python都有

WEB架构:

  • 1.最简单、最入门的开发模型(功能代码全部手写)

    最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯自己手写

  • 2.结合开发框架的开发模型(以框架为核心实现功能)

    第三方或团队的开发的封装代码框架,一般内置过滤机制(但可能存在框架漏洞)

  • 3.结合开发框架外加组件模型(以框架为核心,组件为辅助实现功能)

    第三方或团队的开发的封装代码框架和组件,一般内置过滤机制(但可能存在框架和组件漏洞)

开发框架

  • 简单代码的一个整合库,如果使用框架就只需要学习框架调用即可

    如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封装,调用即可

  • 影响:如果采用框架开放,代码的安全性是取决于框架的过滤机制

    框架有漏洞-网站就有漏洞;框架没漏洞但扫出了漏洞-没有正确使用框架导致(如程序一半用框架,一半自己写)

开发组件

  • 第三方的功能模块(日志记录、数据监控、数据转换等),框架没有的功能、拓展功能

指纹识别-本地识别

  • 工具:gotoscan
  • 浏览器插件:Wappalyzer

python-web开发框架-Django&Flask

  • Django

    1.识别插件

    2.web返回数据包字段:Set-Cookie:expires=

  • Flask

    1.识别插件

    2.web返回数据包字段(可能存在):Set-Cookie:expires=

PHP-web开发框架-ThinkPHP&Laravel&Yii

  • ThinkPHP:

    1.识别插件

    2.web返回数据包字段:X-Powered-By:ThinkPHP

    3.网站图标判断

    4.CMS识别到源码查找:ThinkPHP开发源码查找,如:down.chinaz.com平台尝试查找开发使用的源码–>寻找漏洞

  • Laravel:

    1.识别插件

    2.Set-Cookie中的特征格式

  • Yii

    1.识别插件

    2.Set-Cookie中的特征格式

JAVA-web开发框架组件-Fastjson&Shiro&Solr&Spring

52类101个主流Java组件和框架介绍:https://blog.csdn.net/agonie201218/article/details/125300729

  • Fastjson/Jackson

    在提交JSON数据包中修改测试:https://forum.butian.net/share/1679;

    • Fastison组件会把01解析成1
    • Jackson组件在解析01时会抛出异常
  • Shiro

    请求包的cookie中存在rememberMe字段

    返回包中存在set-Cookie: remeberMe=deleteMe

    请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe

    有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为remember Me=1,若相应包有rememberMe=deleteMe,则基本可以确定网站apache shiro搭建的

  • Struts2

    一般使用struts2框架URL后缀带do或action,可以尝试进行利用

  • Springboot

    通过web应用程序网页标签的小绿叶图标

    通过springboot框架默认报错页面

  • Solr识别

    网站图标判断

    一般开放8983端口,访问页面也可以探针到