内容简介:*本文原创作者:davichi8282,本文属于FreeBuf原创奖励计划,未经许可禁止转载近期审计一个JAVA开源博客系统mblog2.5最新版,整体系统还是很安全的,漏洞较少,传统的问题像XSS系统使用全局过滤的方式进行实体化处理,上传问题使用白名单校验,越权方面限制的也比较死,本次审计主要在于发现安全问题,具体实现页面没有去搞,感兴趣的可以自己去具体实现。下载此源码解压之后发现40多M,比较大的一个源码了,如果遇到这样比较大的源码,可以使用一些辅助工具去手工审计比如Notepad++,可以快速定位位
*本文原创作者:davichi8282,本文属于FreeBuf原创奖励计划,未经许可禁止转载
0×00 概述
近期审计一个 JAVA 开源博客系统mblog2.5最新版,整体系统还是很安全的,漏洞较少,传统的问题像XSS系统使用全局过滤的方式进行实体化处理,上传问题使用白名单校验,越权方面限制的也比较死,本次审计主要在于发现安全问题,具体实现页面没有去搞,感兴趣的可以自己去具体实现。
0×01 审计思路
下载此源码解压之后发现40多M,比较大的一个源码了,如果遇到这样比较大的源码,可以使用一些辅助 工具 去手工审计比如Notepad++,可以快速定位位置和查询一些关键字去审计,比较快,但是这样去审计可能一些逻辑安全问题发现不了,但是有利就有弊,这只是代码审计常用方法之一了,具体是哪些关键字比如可以查看所有用户输入的地方,会不会结合一些危险函数去执行。比如XSS,可以全局搜索”request.”关键字,结果如下:
我们以红框处举例,可以直接双击进入代码位置:
可以看到直接获取content参数做更新文章操作,这里看似有XSS风险,但是还不能确定,可能update的时候已经做了安全处理,这时候可以看此文件有没有import其他,回到顶部:
可以看到引入BaseController,这里可能含有一些全局基础处理相关的操作包括全局安全过滤等操作,跟踪。
可以看到BaseController.java文件含有全局过滤XSS机制,经跟踪发现是实体化操作,这么一来只要是import这个文件的地方基本不存在XSS问题了。
0×02 白盒审计
源码信息:mblog2.5
站点地址: https://gitee.com/szhirong/mblog
不安全的随机数生成(Fortify常扫出):
JAVA语言在生成URL或者一些需要加密密钥等情况下会需要使用随机数,随机数会分为统计学和密码学两种,统计学输出的数据易猜测,所以需要随机数生成的时候建议使用密码学PRNG,可以通过搜索random()函数判断;
代码位置:
\mblog\mblog-base\src\test\java\test\Keygen.java
此处引入 java.util.Random里的random()函数进行随机数生成输出,其结果易猜测,所以需要使用
java.security.SecureRandom提供的SecureRandom()函数代替生成随机数。
SSRF:
ssrf(服务器端请求伪造漏洞)即一般在服务器提供从远程服务器获取内容并返回给用户的时候容易发生,比如下载图片,远程获取图片信息等,审计的时候可以重点关注url请求相关的操作,比如常见的url.openStream(),url.openConnection()等函数。
代码位置:
\mblog\mblog-base\src\main\java\mblog\base\utils\ImageUtils.java
这里是根据URL远程下载的地方,但是未对传入的URL做任何过滤并且输出到os,所以存在SSRF问题,需要对传入的URL做白名单地址限制和禁止一些除了http,https以外的协议,比如ftp,gopher协议等。
0×03 其他
除了这些问题之外,其他的比如XXE,可以去看哪些解析xml接口,有没有禁止解析外部实体,反序列化漏洞可以重点看readObject()等函数反序列话时候有没有做限制过滤,或者可以直接看那些实现serializable接口的类里有没有重写readObject(),readUnshared()等方法,是否存在逻辑问题,这里审计的时候未发现反序列化相关问题。
0×04 总结
本次审计发现的问题并不多,信息泄露这些就不写了,主要是演示如何快速通过搜索危险函数,关键字等来进行审计的方法吧。
*本文原创作者:davichi8282,本文属于FreeBuf原创奖励计划,未经许可禁止转载
以上所述就是小编给大家介绍的《某开源博客系统最新版源码审计》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- python模拟登陆知乎(最新版)
- CocoaPods打包私有库实践 | 最新版
- 记录过某常见WAF最新版
- DuomiCMS3.0最新版漏洞挖掘
- Azkaban3.59.x 最新版
- 详解Glide最新版V4使用指南
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python for Everyone
Cay S. Horstmann、Rance D. Necaise / John Wiley & Sons / 2013-4-26 / GBP 181.99
Cay Horstmann's" Python for Everyone "provides readers with step-by-step guidance, a feature that is immensely helpful for building confidence and providing an outline for the task at hand. "Problem S......一起来看看 《Python for Everyone》 这本书的介绍吧!
Base64 编码/解码
Base64 编码/解码
html转js在线工具
html转js在线工具