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

第十七天

本课意义

1.CMS识别到后期漏洞利用和代码审计
2.开发框架识别到后期漏洞利用和代码审计
3.开发组件识别到后期漏洞利用和代码审计

一、CMS指纹识别-不出网程序识别

1.概念

CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主,其他语言开发的网页识别难度大

识别的意义就是向着对应目标使用对应的工具进行攻击

1.后端:

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

2.前端:

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

3.组件:

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

4.框架:

php java python都有相对应的漏洞


2.Web架构:

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

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

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

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

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

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

CMS识别到后期漏洞利用和代码审计


二、开发框架识别-PHP&Python&Java

  1. **框架:**简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可
  2. 例子:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可
  3. **影响:**如果采用框架开发,代码的安全 性是取决于框架的过滤机制
  4. 组件:第三方的功能模块(日志记录,数据监控,数据转换等)

开发框架识别到后期漏洞利用和代码审计


三、开发组件识别-Java常见安全漏洞组件

52类110个主流Java组件和框架介绍:

https://blog.csdn.net/agonie201218/article/details/125300729

开发组件识别到后期漏洞利用和代码审计


四、环境复现

1.指纹识别-本地工具-GotoScan(内网)

1进入https://github.com/newbe3three/gotoscan下载程序
2.下载完成后进入CMD执行程序,根据项目说明输入参数
3.对目标进行探测,仅限内网

2.Python-开发框架-Django&Flask

1.Django
1.使用FOFA寻找使用Django框架搭建的网站
2.使用识别插件进行查看
3.在Set-Cookie中包含csrftoken字段来判断是否使用了Django搭建的网站

2.Flask
1.使用FOFA寻找使用Flask框架搭建的网站
2.使用识别插件进行查看
3...在ETag中包含flask字段来判断是否使用了Flask搭建的网站,其他字段也有可能包含有flask字段,可以辅助判断

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

1.ThinkPHP
1.使用鹰图寻找使用ThinkPHP框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在X-Powered-By: ThinkPHP字段进行判断

2.Laravel
1.使用FOFA寻找使用Laravel框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在Set-Cookie.XSRF以及Set-Cookie.laravel_session中特征的格式

3.Yii
1.使用FOFA寻找使用Yii框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在Set-Cookie.YII_CSRF以及Set-Cookie:_csrf-frontend特征中的格式

4.Java-框架组件-FastJson&Shiro&Solr&Spring

1.Fastjson/Jackson

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

-Fastjson组件会把01解析成1

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

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

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

1.Fastjson会把01解析成1:
2.Jackson在解析01时会抛出异常:

2.Shiro
1.使用FOFA寻找使用Shiro框架搭建的网站
2.查看页面是否有Shiro
3.使用F12抓取数据包的index.html包,查看返回包的cookie中是否存在rememberMe=deleteMe字段

3.Struts2
1.使用FOFA寻找使用Struts2框架搭建的网站
2.一般使用struts2框架后缀带do或action,可以尝试进行利用

4.Springboot
1.通过web应用程序网页标签的小绿叶图标
2.通过springboot框架默认报错页面

5.Solr识别
1.使用FOFA寻找使用Solr框架搭建的网站
2.一般开放8983端口,访问页面也可以探针到
6.Solr靶场搭建和漏洞复现
1.搭建靶场
2.获取到相应靶场网址,随便输入用户名和密码,但是要注意点击Remember me
3.在检查中网络获取数据包,找到登陆包doLogin,查看请求头中有set-Cookie:remeberMe=deleteMe。证明:该靶场或网址是Shiro搭建
4.打开ONE-FOX集成工具箱_V3.0魔改版_by狐狸中的shiro反序列化漏洞综合利用工具
1.输入目标靶场网址
2.检测当前密钥
3.爆破密钥
4.检测当前利用链,爆破利用链及回显
5.命令执行:id 发现返回用户组群,证明权限获得成功
6.使用命令执行:ls 获取到文件目录
7.继续使用内存木马置入进网址
8.打开哥斯拉→目标→添加→输入置入木马的路径, 密码,选择java的有效载荷→测试连接→成功,点击添加
9.双击进入→文件管理:获取到服务器的目录

相关推荐
画个大饼13 分钟前
Go语言实战:快速搭建完整的用户认证系统
开发语言·后端·golang
不爱学英文的码字机器2 小时前
零信任架构:重塑网络安全的IT新范式
安全·web安全·架构
迷路的小绅士4 小时前
防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战
网络安全·云原生·防火墙技术·包过滤防火墙·状态检测防火墙
李白的粉5 小时前
基于springboot的在线教育系统
java·spring boot·毕业设计·课程设计·在线教育系统·源代码
小马爱打代码6 小时前
SpringBoot原生实现分布式MapReduce计算
spring boot·分布式·mapreduce
iuyou️6 小时前
Spring Boot知识点详解
java·spring boot·后端
一弓虽6 小时前
SpringBoot 学习
java·spring boot·后端·学习
姑苏洛言6 小时前
扫码小程序实现仓库进销存管理中遇到的问题 setStorageSync 存储大小限制错误解决方案
前端·后端
光而不耀@lgy6 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
方圆想当图灵7 小时前
由 Mybatis 源码畅谈软件设计(七):SQL “染色” 拦截器实战
后端·mybatis·代码规范