第17天:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

devtools/2024/9/24 23:23:11/

第十七天

https://img-blog.csdnimg.cn/img_convert/d6a47e375971227b623d6f087fa0c050.png" alt="Untitled" />

https://img-blog.csdnimg.cn/img_convert/eb6d169cffc4e3d40de91a6116160988.png" alt="Untitled" />

本课意义

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(内网)

httpsgithubcomnewbe3threegotoscan_87">1进入https://github.com/newbe3three/gotoscan下载程序

https://img-blog.csdnimg.cn/img_convert/b5251bbc51b556f7a095f904b0696b09.png" alt="image-20240325123618490" />

2.下载完成后进入CMD执行程序,根据项目说明输入参数

https://img-blog.csdnimg.cn/img_convert/18cd837557bf8f2171a91f4b3eacf539.png" alt="image-20240325123752700" />

3.对目标进行探测,仅限内网

https://img-blog.csdnimg.cn/img_convert/326247e50c922b5f61e17bee6532da97.png" alt="image-20240325123839216" />


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

1.Django
1.使用FOFA寻找使用Django框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/bc50e452d15e3ba623f06f0b7d04e1a9.png" alt="image-20240325125240887" />

2.使用识别插件进行查看

https://img-blog.csdnimg.cn/img_convert/abe40c326c2dd5a3f7487bde85bb2a54.png" alt="image-20240325125302230" />

3.在Set-Cookie中包含csrftoken字段来判断是否使用了Django搭建的网站

https://img-blog.csdnimg.cn/img_convert/0dd0c668ab8271248e66a34ad5a26890.png" alt="image-20240325125332308" />


2.Flask
1.使用FOFA寻找使用Flask框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/d930408d0f00189de0fbb98013c3f35b.png" alt="image-20240325130056136" />

2.使用识别插件进行查看

https://img-blog.csdnimg.cn/img_convert/461ec8c164179a3c468b666a721c666c.png" alt="image-20240325130133828" />

3…在ETag中包含flask字段来判断是否使用了Flask搭建的网站,其他字段也有可能包含有flask字段,可以辅助判断

https://img-blog.csdnimg.cn/img_convert/31ebe0d3ff9b9d94ad48859b25a79b58.png" alt="image-20240325130210289" />


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

1.ThinkPHP
1.使用鹰图寻找使用ThinkPHP框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/4b5d66c731643bf5c40f2a409b42dca9.png" alt="image-20240325135206797" />

2.使用识别插件进行查看

https://img-blog.csdnimg.cn/img_convert/7256fa851e57a2da4123d11074edade0.png" alt="image-20240325135239192" />

3.查看返回包是否存在X-Powered-By: ThinkPHP字段进行判断

https://img-blog.csdnimg.cn/img_convert/45e28b247a71f570f74636e6e36d28a0.png" alt="image-20240325135534191" />


2.Laravel
1.使用FOFA寻找使用Laravel框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/4b50e930c3873e2991b2743132e020cb.png" alt="image-20240325140038548" />

2.使用识别插件进行查看

https://img-blog.csdnimg.cn/img_convert/d2321b75726e0a89ac7593eb8ed6e5d1.png" alt="image-20240325140054101" />

3.查看返回包是否存在Set-Cookie.XSRF以及Set-Cookie.laravel_session中特征的格式

https://img-blog.csdnimg.cn/img_convert/7cb2d0b1a9f0e007905fd29a7f4dd49d.png" alt="image-20240325140119186" />


3.Yii
1.使用FOFA寻找使用Yii框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/abed73897196b08a0e177e20c2ad36df.png" alt="image-20240325140611723" />

2.使用识别插件进行查看

https://img-blog.csdnimg.cn/img_convert/6e2a399baa1b7fb4319885dd1afab448.png" alt="image-20240325140638942" />

3.查看返回包是否存在Set-Cookie.YII_CSRF以及Set-Cookie:_csrf-frontend特征中的格式

https://img-blog.csdnimg.cn/img_convert/31f9a8ef3f7c890928f95f5a01ebfe04.png" alt="image-20240325140709355" />


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:

https://img-blog.csdnimg.cn/img_convert/7a41c7d305cd444ac2fcb3447bdf1155.png" alt="image.png" />

2.Jackson在解析01时会抛出异常:

https://img-blog.csdnimg.cn/img_convert/efe51766547389a75bd2bb62e43c7bd1.png" alt="image.png" />


2.Shiro
1.使用FOFA寻找使用Shiro框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/68e1e409dba801be23224a65b40e461e.png" alt="image-20240325155006175" />

2.查看页面是否有Shiro

https://img-blog.csdnimg.cn/img_convert/4e37c2fe86b41af376a6109ae4ab2327.png" alt="image-20240325160215757" />

3.使用F12抓取数据包的index.html包,查看返回包的cookie中是否存在rememberMe=deleteMe字段

3.Struts2
1.使用FOFA寻找使用Struts2框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/ec552f748113b6bf7738652e92e48211.png" alt="image-20240325160548764" />

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

https://img-blog.csdnimg.cn/img_convert/0c9d5ee908d12e775f1413d825f074e6.png" alt="image-20240325160946039" />


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

https://img-blog.csdnimg.cn/img_convert/45330562e5a708bc78702c239d8a8402.png" alt="image-20240325013200404" />

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

https://img-blog.csdnimg.cn/img_convert/955e3f501ec27c466a3bb4e538cdbe42.png" alt="image-20240325013634780" />


5.Solr识别
1.使用FOFA寻找使用Solr框架搭建的网站

