信息打点-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等[1]
#知识点: 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指纹识别源码获取方式 2、闭源-习惯&配置&特性等获取方式 3、闭源-托管资产平台资源搜索监控 ------------------------------------ 1、JS前端架构-识别&分析 2、JS前端架构-开发框架分析 3、JS前端架构-打包器分析 4、JS前端架构-提取&FUZZ 解决: 1、如何从表现中的JS提取价值信息 2、如何从地址中FUZZ提取未知的JS文件 3、如何从JS开放框架WebPack进行测试 ------------------------------------ 1、端口扫描-应用&协议 2、WAF识别-分类&识别 3、蜜罐识别-分类&识别 解决: 1、Web服务器&应用服务器差异性 2、WAF防火墙&安全防护&识别技术 3、蜜罐平台&安全防护&识别技术 ------------------------------------ 1、CDN服务-解释差异识别 2、CDN绕过-配置差异导致 3、CDN绕过-主动连接获取 4、CDN绕过-全网扫描获取 解决: 1、CDN服务对安全影响 2、CDN服务绕过识别手法 ------------------------------------ 1、CMS指纹识别-不出网程序识别 2、开发框架识别-PHP&Python&Java 3、开发组件识别-Java常见安全漏洞组件 解决: 1、CMS识别到后期漏洞利用和代码审计 2、开发框架识别到后期漏洞利用和代码审计 3、开发组件识别到后期漏洞利用和代码审计 #章节点 Web:语言/CMS/中间件/数据库/系统/WAF等 系统:操作系统/端口服务/网络环境/防火墙等 应用:APP对象/API接口/微信小程序/PC应用等 架构:CDN/前后端/云应用/站库分离/OSS资源等 技术:JS爬虫/敏感扫描/端口扫描/源码获取/接口泄漏等 技术:指纹识别/Github监控/CDN绕过/WAF识别/蜜罐识别等 #补充: CMS(主要针对php的 Java的可能不太行) Discuz、WordPress、Ecshop、蝉知等 前端技术 HTML5、jquery、bootstrap、Vue等 开发语言 PHP、JAVA、Ruby、Python、C#,JS等 Web服务器 Apache、Nginx、IIS、lighttpd等 应用服务器: Tomcat、Jboss、Weblogic、Websphere等 数据库类型: Mysql、SqlServer、Oracle、Redis、MongoDB等 操作系统信息 Linux、windows等 应用服务信息: FTP、SSH、RDP、SMB、SMTP、LDAP、Rsync等 CDN信息 帝联、Cloudflare、网宿、七牛云、阿里云等 WAF信息 创宇盾、宝塔、ModSecurity、玄武盾、OpenRASP等。 蜜罐信息: HFish、TeaPot、T-Pot、Glastopf等 其他组件信息 fastjson、shiro、log4j、OA办公等 |
演示案例:
-
指纹识别-本地工具-GotoScan
GotoScan :cms.json 里面有很多cms可以识别出来
-
Python-开发框架-Django&Flask
Flask:
-
PHP-开发框架-ThinkPHP&Laravel&Yii
thinkphp
源码还是使用的某个框架开发的
YII(还是有用某些框架开发的)
Laravel
yii
-
Java-框架组件-FastJson&Shiro&Solr&Spring
fastjson
shrio
struct
spring
后端: CMS:一般PHP开发居多源码程序 (利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计) 前端 js 框架(爬取更多的js从里面筛选URL或敏感泄漏key等) 也是可以通过对js代码逻辑进行代码审计 组件:java居多, 常见有过安全漏洞组件(shiro solr log4j sprintboot等) 框架:php java python都有 框架:简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可 如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可 影响:如果采用框架开发,代码的安全性是取决于框架的过滤机制 组件:第三方的功能模块(日志记录,数据监控,数据转换等) Web架构: 1、最简单最入门的开发模型(功能代码全部手写) 最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写 2、结合开发框架的开发模型(以框架为核心实现功能) 第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞) 3、结合开发框架外加组件模型(以框架为核心,组件为辅实现功能) 第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞) 指纹识别-本地工具-GotoScan(CMSEEK) 1、在线平台见前面课程,本地工具适用于不出网环境 https://github.com/newbe3three/gotoscan 2、网络空间:Fofa Quake Hunter 3、网络空间:IO图标关系 #Python-开发框架-Django&FlaskDjango1、识别插件 2、Set-Cookie:expires= Flask1、识别插件 2、Set-Cookie:expires= #PHP-开发框架-ThinkPHP&Laravel&YiiThinkPHP:0、识别插件 1、X-Powered-By: ThinkPHP 2、CMS识别到源码体系TP开发 Laravel:1、识别插件 2、Set-Cookie中特征的格式 Yii:1、识别插件 2、Set-Cookie中特征的格式 #Java-框架组件-Fastjson&Shiro&Solr&Spring52类110个主流Java组件和框架介绍:https://blog.csdn.net/agonie201218/article/details/125300729 Fastjson/Jackson在提交JSON数据包中修改测试: -Fastjson组件会把01解析成1 -Jackson组件在解析01时会抛出异常 https://forum.butian.net/share/1679 https://www.iculture.cc/forum-post/24115.html 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,可以尝试进行利用 Springboot1、通过web应用程序网页标签的小绿叶图标 2、通过springboot框架默认报错页面 Solr识别一般开放8983端口,访问页面也可以探针到 |