前言
自己本身是一个学习两年网络安全的小白师傅,想想两年来都没有系统的学习过,所以就想着看看小迪的课程,顺便将自己的理解与小迪的课程做一个结合,以文字+图片的形式呈现给大家。看了小迪的课程,真觉得小迪的课程是yyds!-- 我看的是2024年的视频
学习内容
【基础入门】第17天:语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等
学习地址:【小迪安全】全栈网络安全 | 渗透测试 | 高级红蓝对抗 V2024最新版 (完)_哔哩哔哩_bilibili
本章节的学习内容有:
1.如何手动识别python、php、java常见框架
2.框架识别插件如何使用
3.如何利用框架进行渗透测试
Web架构:
1、最简单最入门的开发模型(功能代码全部手写)
2、结合开发框架的开发模型(以框架为核心实现功能)
3、结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)
就这个基本上就是我们常见的三种开发形式了。
简单来说,第一种是纯人工,纯原创,纯自己写。好处就是:代码原创性,坏处就是:代码没有经过第三方机构的检测,没有经过安全检测,漏洞多。后两种其实就是经过了第三方机构的检测,经过了一轮渗透测试的结果,代码会更加的安全,所以使用的人也会更多。能理解就理解,理解不了就不用理解~
正式开始
知识点一:Python框架&django&Flask
我们可以利用FOFA的语法找到大量的一个案例~
FOFA:app="django" && country="CN"
然后通过插件识别:是不是就识别出了Django这个框架
Flask框架也一样:
app="Flask" && country="CN"
如何通过Set-Cookie:expires=Flask,这其实是数据包里的一个字段
你看这些数据包里的响应字段,是不是很有特征,都有flask。这也就是绝大部分工具识别的原理了
这个字段可以隐藏吗?所以说明什么,没有这些特征的东西就一定不是该框架吗?不一定。
还能通过什么来查看呢?比如说图标:
发现没有他们的图标都是一样的
FOFA语法:搜索某个图标icon_hash="1618312653"
可以看到他们响应包中有flask,说明使用flask框架。所以使用图标也是一种识别框架、组件的办法。
知识点二:PHP框架&ThinkPHP&Laravel
FOFA语法:app="ThinkPHP"
这就是专属的欢迎页面页面,以及插件识别ThinkPHP
Laravel框架
app="Laravel-Framework"
简单吧,容易吧~ 再看看java的案例,觉得无聊是正常的,但这会让你收获到,面对一个框架的时候,去查看哪些信息,他们的特征会出现在什么地方~
知识点三:java框架&Shiro&Springboot&Fastjson/Jackson
常见的JAVA框架:
https://blog.csdn.net/agonie201218/article/details/125300729
通过这里可以了解JAVA主流的一些框架和中间件
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内容改为rememberMe=1,若相应包有rememberMe=deleteMe,则基本可以确定网站apacheshiro搭建的。
Shiro框架是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
如何去寻找呢?
FOFA的语法:app="APACHE-Shiro"
看看插件是否能识别:
没法识别,神奇吧~ 因为插件、工具不能万能的~
Struts2框架
特征:一般使用struts2框架后缀带do或action,可以尝试进行利用
FOFA语法:app="Struts2" && country="CN"
我们随便点击一个看看
遗憾的是,插件又是没有识别出来。
所以工具、插件并不是百分百的,不是绝对的东西,我们需要掌握的不仅仅是工具,还有一些框架本身的特征,认识这些特征,从而更好的去进行渗透测试工具,这就是我为什么特意的放出那么多插件识别不出来的截图的原因~
Spring boot
特征:1、通过web应用程序网页标签的小绿叶图标2、通过springboot框架默认报错页面
FOFA语法:app="Springboot"
看了这么多FOFA语法。大家应该也知道了,app="框架名称",就可以找到你想要的框架~
专属报错页面~
令人失望的插件识别~
那么这些框架你识别出来以后到底怎么用呢?
看到没有,工具箱,各种各样的工具箱。
这里推荐工具箱下载地址:https://www.one-fox.cn/
知识点五:实战演示
靶场搭建:https://github.com/vulhub/vulhub,需要下载docker哦~
搭建完成后,就是这个样子了,然后根据上面的命令,选择CVE -2016-4437这个历史漏洞环境
开启:
docker compose up -d
关闭(删除):
docker compose down -v
这样就成功开启在8080端口了,我们进行访问
打开我们的抓包软件,输入账号登录试探一下
那么这个特征是谁的特征?Shiro的嘛,然后打开我们的脚本小子天堂
好耶有两个工具,我们随便打开一个
工具也成功识别,我们哪里知道什么密钥,爆破!!!!!!!!!!
秒了,然后就检测利用链呗
欧克,那么我们直接命令执行~
简单吧,执行权限拿到了,那么我们直接上内存马
随便你,什么都有,我喜欢哥斯拉
ohhhh 牛逼!!!!
然后打开我们的工具箱
更改一下
就改这三个地方就可以了,测试连接
ohhh快试试看
简简单单拿下!!!!!
懂了吧~
总结
本章的内容呢就是很简单,让大家知道如何的去识别一些框架,框架的特征会出现在什么地方,我们需要关注什么地方,掌握这些,就可以掌握框架识别这一项技能,最后祝大家天天开心、快快乐乐~
免责声明
-
本文所包含的内容仅用于教育和研究目的,旨在提高信息安全意识,帮助用户了解网络安全防护的重要性。
-
文章中提及的任何渗透测试技巧、工具或方法,仅供合法授权的安全研究和测试使用。在进行任何渗透测试或安全测试之前,请确保您已获得相关系统或网络所有者的明确授权。
-
本文作者不对任何因使用文章内容而导致的非法活动、损害或其他不良后果承担任何责任。读者在实施任何技术之前应确保遵守所有适用的法律法规。
-
本文内容不支持或鼓励任何形式的恶意攻击、未授权的入侵或网络犯罪。
-
本文内容仅限于教育用途,不得以任何方式用于未经授权的网络安全攻击或破坏行为。
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)