有人遇到过项目中已经使用了hibernate,可是测试的时候依然会被sql注入,请问是怎么回事呢?

前端时间项目测试,测试人员使用appscan进行测试后没发现项目存在sql注入的问题且会把数据库的字段值改掉,但是我们项目中使用的hibernate,采用的是预编译的形式啊,为什么还会被sql注入呢,请大神们帮忙解答一下,感激不尽!!!

图片说明

0

2个回答

把sql设置为stop,就不注入了

0
weixin_43647598
一个帅气的程序员 请问大神,sql设置成stop是什么意思?怎么设置啊?
4 个月之前 回复
  1. 排查通过+号形成的sql语句或者hql语句
  2. 保证接受的参数仅仅替换hql中的 ? 号或者 :PARAM 这种的内容
  3. 对字符串内容做程序性的控制(保护和过滤),而非任由用户输入。
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在项目中使用Hibernate
一、导包:在项目中导入Hibernate开发包,如hibernate-tools.jar和hibernate3.jar包二、引入主配置文件-将hibernate.cfg.xml文件引入到项目中。-在hibernate.cfg.xml中配置好数据库连接参数,以及Hibernate框架参数。三、创建HibernateUtil-创建HibernateUtil工具...
面试中会出现的项目问题
一:项目介绍 1.请介绍一下你简历上最熟的项目。 回答要点:(1) 所要介绍的项目一定要是你最近完成的项目,在简历上的位置是第 一个 (2) 要明确的说出项目名称,且项目名称要与简历上所写的要一致 (3) 要明确的表述出项目的开发背景和功能模块组成。 (4) 重点介绍自己所负责的那块内容,如果有业务流程请介绍出业务流程。并且要介绍你所负责模块的具体功能。 (5) 项目上的一些细节一定要了解清楚,包...
测试本质:当说在项目测试的时候,究竟在测试什么
       最近参加了一个测试大会,会上各种自动化、性能、新型测试方法扑面而来。听后确实思路有所开阔,但又不禁想:为什么类似的分享/大会几乎很少有人专门讲测试思维、测试本质之类的思想。各个公司,各个业务,几乎都有相似的测试方法,而不同的是具体的测试实施、以及不同业务实现的测试;各个测试人员由于经验,眼界的不同,对测试的理解也不一。故而这里,想来说说脱离于具体测试任务之外的测试思想/测试本质的一些...
