代码审计-Java项目-未授权访问审计

渗透技巧 11个月前 admin
91 0 0

代码审计必备知识点:

1代码审计开始前准备:

环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。

2、代码审计前信息收集:

审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。

3、代码审计挖掘漏洞根本:

可控变量及特定函数,不存在过滤或过滤不严谨可以绕过导致的安全漏洞。

4、代码审计展开计划:

审计项目漏洞原理->审计思路->完整源码->应用框架->验证并利用漏洞。

代码审计两种方法

功能点或关键字分析可能存在漏洞

抓包或搜索关键字找到代码出处及对应文件

追踪过滤或接收的数据函数,寻找触发此函数或代码的地方进行触发测试。

-常规或部分MVC模型源码可以采用关键字的搜索挖掘思路。

-框架 MVC 墨香源码一般会采用功能点分析抓包追踪挖掘思路。

1.搜索关键字找敏感函数

代码审计-Java项目-未授权访问审计

2.根据目标功能点判断可能存在的漏洞

代码审计-Java项目-未授权访问审计

Javaweb身份验证访问控制

审计此类漏洞的第一步就是要搞清楚代码的验证方式

开发做  访问控制身份验证  有几种技术方案实现:

1、自写传统验证代码——登录性判断文件查看代码

2、Shiro框架引用——看配置看引用看外部库

3、Filter过滤器——看配置看过滤器目录分析代码

4、JWT技术——看引用看外部库搜关键函数代码

案例:CNVD-Tumo-未授权访问-Shiro框架引用

1.根据cnvd公开的漏洞信息得知Tumo Blog博客存在未授权访问漏洞。可以利用漏洞删除别人评论。

项目下载地址:https://github.com/TyCoding/tumo

代码审计-Java项目-未授权访问审计

2.下载好源码,将源码导入到IntelliJ IDEA ,首先查看pom.xml文件,发现里面引用了Shiro安全框架。而shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证和用户授权的

代码审计-Java项目-未授权访问审计

3.知道项目使用了Shiro框架,就可以查看shiro配置文件信息。

其中:

tumo.shiro.anon_url  >代表不需要鉴权的配置

** >表示该接口下的所有接口

也就是说tumo.shiro.anon_url中配置的目录都可以被普通用户任意操作。

代码审计-Java项目-未授权访问审计

4.查找tumo.shiro.anon_url配置的目录下有没有删除评论的操作。

最终在/comment 目录下找到了删除评论的操作。利用id接收要删除的评论,使用delete请求方式触发。

代码审计-Java项目-未授权访问审计

5.来到网站任意文章下写一条评论

代码审计-Java项目-未授权访问审计

6.审查元素,获取评论的id值为:8

代码审计-Java项目-未授权访问审计

7.访问删除评论的路由地址:/comment/8    使用的是get请求方式,所以并没有触发删除,返回的是评论信息

代码审计-Java项目-未授权访问审计

8.再次访问,使用burp抓包,修改为delete请求方式

代码审计-Java项目-未授权访问审计

9..放包,返回——成功

代码审计-Java项目-未授权访问审计

10.回到刚刚的文章评论处,发现评论已经不见了。删除评论成功。这个漏洞是因为管理员错误的配置Shiro配置文件导致的。

代码审计-Java项目-未授权访问审计

原文始发于微信公众号(小黑子安全):代码审计-Java项目-未授权访问审计

版权声明:admin 发表于 2023年12月15日 上午7:46。
转载请注明:代码审计-Java项目-未授权访问审计 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...