山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(八)

本文详细介绍了搜索型SQL注入漏洞的原理、复现过程、后端代码分析及防范措施。通过示例展示了如何利用和防止这种注入攻击,并探讨了Java中使用PreparedStatement、正则过滤和Hibernate框架来防御SQL注入的方法。
摘要由CSDN通过智能技术生成

目录

前言

漏洞原理分析

漏洞复现展示

 后端代码分析

防范措施


前言

这篇文章记录我搭建搜索型SQL注入漏洞的环境,以及如何利用该漏洞进行攻击的过程。并实现针对该漏洞的防范方法。

漏洞原理分析

实例讲解:

1.搜索型注入漏洞产生的原因:
  在搭建网站的时候为了方便用户搜索该网站中的资源,程序员在写网站脚本的时候加入了搜索功能,但是忽略了对搜索变量的过滤,造成了搜索型注入漏洞,又称文本框注入。

2.搜索型注入的类型:
  同其他注入类型相同,由于提交表单的不同,可分为GET型(多出现于网站上的搜索)和POST型(多出现于用户名的登录搜索匹配),搜索型注入是国内系统中普遍存在的漏洞。

3.原理分析

select username,id,email from member where username like '%$name'and 1=1 and '%'='%'

这句SLQ语句就是基于用户输入的name的值在表member中搜索匹配username,但是如果输入 'and 1=1 and '%'=' 就变成了

select username,id,email from member where username like '%$name'and 1=1 and '%'='%'

就存在了SQL注入

4.搜索型注入的判断方法:

  • 搜索keywords‘,如果出错的话,有90%的可能性存在漏洞;
  • 搜索 keywords%,如果同样出错的话,就有95%的可能性存在漏洞;
  • 搜索keywords% 'and 1=1 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=1)看返回的情况
  • 搜索keywords% 'and 1=2 and '%'='(这个语句的功能就相当于普通SQL注入的 a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值