β

某开源博客系统最新版源码审计

Harries Blog™ 32 阅读

*本文原创作者: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 :// git ee.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.open Connection ()等函数。

代码位置:

/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()等函数反序列话时候有没有做限制过滤,或者可以直接看那些实现seriali zab le接口的类里有没有重写readObject(),readUnshared()等方法,是否存在逻辑问题,这里审计的时候未发现反序列化相关问题。

0×04 总结

本次审计发现的问题并不多,信息泄露这些就不写了,主要是演示如何快速通过搜索危险函数,关键字等来进行审计的方法吧。

*本文原创作者:davichi8282,本文属于FreeBuf原创奖励计划,未经许可禁止转载

原文

http://4hou.win/ wordpress /?p=25167

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。 PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处: Harries Blog™ » 某开源博客系统最新版源码审计

作者:Harries Blog™
追心中的海,逐世界的梦
原文地址:某开源博客系统最新版源码审计, 感谢原作者分享。