最近公司老板不知道抽什么风,非要做安全检测,我一个研发哪里懂这个,万般无奈就去找开源工具。结果发现了一个 java idea 插件可以做风险监测,这边简单记录和分享下。
首先放出开源地址: https://github.com/HXSecurity/DongTai 按照文档跑了一下确实能把故意写进去的风险检测出来,具体实际效果还有待考究。大家也可以试试。
记录一下我的使用过程
对了 官方的文档
https://hxsecurity.github.io/DongTai-Doc/#/README
下载地址: https://github.com/HXSecurity/DongTai-Plugin-IDEA/releases/download/v1.0/DongTai-Plugin-IDEA.zip
点击 IDEA 设置中的 Plugins,选择 “Install Plugin from Disk...”
选择刚刚下载的 IDEA 插件 zip 包
申请洞态用户: https://dongtai.io (得等等,他们好像是人工审核的)
在洞态-部署界面: https://iast.io/deploy 获取用户 Token,复制。
在插件内配置 Token 。
在 api 里写一个风险方法
@Controller
@RequestMapping("/demo")
public class DemoController {
@GetMapping("cmdi")
public String qaaq(String var1,String var2) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(var1).append(var2);
Runtime.getRuntime().exec(stringBuilder.toString());
return stringBuilder.toString();
}
}
这里面故意写了个 exec 这个特定情况下会被认定为命令注入
v2ex 不能贴图 所以没办法贴效果了
去看了下 java 的实现原理
应该使用的 hook 把一些预设好的风险函数进行了托管 然后走了一些分析,这里没有探究。有兴趣的老哥可以看看他们的开源实现
1
pliex OP 有大神带着分析下实现就更好了
|
2
Puteulanus 2021-09-08 17:20:01 +08:00 1
发推广吧,都需要去注册账号了,还能有什么实现原理
|
3
gam2046 2021-09-08 17:25:42 +08:00
不能确定安全性的 IDEA 插件审慎使用,插件是有权限直接访问你本地资源的,包括但不限于项目文件、各种数据库配置信息,磁盘文件,通过网络挂载的远程资源等等
|
4
pliex OP @Puteulanus 不是 他们完全开源了 前端后端啥的 只是方便没在本地搭建 所以就直接用他们搭建好的在线服务了
|