《白帽子说黑客》学习笔记四

本文探讨了SQL注入攻击的原理,通过示例展示了用户如何通过控制输入(如ShipCity变量)构造恶意SQL语句,导致原本的查询执行额外的危险操作,如删除表。重点在于理解用户输入数据在动态SQL拼接中的风险及其对数据库安全的影响。
摘要由CSDN通过智能技术生成

注入条件:(1)用户能够控制数据的输入——在这里,用户能够控制变量ShipCity。
(2)原本要执行的代码,拼接了用户的输入:

var sql = “select * from OrdersTable where
ShipCity = '” + ShipCity + “’”;
这个“拼接”的过程很重要,正是这个拼接的过程导致了代码的注入。
如:
变量ShipCity的值由用户提交,在正常情况下,假如用户输入“Beijing”,那么SQL语句会执行:
但假如用户输入一段有语义的SQL语句,比如:

那么,SQL语句在实际执行时就会如下:
“我们看到,原本正常执行的查询语句,现在变成了查询完后,再执行一个drop表的操作,而这个操作,是用户构造了恶意数据的结果。”

示例结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值