某开源博客系统最新版源码审计记录TIPS
作者:网友投稿 时间:2018-10-20 16:26
近期审计一个JAVA开源博客系统mblog2.5最新版,整体系统还是很安全的,漏洞较少,传统的问题像XSS系统使用全局过滤的方式进行实体化处理,上传问题使用白名单校验,越权方面限制的也比较死,本次审计主要在于发现安全问题,具体实现页面没有去搞,感兴趣的可以自己去具体实现。
0×01 审计思路下载此源码解压之后发现40多M,比较大的一个源码了,如果遇到这样比较大的源码,可以使用一些辅助工具去手工审计比如Notepad++,可以快速定位位置和查询一些关键字去审计,比较快,但是这样去审计可能一些逻辑安全问题发现不了,但是有利就有弊,这只是代码审计常用方法之一了,具体是哪些关键字比如可以查看所有用户输入的地方,会不会结合一些危险函数去执行。比如XSS,可以全局搜索”request.”关键字,结果如下:






可以看到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.security.SecureRandom提供的SecureRandom()函数代替生成随机数。
SSRF:ssrf(服务器端请求伪造漏洞)即一般在服务器提供从远程服务器获取内容并返回给用户的时候容易发生,比如下载图片,远程获取图片信息等,审计的时候可以重点关注url请求相关的操作,比如常见的url.openStream(),url.openConnection()等函数。
代码位置:
\mblog\mblog-base\src\main\java\mblog\base\utils\ImageUtils.java



