• 五十五:代码审计-JAVA项目注入上传搜索或插件挖掘


    必备知识点

    必备知识点:
    简要理解JAVA的EB项目组成
    代码方面,框架方面,中间件容器方面等
    简要理解JAVAwEB执行流程
    参考下图及
    https://www.cnblogs.com/1987721594zy/p/9186584.html
    https://blog.csdn.net/weily11/article/details/80643472

    com:
    公司项目,copyright由项目发起的公司所有
    包名为com.公司名.项目名.模块名.......
    持久层: dao、persist、mapper
    实体类: entity、model、bean、javabean、pojo
    业务逻辑: service、biz
    控制器:controller、servlet、action、web
    过滤器:filter
    异常:exception
    监听器:listener
    在不同的框架下一般包的命名规则不同,但大概如上,不同功能的Java文件放在不同的包中,根据Java文件的功能统一安放及命名。

    审计思路:

    根据业务功能审计优点:
    明确程序的架构以及业务逻辑,明确数据流向,
    可以从获取参数-->表现层-->业务层-->持久层,通读源码;缺点:耗费时间;
    根据敏感函数亩计优点:
    可以快速高效的挖出想要的漏洞,判断敏感函数上下文,追踪参数源头;
    缺点:覆盖不了逻辑漏洞,不了解程序的基本松架;l

    审计开始前:

    1、确定框架;
    通过以下三种方式确定框架:
    web . xml
    看导入的jar包或pom. xml
    看配置文件
    struts2配置文件:struts. xml
    spring配置文件:applicationcontext. xml
    spring MvC 配置文件:spring-mvc.xml
    Hibernate配置文件:Hibernate.cfg- xml
    Mybaits配置文件:mybatis-config . xml

    2、查看是否存在拦戳器
    通过查看web . xml文件,确定是否配置相关拦截器。

    简易Demo段SQL注入及预编译

    第一个SQL执行语句为预编译技术,防注入。
    JAVA预编译多,因此注入难进行。
    

    IDEA审计插件FindBugs安装使用
    Fortify_SCA代码自动审计神器使用
    shungg.cn
    Ofcms后台SQL注入-全局搜索关键字
    搜索敏感函数
    Ofcms后台任意文件上传-功能点测试
    功能点->文件分析

  • 相关阅读:
    Selection Sort
    Alwayson环境下为备库创建查询用户
    Sencha Touch 数据层篇 Proxy(下)
    mapbox 栅格图层处理
    mapbox 删除 新增图层
    ant design vue 处理返回信息
    关于输入框中输入 特殊字符 get请求报错的办法
    mapbox url中xyz处理
    python中bisect模块使用
    ClickHouse字符串匹配探究
  • 原文地址:https://www.cnblogs.com/SnowSec/p/14489478.html
Copyright © 2020-2023  润新知