精华内容
下载资源
问答
  • SpotBugs-IDE插件扫描

    2021-09-03 16:05:35
    在 Intellij IDE 的Plugins中搜索 SpotBugs 并 安装 设置 打开IDE Settings,选择 Tools——SpotBugs 根据实际情况进行配置 比如选择分析投入,分析等级,分析确定性,分析种类及其他 安装Find-Sec-Bug插件 可根据如...

    安装

    在 Intellij IDE 的Plugins中搜索 SpotBugs 并 安装

    设置

    打开IDE Settings,选择 Tools——SpotBugs

    根据实际情况进行配置

    比如选择分析投入,分析等级,分析确定性,分析种类及其他

    安装Find-Sec-Bug插件

    可根据如图所示内容进行Find-Sec-Bug的安装,将其内嵌至SpotBugs中,也可根据需要选择更多插件

    使用建议

    重点关注security类的问题

    展开全文
  • 1.SonarLint插件介绍 基于IDEA/Eclipse/VisualStudio等开发工具的即时代码扫描工具 同时SonarLint能够通过链接SonarQube同步关联项目扫描规则,实现同一项目在开发和测试两个阶段统一规范,使代码问题在在开发阶段...


    注:这里只做简单介绍,后续更新详细配置过程 
    1.SonarLint插件介绍 
    基于IDEA/Eclipse/VisualStudio等开发工具的即时代码扫描工具

    同时SonarLint能够通过链接SonarQube同步关联项目扫描规则,实现同一项目在开发和测试两个阶段统一规范,使代码问题在在开发阶段能够得到重视和处理,从而减少后续开发、集成、测试、发布各阶段出现严重质量问题的风险。 
     
    2.SonarLint-安装 
    在Eclipse Marktplace中搜索SonarLint点击安装即可 
    然后配置sonarqube服务器信息,可以关联项目,使用同一套代码规则,扫描代码 
     
    3.SonarLint-使用 
    在右键菜单中选择“analyze”会自动分析代码。选择问题提示展示问题描述和修改建议。 

     

    展开全文
  • FindBugs-IDE插件扫描

    千次阅读 2021-09-03 16:07:55
    Findbugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针。 在编写代码的过程中,我们可能不会一直...

    前言

    Findbugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针。
    在编写代码的过程中,我们可能不会一直记得检查空的引用,在我们测试时可能很难发现问题,但是应用上线之后,面对大量的用户,很多问题就会浮现出来。所以在编码时,使用findbugs检查一下很有必要。

    安装

    打开Intellij IDE,搜索Plugins,并在Plugins里搜索FindBugs
    安装时候重启IDE

    设置

    打开IDE的Settings窗口

    可根据需要条件分析投入和分析优先级

    使用

    根据需要选择扫描范围

    最后得到扫描结果

    使用建议

    在开发代码时就时不时扫一下,减少风格类问题

    展开全文
  • SourceInsight静态C/C++代码扫描插件。 集成静态扫描IDE中,帮助开发人员最快最低成本的发现潜在质量问题。 支持:规则配置,判空配置,误报屏蔽,快速跳转定位等功能。 功能清单 1.检测语法检查。 支持语法检查,...
  • 最近被动扫描器的话题如火如荼,好多公司都在做自己的被动扫描器。...两个插件分别为 Chrom 插件以及 Burp 插件,本文也从笔者开发这两个插件的经验来聊一聊被动扫描器中插件的开发。Chrome 插件Chr...

    最近被动扫描器的话题如火如荼,好多公司都在做自己的被动扫描器。而获取质量高的流量是被动扫描器起作用的关键。笔者主要开发了两个被动扫描器的插件,r-forwarder 以及 r-forwarder-burp,两个插件的代码都在 Github 上开源。两个插件分别为 Chrom 插件以及 Burp 插件,本文也从笔者开发这两个插件的经验来聊一聊被动扫描器中插件的开发。

    Chrome 插件

    Chrome 插件是向 Chrome 浏览器添加或修改功能的浏览器拓展程序。一般通过 JavaScript, HTML 以及 CSS 就可以编写 Chrome 插件了。市面上有很多非常优秀的 Chrome 插件拥有非常多的用户。Chrome 插件的编写也比较简单,基本上你熟悉一点前端知识,然后熟悉一下 Chrome 插件的 API,你就可以编写 Chrome 插件。Chrome 插件的安装,如果你没有发布在 Chrome 商店的话(因为网络原因,可能没办法直接从商店下载),可以通过开发者模式安装 Chrome 插件。或者你也可以注册 Chrome 插件的开发者账号(只需要 5 美元,就可以发布 20 个插件)。

    简单地介绍了一下 Chrome 插件的开发,咱们主要还是聊一下关于 Chrome 插件关于被动扫描器的方面的内容。对于 Chrome 插件,主要是通过插件的能力去获取经过浏览器的流量,并将流量转发给后端来进行处理。Chrome 插件关于网络流量的处理地 API 主要有两个:chrome.devtools.network 以及 chrome.webRequest。但是前者使用的时候需要打开 Chrome 开发者工具,这个有一点不太方面,所以选择了后者,这也是对于被动流量获取一种常见的方式。

    Chrome 插件中的 webrequest API 是以相应的事件驱动的,其中请求的生命周期图如下,主要有7个事件。只需要监听关键事件进行处理就可以满足被动扫描器获取流量的需求了。

    7845b566b79cdd89c67ca3653051ad8f.png

    其实这些事件不难理解,基本通过事件的名称就可以知道事件的含义了,主要就是请求发送前,发送请求头之前,发送请求头等等事件。对于不同的事件,可以获取的流量数据也是不尽相同的。首先,考虑一下,对于被动扫描器来说,哪些流量数据是比较关心的。被动扫描器主要是通过收集业务的正常流量来进行测试,提高测试的效率,并能取得比主动扫描器更好的效果。那么一般来说,被动扫描器最关心的就是请求的 URL 以及请求头了,如果是 POST 请求,还需要请求体。对于扫描器来说,响应头和响应体则没那么重要,其实可以通过响应状态过滤一下,一般只需要能够正常响应的请求头以及请求体即可。

    对于被动扫描器上述的需求,chrome.webrequest 中的 onBeforeRequest 以及 onSendHeaders 这两个事件可以满足需求。通过前者,可以获取请求体。通过后者则可以获取请求头。不过在使用 onSendHeaders 的时候,有好几点需要注意:

    兼容问题

    从 Chrome 79 开始,必须要在 optextraInfoSpec 中指定 extraHeaders 才可以获取 Origin 请求头。从 Chrome 72 开始,必须要在 optextraInfoSpec 中指定 extraHeaders 才可以获取 以下请求头:

    Accept-Language

    Accept-Encoding

    Referer

    Cookie

    毫无疑问,这些请求头都是有价值的。为了获取这些请求头,你必须在 opt_extraInfoSpec 中指定 extraHeaders 才可以获取相应的请求头。同时,注意做兼容性检查,因为之前的版本的是不需要指定的,如果你在之前版本的浏览器也指定了属性,就会产生报错。

    const headers = version >= 72 ? ["requestHeaders", "extraHeaders"] : ["requestHeaders"];chrome.webRequest.onSendHeaders.addListener(beforeSendHeaderHandler, requestFilters, headers)

    requestBody 的格式问题

    可以通过 onBeforeRequest 事件来获取 POST 请求中的请求体。但有一点注意,chrome.webrequest 中把请求体进行了解析,所以你获取的不是原生的请求体。请求体位于 requestBody 中的 fromData,而 formData 其实是有两种形式,一种是键值对形式的字典,这种一般对于请求体类型为 multipart/form-data 或者 application/x-www-form-urlencoded 而言,一般即为 a=xxx&b=xxx&c=xxx 这种形式;另外一种则是原生的字节,这个官方的 API 文档没有直接提到,你需要自己手工解析数据。

    const postbody = decodeURIComponent(String.fromCharCode.apply(null,                                      new Uint8Array(details.requestBody.raw[0].bytes)));

    使用 RequestFilter 去过滤请求

    如果你希望在事件中可以过滤特定的请求地址或者请求的资源类型,那么就可能需要使用到 RequestFilter 了。RequestFilter 里面有4个属性,比较重要的属性就是 urls 以及 types,通过这两个属性就可以过滤特定的请求 URL 以及资源类型。

    但是注意一点是,RequestFilter 是在注册事件的时候配置的参数的,不可以后续直接修改。不过有一种方法是先移除监听事件,再添加新的事件。

    if (!chrome.webRequest.onSendHeaders.hasListener(beforeSendHeaderHandler)) {  chrome.webRequest.onSendHeaders.addListener(    beforeSendHeaderHandler, requestFilters, headers  )}

    Burp 插件篇

    Burp 是渗透测试中不可缺少的工具之一,而 Burp 插件也让测试者如虎添翼,达到事半功倍的效果。同时,开发 Burp 插件也是为了弥补一些系统无法在 Chrome 中使用的场景来进一步地补充。

    Burp 插件开发的资料网上不是特别的丰富,之前也写过一篇文章“如何写一个 Burp 插件”。其实开发 Burp 插件比较简单,只要遵守基本的规范,然后学习一下 API 的使用,基本就可以完成 Burp 插件的开发了。反倒是如果希望在 Burp 插件中开发 GUI 有点困难,因为使用 J**A 来写 GUI 比较麻烦,毕竟不能像 C# 那样,妥妥拽拽就搞定了,不过这也不是本文的重点。

    其实在 Burp 中的 Extender 标签页中的 APIs 就可以看到提供的 API 接口。基本上每个函数都有参数说明的注释,不过其实学习 Burp 插件的最好的方法就是拿一个现成的插件代码看一下,就可以很好地理解这些 API 的作用了。

    2bce729eac757ec153ebe4a85151c931.png

    在这,以我开发的 Burp 插件 r-forwarder-burp 为例,使用 JA 开发。在开发 Burp 插件需要注意几点。必须定义一个 BurpExtender 类,并且必须实现 IBurpExtender,如果还需要其他 API 可以实现多个其它接口,JA 中的类是可以实现多个接口的。另外还需要重写父类中的 registerExtenderCallbacks 方法。同样,针对被动扫描器的需求,在 Burp 插件中我们最主要涉及的接口是 IHttpListener 接口。这个主要涉及到 HTTP

    public interface IHttpListener{    /**     * This method is invoked when an HTTP request is about to be issued, and     * when an HTTP response has been received.     *     * @param toolFlag A flag indicating the Burp tool that issued the request.     * Burp tool flags are defined in the     * IBurpExtenderCallbacks interface.     * @param messageIsRequest Flags whether the method is being invoked for a     * request or response.     * @param messageInfo Details of the request / response to be processed.     * Extensions can call the setter methods on this object to update the     * current message and so modify Burp's behavior.     */    void processHttpMessage(int toolFlag,            boolean messageIsRequest,            IHttpRequestResponse messageInfo);}

    在 processHttpMessage 方法中,主要涉及到以上3个参数。toolFlag 主要指的是和请求相关的 Burp 工具,比如 Proxy 以及 Repeater。可以在 IBurpExtenderCallbacks 接口中看到相应的定义。

    6a46ca21ca155d18aeb2a51ddebe6844.png

    messageIsRequest 则表示是请求还是响应,而我们只关心请求部分。通过解析 messageInfo 则可以获取请求头以及请求体数据。

    public Map getHeaders(IHttpRequestResponse messageInfo) {    Map headers = new HashMap<>();    IRequestInfo analyzeRequest = helpers.analyzeRequest(messageInfo);    List h = analyzeRequest.getHeaders();    for (String h1: h) {        if (h1.startsWith("GET") || h1.startsWith("POST")) {            continue;        } else {            String[] header = h1.split(":", 2);            headers.put(header[0], header[1].trim());        }    }    return headers;}private String getBody(IHttpRequestResponse messageInfo) {    IRequestInfo requestInfo = helpers.analyzeRequest(messageInfo);    int bodyOffset = requestInfo.getBodyOffset();    byte[] byteRequest = messageInfo.getRequest();    byte[] byteBody = Arrays.copyOfRange(byteRequest, bodyOffset, byteRequest.length);    return new String(byteBody);}

    上面是简单开发的内容方面的介绍,其它方面可以直接看源代码了解更多,尤其是 GUI 开发的部分。另外想说明的一点就是如何打 jar 包。通过 maven-assembly-plugin 插件可以很方便地打包,只需要配置如下,然后通过 mvn package 即可进行打包。

    <plugin>    <groupId>org.apache.maven.pluginsgroupId>    <artifactId>maven-assembly-pluginartifactId>    <executions>        <execution>            <phase>packagephase>            <goals>                <goal>singlegoal>            goals>        execution>    executions>    <configuration>        <descriptorRefs>            <descriptorRef>jar-with-dependenciesdescriptorRef>        descriptorRefs>    configuration>plugin>

    另外注意如果使用了外部依赖的时候,需要配置 jar-with-dependencies,这样在打包的时候就可以把依赖的 jar 包一并打进去。最后,成品的 jar 包安装之后就可以使用了。

    其实,我认为在 Burp 插件开发过程中最重要的部分就是调试了。通过调试可以快速提高开发效率。以 IDE IDEA 为例,只需要以下几步就可以进行插件开发地调试:

    1.配置 debug 配置项,点击 IDE 右上角就可以新增配置项。

    25ead8c13c819363d43460734693de21.gif在终端中通过上述的配置项启动 burp 插件。

    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar burpsuite_community_v2.1.0.jar

    2.在 Burp 中通过上面的方式安装打包好的插件。

    3.在 IDE 中相应的代码打上断点,并打开 debug 就可以进行调试了。

    总结

    以上就是在开发被动扫描器 Chrome 插件以及 Burp 插件遇到的一些坑,在这里和大家分享一下。其实被动扫描器开发,最重要的还是一些细节方面的考虑,可以将插件的功能做到更完美。

    *本文原创作者:madneal@平安银行应用安全团队,本文属FreeBuf原创奖励计划,未经许可禁止转载

    a08fd9204c4fc29abac37e3613d28464.gif

    精彩推荐

    bce8d5718f5a0de63cda786c73cc7bb7.png

    405b4b3d0b974487e6733c31b00f1c79.png

    e278734612d549486f88f2f19839a182.png

    b6daf69b12aaeeaf8df57956a0bc21d1.png

    9f625e16c7da3e4616e60b64d47de6b3.gif

    展开全文
  • 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!如何安装IDEA插件?目前,我们已将IDEA版的插件,发布至IDEA官方仓库中(最低支持版本14.1.7,JDK...
  • IDE代码扫描SonarLint插件 注:这里只做简单介绍,后续更新详细配置过程 1.SonarLint插件介绍 基于IDEA/Eclipse/VisualStudio等开发工具的即时代码扫描工具 同时SonarLint能够通过链接SonarQube同步关联项目扫描...
  • 来源:blog.csdn.net/zwwhnly/article/details/109583990 近日,陌陌安全开源了 Java 静态代码安全审计插件 MOMO Code Sec Inspector,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。 MOMO 安全...
  • 下载插件安装助手,版本选择社区版下载后给IDE一键安装插件即可使用。 根据对智能编程的了解,aiXcode底层用到的是深度学习的技术,可以分析已有数据,从分析中学习预测接下来要输入的代码,而且整体效果要比IDE自带...
  • 阿里巴巴代码扫描插件

    千次阅读 2019-07-08 09:11:51
    这个扫描插件是由阿里巴巴 P3C ...为了让开发者更加方便、快速将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse)。该插件扫描代码后,将不符合规约的代码按Blocker/Cr...
  • 硬核,这 3 款 IDE 插件让你的代码牢不可破

    千次阅读 多人点赞 2021-01-25 12:33:45
    这些努力当中,有 3 款优秀的 IDE 插件功不可没。是哪 3 个呢?请腰杆挺直,眼睛睁大,大声呼喊出它们的名字。 01、CheckStyle Checkstyle 是一个静态代码分析工具,用来检查 Java 源代码是否符合编码规则。 那编码...
  • 今天小渡就从无数插件中,精选出了10款超经典的JavaIDE插件,希望可以帮助大家在开发过程中提高开发效率,让我们的开发更加得心应手。 建议先收藏后阅读,让我们一起来看看吧~ 1、SonarLint 图片源自网络,...
  • 基于IntelliJ平台的IDE的Snyk漏洞扫描程序插件可帮助您在自己喜欢的IDE中查找和修复项目中的安全漏洞。 该插件无缝集成到您的开发环境中,并扫描项目中包含的开源依赖项以查找安全漏洞。 识别出的漏洞与可操作的...
  • 1、乱七八糟的程序放到指定目录,文件夹分好类,然后启动插件后会自动遍历exe文件 2、对于扫描出来的一些乱七八糟的exe(如 set.exe up.exe等等)可以右键加入黑名单,一劳永逸 3、分类纯粹依靠文件夹名的排序,手动...
  • 】下载插件安装助手,版本选择社区版下载后给IDE一键安装插件即可使用。 根据对智能编程的了解,aiXcode底层用到的是深度学习的技术,可以分析已有数据,从分析中学习预测接下来要输入的代码,而且整体效果要比IDE...
  • IDEA安装Sonarlint 代码扫描插件

    万次阅读 2018-12-16 21:18:28
    目录 Sonarlint 插件通用...1) 通过jetbrains官方仓库安装Sonarlint,安装完成后重启IDE,这样就完成安装了; 2) 打开配置项,选择Other Settings-Sonarlint General Settings;   3) 点击“+”添加Son...
  • 服务器安全扫描工具

    2021-08-11 01:14:49
    服务器安全扫描工具 内容精选换一换鲲鹏分析扫描工具是一款可以简化客户应用迁移到TaiShan 100/200服务器过程的工具。工具仅支持x86 Linux到Kunpeng Linux的扫描与分析,不支持Windows软件代码的扫描、分析与迁移。...
  • 还不是因为你缺少这10个插件啊 善用Intellij插件可以提高我们的开发效率。 以下推荐几个我用过的感觉还不错的插件 1、ignore 经常使用git的同学对于ignore一定不会陌生,我们可以在该文件中设置一些忽略提交的...
  • 简报内容 (Brief Post Content) Spring Boot Initilizr With IDEs/IDE Plugins 具有IDE / IDE插件的Spring Boot Initilizr Execute Spring Boot Application With IDEs/IDE Plugins 使用IDE / IDE插件执行Spring ...
  • intellij ide 好用的插件

    2019-04-15 17:29:51
    还不是因为你缺少这10个插件啊! 善用Intellij插件可以提高我们的开发效率。 以下推荐几个我用过的感觉还不错的插件: 1、ignore 经常使用git的同学对于ignore一定不会陌生,我们可以在该文件中设置一些忽略提交的...
  • 文章目录IDE安装阿里编码规约检查插件eclipse中的设置idea中的设置在idea的Marketplace安装本地安装 IDE安装阿里编码规约检查插件 环境说明: eclipse版本:Photon Release (4.8.0) idea版本:2018.03.06 参考...
  • 过年生病,闲的无聊,玩玩阿里巴巴Java开发规范插件。开源插件GitHub地址:https://github.com/alibaba/p3c 插件支持IDEA以及Eclipse安装推荐JDK:JDK1.8+...
  • 继阿里公布Java开发手册(终极版)后,今天中午阿里技术公众号推文中又公布几款开源项目,其中一款插件(阿里巴巴Java开发规范插件)着实让我感到小激动;插件支持IDEA以及Eclipse安装
  • Veracode提供自动化的静态和动态应用程序安全测试软件和补救服务。我们扫描二进制代码和产生缺陷优化报告。然后,我们与您的开发人员一起,按照您的风险管理政策,利用Veracode UI用户界面(或您现有的集成开发环境...
  • PHP漏洞扫描工具.zip

    2021-01-06 14:39:38
    PHP漏洞扫描工具.zip
  • 《阿里巴巴Java开发手册》终极版IDE插件  就在10月14日上午9:00 阿里巴巴于在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件,该插件在扫描代码后,将不符合《手册》的代码按...
  • eclipse-pmd插件将著名的源代码分析器PMD集成到Eclipse IDE中。 每次保存工作时,eclipse-pmd都会扫描源代码并查找潜在的问题,例如可能的错误以及次优,重复,无效或过于复杂的代码。 eclipse-pmd在可能的情况下...
  • [IDE]常见的Maven插件

    2019-05-24 16:04:55
    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每...
  • 这边给大家介绍一款可在本地使用的代码安全扫描插件,方便在开发阶段自动化安全检查,降低漏洞修复时间和减少漏洞出现的概率。插件简介插件介绍:Find-Sec-Bugs是一款本地 bug 扫描插件 “FindBugs-IDEA” 的 Java ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,271
精华内容 4,508
关键字:

安全扫描ide插件