https://img-blog.csdnimg.cn/img_convert/524ad5105b27ff7864bc498f8d42f5cf.png" alt="image-20240325161247601" />

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

https://img-blog.csdnimg.cn/img_convert/4a6b11d1b5cdb571f355423c2cd21713.png" alt="image-20240325014228218" />

6.Solr靶场搭建和漏洞复现
1.搭建靶场
2.获取到相应靶场网址,随便输入用户名和密码,但是要注意点击Remember me

https://img-blog.csdnimg.cn/img_convert/747f8efaf3c956f72debb17413580597.png" alt="Untitled" />

3.在检查中网络获取数据包,找到登陆包doLogin,查看请求头中有set-Cookie:remeberMe=deleteMe。证明:该靶场或网址是Shiro搭建

https://img-blog.csdnimg.cn/img_convert/234a62ef0813a2a5ffa706c73e71ddaa.png" alt="Untitled" />

4.打开ONE-FOX集成工具箱_V3.0魔改版_by狐狸中的shiro反序列化漏洞综合利用工具
1.输入目标靶场网址

https://img-blog.csdnimg.cn/img_convert/4793acad60b13e298145788bbb9ec8bf.png" alt="Untitled" />

2.检测当前密钥

https://img-blog.csdnimg.cn/img_convert/4481cd901a0b53ce2ec89a6124250286.png" alt="Untitled" />

3.爆破密钥

https://img-blog.csdnimg.cn/img_convert/ee5e2f57c72305e984e15ef73e383255.png" alt="Untitled" />

4.检测当前利用链,爆破利用链及回显

https://img-blog.csdnimg.cn/img_convert/e1e183b0642a46fd02aa6d882e9074db.png" alt="Untitled" />

5.命令执行:id 发现返回用户组群,证明权限获得成功

https://img-blog.csdnimg.cn/img_convert/7a2810836b892cb9f109793e637b8ab0.png" alt="Untitled" />

6.使用命令执行:ls 获取到文件目录

https://img-blog.csdnimg.cn/img_convert/7edd282e9c3b3ed2458eb399865d647c.png" alt="Untitled" />

https://img-blog.csdnimg.cn/img_convert/cf47be7d15dac4e287ed1da083e6dc24.png" alt="Untitled" />

7.继续使用内存木马置入进网址

https://img-blog.csdnimg.cn/img_convert/9feece4548c6500b63d6f4d607dad48e.png" alt="Untitled" />

8.打开哥斯拉→目标→添加→输入置入木马的路径, 密码,选择java的有效载荷→测试连接→成功,点击添加

https://img-blog.csdnimg.cn/img_convert/e078c03af6cd6b8524d72526f9bad3e2.png" alt="Untitled" />

9.双击进入→文件管理:获取到服务器的目录

https://img-blog.csdnimg.cn/img_convert/fa69fe6ae0ac41f75f34bad280cc0b2a.png" alt="Untitled" />



http://www.ppmy.cn/devtools/4399.html

相关文章

揭秘App广告变现,高效开发者必看攻略

在移动互联网高速发展的今天,应用市场竞争日益激烈。如何有效地进行app广告变现,是每个移动应用开发者都需要面对的挑战。以下是一些有效的广告变现策略。 选择合适的广告形式至关重要。插屏广告、横幅广告、视频广告等各有优劣,开发者需要根…

Git使用经验分享

Git是非常流行的代码管理工具,除了掌握Git的命令外,这里总结了一些使用经验,供大家参考。 1、提交频繁,每个提交保持较小的改动范围 例如,你完成了登录功能的开发,可以先提交一次。然后又完成了登录失败的错误处理,可以再提交一次。这样每个…

互联网技术知识点总览——操作系统知识点框架图

简介 本文对操作系统的知识点整体框架进行梳理和分享如下:

解析OceanBase v4.2函数索引进行查询优化

一、如何通过函数索引来进行查询优化 函数索引是一种优化查询的技术,其主要作用在于提升包含函数调用的查询语句的执行速度。当查询语句中包含函数调用时,数据库系统需要逐行执行函数计算,这无疑会增加查询的复杂性,导致查询速度…

基于深度学习的乳腺癌淋巴结转移预测模型(E-Transformer)

乳腺癌细胞淋巴结转移是界定乳腺癌早中期的重要标准,需要活检,患者体验较差。 传统的图像辅助诊断需要手动提取特征、组合图像特征,效率低下、效果不佳。新兴的基于深度学习的图像辅助诊断,利用卷积神经网络通过全连接层或机器学…

【TEE论文】IceClave: A Trusted Execution Environment for In-Storage Computing

摘要 使用现代固态硬盘(SSD)的存储中计算使开发人员能够将程序从主机转移到SSD上。这被证明是缓解I/O瓶颈的有效方法。为了促进存储中计算,已经提出了许多框架。然而,其中很少有框架将存储中的安全性作为首要任务。具体而言&…

快速掌握缓存技术:学习多个缓存供应商(ehcache,redis,memcached,jetcache,j2cache)

缓存技术 缓存模拟缓存Spring缓存技术第三方缓存技术Ehcache缓存供应Redis缓存memcached缓存(国内) jetcache缓存供应商jetcache的基本使用设置外部服务设置本地服务 jetcache方法缓存j2cache 缓存 什么是缓存 缓存是一种介于数据永久存储介质与数据应用…

python项目练习——28.自动抢火车票脚本

确定抢购信息: 出发站:例如,"北京"到达站:例如,"上海"出发日期:例如,"2024-05-01"确定登录12306账号信息: 用户名密码环境准备: 安装Python编程环境安装相关第三方库:requests、selenium等网页自动化登录: 使用Selenium模拟浏览器操作…