以下篇幅,用一个简单的实例说明如何进行测试。

功能:根据用户NAME删除用户,采用的是SQL拼接的方式,核心代码部分如下:

public static void deleteByName(String name)throws Exception{

Session session = seesionfactory.openSession();

org.hibernate.Transaction tx = session.beginTransaction();

try

{

String hql="delete from Department where name='" + name + "'";

Query query = session.createQuery(hql);

int res = query.executeUpdate();

tx.commit();

System.out.println(res);

}

catch(HibernateException e)

{

System.out.println("deleteByName  has Exception !");

e.printStackTrace();

if(null != tx)

{

tx.rollback();

}

}

数据库相应的表中含有记录如下:

测试代码:

String name="1";

deleteByName(name);

执行后数据库一条记录都是不会删除的。

而执行以下测试代码:

String name="1' or '1'='1";

deleteByName(name);

执行后数据库的两条记录全部清空。

明明数据库里是没有name=1的记录存在的,可是居然全部删除了,原因就是存在恶意SQL,系统没有进行适当的处理,导致where条件永远为真,删除了表里的所有数据。

sql注入测试(2)---实例测试的更多相关文章

  1. 【入门推荐】SQL注入进行WebShell渗透测试的基础概览

    作者:zero 本文为SQL基本注入的进阶文章,如有任何疑问请查看: SQL基本注入演示:https://www.cnblogs.com/anbus/p/10082452.html 导语: 利用SQL ...

  2. SQL注入之DVWA平台测试mysql注入

    今天主要针对mysql常用注入语句进行测试. 测试环境与工具: 测试平台:DVWA,下载地址:http://down.51cto.com/data/875088,也可下载metaspolit-tabl ...

  3. Vtiger CRM 几处SQL注入漏洞分析,测试工程师可借鉴

    本文由云+社区发表 0x00 前言 干白盒审计有小半年了,大部分是业务上的代码,逻辑的复杂度和功能模块结构都比较简单,干久了收获也就一般,有机会接触一个成熟的产品(vtiger CRM)进行白盒审计, ...

  4. java web sql注入测试(2)---实例测试

    以下篇幅,用一个简单的实例说明如何进行测试. 功能:根据用户NAME删除用户,采用的是SQL拼接的方式,核心代码部分如下: public static void deleteByName(String ...

  5. SQL 注入与防御实例

    注入 1. 创建存储 USE TSQL2012; GO IF OBJECT_ID('Sales.ListCustomersByAddress') IS NOT NULL DROP PROCEDURE ...

  6. shell条件测试语句实例-测试apache是否开启

    终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...

  7. 【攻防实战】SQL注入演练!

    这篇文章目的是让初学者利用SQL注入技术来解决他们面临的问题, 成功的使用它们,并在这种攻击中保护自己. 1.0 介绍 当一台机器只打开了80端口, 你最依赖的漏洞扫描器也不能返回任何有用的内容, 并 ...

  8. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

  9. 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)

    3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...

随机推荐

  1. python人生如初见之初见yield

    今天学习爬虫Scrapy框架搭建的时候,了解了yield的用法.了解一个东西,无外乎 WHAT? HOW? WHY? WHAT yield英文意思是屈服,退位,放弃.额...其实它是Python中的一 ...

  2. 4.弹性网络( Elastic Net)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_21904665/article/details/52315642 ElasticNet 是一种 ...

  3. 详谈mysqldump数据导出的问题

    1,使用mysqldump时报错(1064),这个是因为mysqldump版本太低与当前数据库版本不一致导致的. mysqldump: Couldn't execute 'SET OPTION SQL ...

  4. 三种Timer使用

    System.Windows.Forms.Timer,  System.Threading.Timer,  System.Timer,三种Timer使用如下 第一种:System.Windows.Fo ...

  5. Django 测试开发3 数据模型models和admin管理工具

    参考:https://blog.csdn.net/weixin_44510615/article/details/89425412 1.Django模型字段常用类型: IntegerField : 整 ...

  6. DataSync 异构数据同步

    RAC, Data Gurad, Stream 是Oracle 高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合. 他们各自的侧重点不同,适用场景也不同. RAC 它的强项在于解决单点 ...

  7. PropertyValuesHolder学习

    package com.loaderman.customviewdemo; import android.animation.ObjectAnimator; import android.animat ...

  8. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

  9. TensorFlow Object Detection API —— 测试自己的模型

    (flappbird) luo@luo-All-Series:~/MyFile/TensorflowProject/Mask_RCNN/mask_rcnn_20190518/Mask_RCNN/mod ...

  10. java如何获取项目的工作目录

    package maptoxml; public class Tfff { public static void main(String[] args) { System.out.println(&q ...