牛腩新闻视频 09讲 Sql注入 cmd 的 Parameter.ADD 单个参数 和 Parameters.AddRange 多个参数...

image

看看 增加后显示的文字

image

那么为什么会这样呢?我们把上面的文字 放到 sql里面去看看

image

实际上 替换掉的是  逗号之间的内容,替换后,原来的插入是一个语句,后面的删除又是另外一个语句,并且 -- 后面  被当做注释已经忽略了

 

举例两个比较经典的注入案例

1:管理员登陆    

select * from admin where username='admin' and [password]='admin'

假如在密码区  我输入   注入' or  '1' = '1      (前面有一个 '   后面的1  没有  '   就变成了如下)

select * from admin where username='admin' and [password]='注入' or '1'='1'

 

2:恶意删除

 

select * from category where name='中国新闻'
select * from category where name=''
--假如我要注入的是 asp';delete from category;--
select * from category where name='asp';delete from category;--'

 

 

如何避免 拼接字符串呢?我们使用 带参数的 SQL语句

 

当我们修改sql 2008数据库的表结构时  提示

image

image  image

 

回到刚才的   带参数的  sql 语句     SqlParameter

image

 
修改之后
 

然后 回到 CategoryDAO 里面  需要使用  sqlparameter 需要引入  

using System.Data.SqlClient;
 

转载于:https://www.cnblogs.com/iceicebaby/archive/2011/10/06/2200177.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值