数据库SQL注入攻击以及解决方案
数据库SQL注入攻击以及解决方案
--数据库SQL注入攻击 select count(*) from 表 where LoginID='lqwvje' and pwd='123' --拿上面的一个经常用的用户登入实例 正常情况下是没有问题 count>0即可以登入成功 --用户名一但输入了数据库特殊字符如一下 一段代码 那就可以正常登入 select count(*) from 表 where LoginID='lqwvje' or 1=1 --and pwd='123' --更可怕的是 把整个用户信息 表 都删除掉了 如果没有备份的数据库那就完蛋了 select count(*) from 表 where LoginID='lqwvje' or 1=1; drop table 表 --and pwd='123' --防SQL注入攻击 样例代码如下 仅供参考 public void test() { string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Data20170909;User ID=sa;Password=sa"; using (SqlConnection conn = new SqlConnection(conStr)) { string sqlStr = "select count(*) from 表 where LoginID=@LoginID and pwd=@pwd"; using (SqlCommand cmd = new SqlCommand(sqlStr, conn)) { SqlParameter parLoginID = new SqlParameter("@LoginID", System.Data.SqlDbType.VarChar, 50) { Value = "获得的字符串" }; SqlParameter parPwd = new SqlParameter("@pwd", System.Data.SqlDbType.VarChar, 50) { Value = "获得的字符串" }; cmd.Parameters.Add(parLoginID); cmd.Parameters.Add(parPwd); conn.Open(); cmd.ExecuteScalar(); } } }
合集:
MSSQL数据库
分类:
编程相关 / C语言
, 数据库知识 / mssql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了