时间轴
演示案例
指纹识别—本地工具—GotoScan
Python—开发框架—Django&Flask
PHP—开发框架—ThinkPHP&Laravel&Yii
Java—框架组件—FastJson&Shiro&Solr&Spring
知识点
1.CMS指纹识别—不出网程序识别
解决:CMS识别到后前期漏洞利用和代码审计
一般PHP开发居多,利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计
2.开发框架识别—PHP、Python、Java
框架简介:简单代码的一个整合库,若使用框架只需要学习使用框架调用即可,例如文件上传功能是需要很多代码来实现的,而框架会把这个代码进行封装,直接调用即可
影响:若采用框架开发,代码的安全性取决于框架的过滤机制
解决:开发框架识别到后前期漏洞利用和代码审计
PHP、Python、Java都有
前端JS框架(爬取更多的js从里面筛选url或敏感泄露key等),也是可以通过对js代码逻辑进行代码审计
3.开发组件识别—Java常见安全漏洞组件
组件简介:第三方的功能模块(日志记录,数据监控,数据转换)
解决:开发组件识别到后前期漏洞利用和代码审计
Java居多,常见有过安全漏洞组件(shiro solr log4j sprintboot 等)
指纹识别—本地工具—GotoScan(CMSEEK)
1.本地工具
在线平台见13天内容,本地工具适用于不出网环境
https://github.com/newbe3three/gotoscan
原理:
GotoScan目录下有一个cms.json文件,里面记录了大量路径以及md5值。在运行时,会先扫描访问的路径是否存在,再与文件中的md5值进行匹配来确定cms
使用方法:
测试一个目标,需要在域名前加上https或者http
gotoscan.exe -host https://localhost.com
指定测试多个目标存放的txt文件,一行一个目标
gotoscan.exe -hosts hosts.txt
演示案例:
在gotoscan.exe目录下执行cmd,执行对应命令开始分析
2.网络空间:Fofa Quake Hunter
3.网络空间:IO 图标关系
WEB架构
1. 最简单最入门的开发模型(功能代码全部手写) 安全漏洞:最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写 2. 结合开发框架的开发模型(以框架为核心实现功能) 安全漏洞:第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞) 3. 结合开发框架外加组件模型(以框架为核心,组件为辅实现功能) 安全漏洞:第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)Python—开发框架—Django&Flask
Django
案例演示地址:邢台车用气瓶追溯系统-登录
1.识别插件(可以使用Wappalyzer来识别)
2.Set-Cookie:expires=(set-cookie里有csrftoken)
Flask
1.识别插件(可以使用Wappalyzer来识别)
2.Set-Cookie:expires:
X-Powered-by/ETag里有flask
看不出来的可以查看是否python开发来对应flask
Ps:以上识别方法都不是绝对的,如果没有的话,还需要结合其他情况具体分析
PHP—开发框架—ThinkPHP&Laravel&Yii
ThinkPHP
案例演示地址:【广州文件销毁公司_文件销毁服务中心】文件销毁处理 (refeipin.com)
1.识别插件
2.X-Powered-By:ThinkPHP
3.CMS识别到源码体系TP开发
其中一种思路就是可以用cms进行识别,如识别出来是api admin但小程序核心仍然是ThinkPHP。
4.通过图标信息识别
Laravel
演示案例地址:HoroscopeAPI BY: JoRhendz
1.识别插件
2.Set-Cookie中的特征格式
框架内置了安全模式,也就是引用了token,token就是保护数据包的唯一性,所以就会有固定的特征格式
Yii
演示案例地址:My Yii Application
1.识别插件
2.Set-Cookie中的特征格式(YII_CSRF_TOKEN)防止CSRF漏洞。
Java—框架组件—FastJson&Shiro&Solr&Spring
52类110个主流Java组件和框架介绍:
52类110个主流Java组件和框架介绍_基于java的组件有哪些-CSDN博客
FastJson/Jackson
在提交Json数据包中修改测试:
—FastJson组件会将01解析为1 F: id:01 正常
—Jackson组件在解析01时会抛出异常 J: id:01 报错
参考文章:
奇安信攻防社区-浅谈黑盒识别Fastjson/Jackson组件 (butian.net)
Shiro(验证用户身份的组件)
请求包的cookie中存在rememberMe字段
返回包中存在set-cookie:rememberMe=deleteMe
请求包中存在rememberMe=X时,响应包中存在rememberMe=deleteMe
有时服务器不会主动返回rememberMe=deleteMe,直接发包即可,将cookie内容改为rememberMe=1,若响应包中有rememberMe=deleteMe,基本可以确定网站是apache shiro搭建的
案例演示地址:欢迎使用 SuperMap iServer 10i(2020)
Struts2
使用Struts2框架后后缀一般带do或action
Springboot
1.通过web应用程序网页标签的小绿叶图标识别
2.通过Springboot框架默认的报错页面识别
Solr
一般开放8983端口,访问页面也可以探针到
框架判断原因:
通过框架与自身写漏洞,从攻破漏洞。
实操演示(vulfocus靶场)
镜像靶场地址:http://vulhub.org
vulfocus:首页 - vulfocus
题目1:shiro反序列化(CVE-2016-4437)
利用工具:onefox—shiro反序列化漏洞综合利用工具
首先启动靶场
看到log in,点进去发现有账号和密码,尝试登录然后抓个包,能看到有shiro的rememberMe=deleteMe
接下来启动工具,输入目标地址,依次点击爆破密钥—>检测当前利用链—>爆破利用链及回显
尝试命令执行,可以回显
再试试ls,直接得到答案
题目2:镜像拉取搭建实操
镜像拉取:(可能要开v*n)
Docker Hub Container Image Library | App Containerization
以上内容由番薯小羊卷~和李豆豆喵共同完成。
标签:FastJson,SpringBoot,框架,rememberMe,漏洞,开发,17,组件,识别 From: https://blog.csdn.net/m0_72870364/article/details/140966994