五十五:代码审计-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后台任意文件上传-功能点测试
功能点->文件分析

原文地址:https://www.cnblogs.com/SnowSec/p/14489478.html