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

目录

前置知识

指纹识别-本地工具-GotoScan(CMSEEK)

Python-开发框架-Django&Flask

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

Java-框架组件-Fastjson&Shiro&Solr&Spring

思维导图


章节知识点

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

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

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

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

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

技术:指纹识别/Github监控/CDN绕过/WAF识别/蜜罐识别等

前置知识

后端:
CMS:一般PHP开发居多源码程序(利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计)潮汐识别CMS

CMS是内容管理系统(Content Management System)的缩写,是一种用于创建、编辑、组织和发布内容的软件工具或平台。CMS可以帮助用户轻松管理网站、博客、电子商务平台等各种在线内容。通过CMS,用户可以方便地添加、修改和删除内容,进行页面布局调整,管理用户权限,以及进行其他与内容相关的操作。常见的CMS包括WordPress、Joomla、Drupal等。


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

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

框架:php java python都有

框架:简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可
如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可
影响:如果采用框架开发,代码的安全性是取决于框架的过滤机制

组件:第三方的功能模块(日志记录,数据监控,数据转换等)

Web架构:
1、最简单最入门的开发模型(功能代码全部手写)
                最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写

2、结合开发框架的开发模型(以框架为核心实现功能)
                第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞)

3、结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)
                第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)

CMS指纹识别-本地工具-GotoScan(CMSEEK)

1、在线平台见前面课程,本地工具  适用于不出网环境

https://github.com/newbe3three/gotoscan

2、网络空间:Fofa Quake Hunter

3、网络空间:IO图标关

4、潮汐指纹在线识别

GotoScan:https://github.com/newbe3three/gotoscan

使用方式:

  • gotoscan.exe -host https://localhost.com 
  • gotoscan.exe -hosts hosts.txt

CMSeek:https://github.com/Tuhinshubhra/CMSeeK

Python-开发框架-Django&Flask

Django

1、识别插件-Wappalyer

2、Set-Cookie:expires=或者Set-Cookie: csrftoken=

插件识别

FOFA:

Flask
1、识别插件
2、Set-Cookie:expires=或者Etag:

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

ThinkPHP:
1、识别插件
2、X-Powered-By: ThinkPHP或者直接识别ThinkPHP官方图标
3、CMS识别到源码体系TP开发

Laravel:
1、识别插件
2、Set-Cookie: laravel_session=或者Set-Cookie: XSRF-TOKEN

Yii:
1、识别插件
2、Set-Cookie:YII_CSRF_TOKEN

Java-框架组件-Fastjson&Shiro&Solr&Spring

52类110个主流Java组件和框架介绍:52类110个主流Java组件和框架介绍_java 客户端开发组件-CSDN博客

Wappalyer对Java开发组件的识别可能不是很好,做个参考算了

Fastjson/Jackson

在提交JSON数据包中修改测试:

-Fastjson组件会把01解析成1

-Jackson组件在解析01时会抛出异常

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

https://www.iculture.cc/forum-post/24115.html

理想状态下如果站点有原始报错回显,可以用不闭合花括号的方式进行报错回显,报错中往往中会有Fastjson/Jackson的关键字:Jackson

但是实际上并不可能那么的理想,所以需要一些其他的trick来进行区分。下面探讨下两个解析器之间有什么区别。

Fastjson会把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框架后缀带do或action,可以尝试进行利用

Springboot

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

2、通过springboot框架默认报错页面

Solr识别 

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

思维导图

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值