DAY17信息打点-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等

演示案例

指纹识别—本地工具—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开发

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博客

52类110个主流Java组件和框架介绍_基于java的组件有哪些-CSDN博客

FastJson/Jackson

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

—FastJson组件会将01解析为1           F:   id:01  正常

—Jackson组件在解析01时会抛出异常        J:  id:01  报错

参考文章:

奇安信攻防社区-浅谈黑盒识别Fastjson/Jackson组件 (butian.net)

奇安信攻防社区-浅谈黑盒识别Fastjson/Jackson组件 (butian.net)

Shiro(验证用户身份的组件)

请求包的cookie中存在rememberMe字段

返回包中存在set-cookie:rememberMe=deleteMe

请求包中存在rememberMe=X时,响应包中存在rememberMe=deleteMe

有时服务器不会主动返回rememberMe=deleteMe,直接发包即可,将cookie内容改为rememberMe=1,若响应包中有rememberMe=deleteMe,基本可以确定网站是apache shiro搭建的

Struts2

使用Struts2框架后后缀一般带do或action

Springboot

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

2.通过Springboot框架默认的报错页面识别

Solr

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

好的,我会分别解释Struts2漏洞、Redis漏洞、Shiro漏洞、Fastjson漏洞和Log4j漏洞的原理。 1. Struts2漏洞:Struts2是一个广泛使用的Java Web框架,其漏洞主要是由于一些不安全的代码实现导致的。其中最著名的漏洞是Struts2远程代码执行漏洞,攻击者可以利用此漏洞在目标服务器上执行任意代码,进而控制服务器。该漏洞的原因是由于Struts2在处理客户端输入时没有正确过滤恶意代码,导致攻击者可以通过构造恶意请求来执行任意代码。 2. Redis漏洞:Redis是一个开源的内存数据库,其漏洞主要是由于Redis的默认配置不够安全导致的。其中最常见的漏洞是未授权访问漏洞和远程代码执行漏洞。未授权访问漏洞是由于Redis默认情况下没有开启认证,攻击者可以直接连接到Redis服务器并进行恶意操作。远程代码执行漏洞是由于Redis支持执行Lua脚本,攻击者可以通过构造恶意脚本来在Redis服务器上执行任意代码。 3. Shiro漏洞:Shiro是一个Java安全框架,用于处理身份验证、授权、加密等安全相关的问题。其漏洞主要是由于Shiro的默认配置不够安全导致的。其中最常见的漏洞是未授权访问漏洞和身份伪造漏洞。未授权访问漏洞是由于Shiro默认情况下没有开启认证,攻击者可以直接访问受保护的资源。身份伪造漏洞是由于攻击者可以通过伪造身份信息来绕过身份验证机制。 4. Fastjson漏洞:Fastjson是一个Java的JSON解析库,其漏洞主要是由于Fastjson在处理JSON数据时没有正确过滤恶意代码导致的。其中最常见的漏洞是远程代码执行漏洞,攻击者可以通过构造恶意JSON数据来在目标服务器上执行任意代码。 5. Log4j漏洞:Log4j是一个Java日志框架,其漏洞主要是由于Log4j的默认配置不够安全导致的。其中最著名的漏洞是Log4Shell漏洞,攻击者可以通过构造恶意的日志信息来在目标服务器上执行任意代码。该漏洞的原因是由于Log4j在处理日志信息时会执行其中的代码,攻击者可以通过构造特定的日志信息来执行任意代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值