软件测试mysql注入语句_软件测试 -- SQL注入测试

本文介绍了SQL注入的概念、产生原因、攻击方式及预防措施,详细讲解了如何通过不同类型的输入进行SQL注入测试,并提到了自动化工具Sqlmap的使用,包括布尔盲注、时间盲注、报错注入等多种注入方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. SQL注入的概念:

1.1 概念: SQL注入就是将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的恶意SQL命令.

1.2 SQL如何产生:

1) WEB开发人员无法保证所有的输入都已经过滤

2) 数据库未做相应的安全配置

3)攻击者利用发送给SQL服务器的输入参数构造可执行的SQL代码

1.3 攻击方式: get请求、post请求、http头信息、cookie等

1.4 如何预防(开发所做):

1) 严格检查输入变量的类型和格式

2) 过滤和转义特殊字符

在username这个变量前进行转义,对'、"、\等特殊字符进行转义,如:php中的addslashes()函数对username参数进行转义

3) 利用mysql的预编译机制

1.5 攻击例子:

1)  用户登录注入:

用户输入账户跟密码之后相当于调用SQL语句进行数据库用户查询,

相当于:  SELECT * FROM user WHERE username = 'USER' ADN password = '123456'

当用户名输入改为:USER'--(单引号闭合user左边的单引号),密码随意输入,如:111,然后点击提交按钮

等价于SQL语句:SELECT * FROM user WHERE username = 'USER'--'ADN password = '123456'

这就导致了输入一个错误的密码或者不输入密码就可登录用户名为'user'的账号,这是一个危险的操作

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值