面试:你都在项目中用了哪些设计模式?
准备实习找工作,个人准备一下。 单例模式: 在项目中用过单例模式,比如在刚开始学习mybatis框架的时候,那时候还没有整合spring框架,所以SqlSessionFactory还是需要自己去创建的,当时知道SqlSessionFactory是重量级的对象,所以为了提高性能,我是把单例模式用到了创建SqlSessionFactory这个对象中的。 工厂模式: 在答题系统中创建目录时用到了...
面试问题某个项目中遇到过什么问题
这是面试官很喜欢问的一个问题,你是会刁难你的一个地方。如果你在项目中是核心解决了一些技术难题,那这个问题对你来说应该是很好回答的。你可以说出这个项目遇到的技术问题,以及你是怎么解决的。这种问题往往可以从并发,稳定性,容错,性能等方面入手。如果你没有参与这种问题的解决,平时也要多关注其他人是怎么解决的,不要局限在自己的空间里。还有就是你可以给出一个场景,自己设计一种可行的解决方案,予以阐述。总之你要
hibernate 拼sql防止注入的问题
//对参数拼接sql的时候,//replaceAll("'","''")即可.即把单引号替换成双单引号 public List findDeviceUsers(final String devMac,final String serviceId){ return getHibernateTemplate().execute(new HibernateCallback>() {
介绍所过的项目中遇到的特别难解决的问题
我们的项目在测试阶段呢,首先是功能测试,然后是性能测试,最后是仿真测试;在功能测试和性能测试的过程中,项目运行良好,没有出现问题;但到了仿真测试阶段,在系统最初开始运行的一段时间呢,系统没有出现问题,7-8天后,系统开始出现运行缓慢的现象,在过一段时间之后,发现系统崩溃了。我们根据这个现象判断系统是出现内存泄露问题,所以使用了java内存检测工具jprofiler对系统内存进行检测,定位源码,发现...
iOS 查找删除项目中私有API 。
私有API 也存放在 Frameworks 框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录。按苹果的说法,未公开的 API 还不够成熟,可能还会变动,等完全成型了之后就会变成公开的 API,但是目前不对其提供承诺,系统版本升级后可能会失效。有私有API的项目是不允许上架的。带有私有API项目上传项目会被拒,并返回项目中的私有API。一般情况我们使用搜索能搜到,但是在第三方框架中是搜...
java项目中使用Hibernate的小例子
准备工作 下载Hibernate,地址http://hibernate.org/orm,即可下载最新版本,由于笔者用的书是以4.3.5来写的,为了统一我也使用这个版本的吧,下载地址下载好后的压缩包解压后找到lib/required子目录下的所有jar包添加到应用的类加载路径中,我这里以eclipse为例,示例地址 做一个小例子 首先创建好hibernate.cfg.xml文件,ecl
Hibernate在SQL语句中遇到的三个问题
1.  hibernate 在使用HQL时需要注意,相应的语句中使用对象时需要使用对应大小写一致的对象书写,勿使用不一致的形式。查询使用的是面向对象的形式,因此直接使用类名,属性名,大小写敏感。属性getAbc(),也应该是abc字样。 举例:  标黄的地方为实体类,hql中切记不能使用如” from TUSERSROLES t” String hql = " from Tusersroles
ios 平时自己面试遇到的一些问题
记录一下平时看到过的面试题,后面遇到好的再添加一 属性的实质是什么?属性默认的关键字都有哪些?atomic和nonatomic区别?@dynamic关键字和@synthesize关键字是用来做什么的?   1 @property = ivar + getter + setter;@property 系统会自动生成setter和getter方法;   2 readwrite(读写),readonly...
hibernate 防sql注入模糊查询(like).
接下来我们只介绍一种模糊查询的防注入方法,hql传参。 sql查询的防注入模糊查询暂时不会,这里介绍一种hql查询的防注入方式,由于我的查询对象是有对应的实体类的,所以选择hql查询。String query="from UserEntity where mobile like :mobile and name like :name"; Query queryObject = this.syste
SpringMVC项目中偶尔用到servlet,如何在servlet中注入service笔记
仅此做个笔记,防止注入时而成功时而失败的问题。package com.zhy.spdb.sso;import java.io.IOException;import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax
项目中遇到的性能问题及解决方案
给carrefour作AMS。接手了一个印度人开发的项目,遇到太多坑。 环境:生产服务器两台。 1.首先遇到的是内存爆掉问题: 调查后得出的原因(其实没有找到exactly的原因):内存中存储太多的大对象(数据库没有分页,全是前台分页,有的sql一次性查出2万多条记录),且这些对象各种复制,内存回收不掉。 解决方法:(1.首先是内存调优,原先是8G内存,但是tomcat中配置的有效内存只有...
你在开发中遇到哪些技术问题?又是怎么解决的?
对使用的框架本以为很熟悉,但是总会发现以前没有关注的地方,如何优雅的控制事务,分布式事务的一致性问题,缓存的及时更新问题, 还有如何把每天重复的CRUD工作给省略一键生成 StackOverFlow 优雅的控制事务:请参考波总的事务控制 波总做的就已经很好了 分布式事务的一致性 缓存更新:这个真不太好描述 因为我再小心也会掉坑里...
*全面剖解电脑开机要按F1键才能继续的问题
想必大家开机都遇到过按F1,到底怎么回事呢?怎么解决呢?请大家来看!!!
setNeedsDisplay、setNeedsLayout 区别
转载自:http://blog.sina.com.cn/s/blog_a573f7990101cdpe.html,尊重原创! 一、UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UIGraphicsGetCurrentContext,就可以画...
关于hibernate用原生sql,为防sql注入,sql中in(?,?)设置参数问题
例:class Person{ private int id; private String name; //setter,getter方法略,映射文件略 }List ids 为传入的id集合String sql = "select * from person where id in (:ids)"; SQLQuery query = this.getSessionFact
hibernate如何在项目中控制事务
   我们一般在service层控制事务,但是我们获得与数据库的会话对象是在dao层。控制事务又必须得是同一个session,还记得我们在servlet中使用的是线程本地化。其实hibernate也同样是这个道理,不过在hibernate中,确保使用同一个session的问题,hibernate已经帮我们解决了. 我们开发人员只需要调用sf.getCurrentSession()方法即可获得与当前...
程序中的实体对象会注入到spring容器中吗?
 要理解为什么不用注入,首先就清楚注入的目的是什么? 如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象。然后我们调用其中的方法,众所周知“程序=算法+数据”。不失一般性,在面向对象开发中,类一般有两种,一种是功能类的,主要是完成一些业务操作。一种是数据类,主要是存储数据,比如POJO。我们数据提交上来后,自己组装PO(当然也有的框架可以帮我们组装好),然后调用功能类的方法去操作...
springmvc和struts2的区别比较
1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式...
hibernate框架如何在项目中运用
hibernate框架如何在项目中运用
Hibernate底层实现 (一) 三种查询底层实现与SQL注入
我所说的并非是三种查询方式的方法实现,这里我不用讲,我主要是想围绕着Hibernate  SQL注入 一、Criteria 对于SQL注入的分析,其实也是围绕着把Criteria语句转化为SQL,生成可执行SQL语句,把完整的会发生注入的数据流API罗列出来 Restrictions.sqlRestriction    SQL限定的查询 public static Criterion s...
项目管理系统的基本增删改查功能实现
初学自己写的一个小的管理软件的 增删改查的基本功能实现 希望有用
HQL查询语句拼接规范,避免SQL注入攻击
软件开发过程中不仅要考虑软件的功能实现,还要考虑软件的安全性,如果一个软件系统安全性做得不好,一旦被黑客攻击,后果不堪设想。对于B/S系统,SQL注入攻击就是一个常见的安全隐患,下面我们来看下如何在日常开发中避免SQL注入攻击。SQL注入简介 SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数
项目中遇到的bug及面试问题总结
1.Redis服务器 can not get resource from pool.  1000个线程并发还能跑,5000个线程的时候出现这种问题,查后台debug日志,发现redis 线程池不够。刚开始设置的是: # redis 配置文件 #redis redis.host=127.0.0.1 redis.port=6379 redis.timeout=300 等待时间 1...
项目中多线程灵活使用
最初的时候,很少使用多线程方面的知识,直到这一次在项目中解决一些业务问题,从而运用到多线程的知识,因此便准备记录一下。 项目中大体的业务: 视踪平台人员检索调用的是海康平台的接口,返回的数据有大图url和目标图url,但是奇葩的是海康返回的图片url是加密的https格式的网络路径,在浏览器中不可以加载,所以项目中页面上显示图片丢失。至此开始寻求解决方案 1、...
hibernat使用junit测试类测试hibernate的各种方法说明及注意要点
hibernat使用junit测试类测试hibernate的各种方法说明及注意要点
问题:Hibernate ,测试类中并没有在控制台打印出sql语句?
问题:Hibernate 配置了Hibernate.cfg.xml文件,映射文件也有了,但在测试类中运行了,控制台并没有打印出sql语句 详细如下: 1,Hibernate.cfg.xml也配置了自动提交 ,也把show_sql设置为ture 2,User.hbm.xml映射文件也配置如下: 问题描述:测试类中运行成功,但是控制台并没
如何预防sql注入
  1.数字类型判断 select * form user where id=-1 or 1=1; 需要校验 id 为整型 if(empty($_GET['id']||!is_number($_GET['id'])){ exit()}   2.用户名输入 限定单引号 双引号输入 可以用正则表达式来   3.特殊字符转义 addslashes转义 单引号 双引号 / add...
PHP项目开发中遇到过的问题
//php获取昨日起始时间戳和结束时间戳 $yesterday_start=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $yesterday_end=mktime(0,0,0,date('m'),date('d'),date('Y'))-1; $todayMoney = Db::table('fa_user_details') -&g...
墨者学院 SQL注入实战-MySQL
打开题目,发现url的id参数有一串base64,MQo=解码,得到1 ok,看来提交的参数都是需要经过base64转码的才行 根据题目,直接开始猜字段 id=1 order by 2正确,order by 3错误,判断有两个字段 使用联合注入 id=-1 union select 1,2 在1,2位置都有回显,id=-1 union select database(),2 判断数据库...
django项目中遇到的问题
问题1: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.描述:  在最外层的urls.py 添加项目的admin后...
经常遇到的Exception以及解决办法
1.Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.ButtonClassCastException:类型转换错误,TextView不能转换位Button,原因是我在findViewById的时候将TextView的一个声明成button,还有就是讲...
分布式项目中遇到的一些问题:记录
接口幂等性>>>> 1.当前端没有限制用户点击间隔时,后端接口也没有做同时点击多次的拦截,导致同一时间用户由于网卡,或者手快,各种原因而多次点击按钮请求多次接口时,特别是非查询的接口时,后端执行了N次。比如创建,由于点击多次,创建了N个,而用户期望是创建一个。     解决:将用户的此次操作标识缓存进redis,如果第一次接口没处理完该用户的请求,则拦截第二次请求,并告知正在处理中
项目中能用到的技术有哪些
不能光看一些没用的
记录一下项目中遇到的问题及解决方案
1.项目中需要用发起流程。 流程发起机制为每次加载 会向容器内添加一个流程,此流程不会被销毁。 存在问题   多次加载后,走流程时会重复发起多次请求 解决方案   把流程加载放在index中 ,确保每次进入项目 只会加载一次流程 2.刷新 此刷新页面问题在于,操作一个组件。要求另一个没有父子关系的组件进行其他操作。 本想用监听   或者回调实现。 后来发现  ,  跳回路由可以快速完...
使用AppScan做安全测试
第1步:下载安装包,并安装软件第2步:录入系统url,输入用户名密码,触发扫描第3步:分析安全扫描报告(一般为pdf格式)
mybatis是如何防止SQL注入的
SQL注入是一种很简单的攻击手段,但直到今天仍然十分常见。究其原因不外乎:No patch for stupid。为什么这么说,下面就以JAVA为例进行说明: 假设数据库中存在这样的表: table user( id varchar(20) PRIMARY KEY , name varchar(20) , age varchar(20) );   ...
Java 如何在运行时获取被擦除的泛型参数类型
问:Java 泛型在编译时被擦出后还有办法在运行时获取泛型信息吗?怎么获取? 答:有办法,正因为泛型在编译时擦出所以会有如下现象。 Class c1 = new ArrayList<Integer>().getClass(); Class c2 = new ArrayList<String>().getClass(); S...