文章预览
村护第1day,闲来无事,更新笔记。 HQL注入深入利用 本文主要是针对Hibernate框架产生的SQL注入进行深入研究,网上的文章千篇一律的都是针对HQL语言的注入,利用方式有限。其实国外早在2015年就发过关于Hibernate框架的逃逸姿势,但只是针对低版本的。 Hibernate框架 Hibernate是一种ORM框架,它是支持使用原生SQL或HQL语言(Hibernate框架自己的语言)进行SQL操作的 通常使用Hibernate框架都是使用HQL语言方式进行查询 1、原生SQL语句 String parameter = req.getParameter("name"); Query query = session.createSQLQuery("SELECT table_name FROM information_schema.tables where table_schema=?"); query.setParameter(1, parameter); 2、HQL语句 将数据库tables映射为相关的类,通过此类进行数据查询,使用的是HQL自己的语言 String parameter = req.getParameter("name"); Query query = session.createQuery("from com.demo.bean.User where tabl
………………………………