V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pliex
V2EX  ›  程序员

找到一个可以自动测漏洞的 Java idea 插件 研究实现没研究透 但是挺好用

  •  
  •   pliex · 2021-09-08 16:43:21 +08:00 · 1756 次点击
    这是一个创建于 1176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司老板不知道抽什么风,非要做安全检测,我一个研发哪里懂这个,万般无奈就去找开源工具。结果发现了一个 java idea 插件可以做风险监测,这边简单记录和分享下。

    首先放出开源地址: https://github.com/HXSecurity/DongTai 按照文档跑了一下确实能把故意写进去的风险检测出来,具体实际效果还有待考究。大家也可以试试。

    记录一下我的使用过程

    对了 官方的文档

    https://hxsecurity.github.io/DongTai-Doc/#/README

    1. 下载插件

    下载地址: https://github.com/HXSecurity/DongTai-Plugin-IDEA/releases/download/v1.0/DongTai-Plugin-IDEA.zip

    1. 安装插件

    点击 IDEA 设置中的 Plugins,选择 “Install Plugin from Disk...”

    选择刚刚下载的 IDEA 插件 zip 包

    1. 然后去他们官网注册下

    申请洞态用户: https://dongtai.io (得等等,他们好像是人工审核的)

    1. 配置插件

    在洞态-部署界面: https://iast.io/deploy 获取用户 Token,复制。

    在插件内配置 Token 。

    1. 插件测试

    在 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 把一些预设好的风险函数进行了托管 然后走了一些分析,这里没有探究。有兴趣的老哥可以看看他们的开源实现

    4 条回复    2021-09-08 17:56:33 +08:00
    pliex
        1
    pliex  
    OP
       2021-09-08 16:46:18 +08:00
    有大神带着分析下实现就更好了
    Puteulanus
        2
    Puteulanus  
       2021-09-08 17:20:01 +08:00   ❤️ 1
    发推广吧,都需要去注册账号了,还能有什么实现原理
    gam2046
        3
    gam2046  
       2021-09-08 17:25:42 +08:00
    不能确定安全性的 IDEA 插件审慎使用,插件是有权限直接访问你本地资源的,包括但不限于项目文件、各种数据库配置信息,磁盘文件,通过网络挂载的远程资源等等
    pliex
        4
    pliex  
    OP
       2021-09-08 17:56:33 +08:00
    @Puteulanus 不是 他们完全开源了 前端后端啥的 只是方便没在本地搭建 所以就直接用他们搭建好的在线服务了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3461 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.