【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

admin 2023年4月13日22:21:49评论58 views字数 1472阅读4分54秒阅读模式
【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)
点击上方“公众号” 可以订阅哦!

Hello,各位小伙伴大家好~

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

这里是一名白帽的成长史~

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

今天继续分享JAVA代码审计相关内容:

(1)JDBC下的SQL注入审计(已完结)

(2)Mybatis下的SQL注入审计(已完结)

(3)Hibernate下的SQL注入审计


上期讲完了Mybatis下的注入审计,今天开始分享Hibernate框架下的SQL注入审计。

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

本次依然是分为上下两期,本期先来看看Hibernate环境搭建吧~

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


Part.1

SSH框架概述


Hibernate概述

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。


它将POJO与数据库表建立映射关系,是一个全自动的orm框架。

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。


Hibernate一般是放在框架组合中使用的,数据库常见的框架组合包括SSM和SSH组合,即:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


因此,学习hibernate注入审计,很大程度上也是学习SSH框架的路由走向:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)
【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


Part.2

环境搭建


Oracle数据库搭建

首先来安装oracle数据库环境,参考:

http://www.winwin7.com/JC/Win7JC-18929.html

安装完成后,如果需要配置远程访问,参考:

https://blog.csdn.net/yanzi920403/article/details/123424283

开始搭建本次代码审计需要用到的cms,后台回复“hibernate”即可获取源代码。


查看该cms的SQL配置文件,发现需要在schema “FUJIANJU“中进行操作:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


Oracle数据库创建schema步骤参考如下:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


因此我们需要创建新用户FUJIANJU:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


接着创建表空间FUJIANJU:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


将表空间FUJIANJU分配给用户FUJIANJU,并授权:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


通过新建账户FUJIANJU进行登录:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

//我这里使用的数据库连接客户端为dbeaver


连接上数据库后导入数据库脚本,并执行:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

//如果不存在表,需要注释或略过所有DROP TABLE代码,否则会报错。


完成Oracle数据库创建:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


MyEclipse项目搭建

本次的项目为MyEclipse原生项目,该项目较老,为避免配置上出现不必要的麻烦,本次我们通过MyEclipse进行项目搭建。


导入我们本次审计用到的cms:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


选择导入现有项目到工作空间中:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


选择项目根目录后,点击完成:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


导入完成后,可在左侧看到项目代码:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


修改数据库配置applicationContext.xml并保存:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


配置运行需要的jdk版本:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


添加JRE,这里使用默认的JRE就行,不需要添加:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


在其他项目中如果需要添加JRE,则按下面的步骤配置,本次不需要:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)
【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


添加完JRE后,创建tomcat服务器来运行该代码:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


根据需要选择Tomcat8.5:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


选择本机Tomcat8.5安装目录:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


将导入的cms项目添加至Tomcat服务器中:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


右键启动tomcat:

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


访问cms首页:

http://localhost:8080/lcmsnewfujian/jsp/login/NewLogin5.jsp
【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

环境搭建完毕~


公众号后台回复“hibernate”即可获取源码,大家可以按上面的思路先把环境搭建起来~

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)


Part.3

结语

以上就是今天的全部内容了~

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

下期我们将讲解该cms下的代码审计~


欢迎关注我的公众号~

Peace!

“在看”我吗?

【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

原文始发于微信公众号(一名白帽的成长史):【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月13日22:21:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【JAVA代码审计】从零开始的Hibernate框架SQL注入审计(上)http://cn-sec.com/archives/1671035.html

发表评论

匿名网友 填写信息