什么是SQL注入?

1、正常的web端口访问

正常访问是web传入程序设计者所希望的参数值,由程序查询数据库完成处理后,呈现结果页面给用户。

2、SQL注入是如何访问?

(1)SQL注入也是正常的web端口访问

(2)只是传入的参数值并非是程序设计者所希望的,而是传入了嵌套SQL代码的参数值

(3)参数值利用程序处理注入者的逻辑,按注入者的期望执行数据库查询

SQL注入:是通过应用程序把带有SQL代码的参数传递给数据库引擎。

理解:程序设计者缺乏安全意识,没有考虑到用户可能是黑客的情况,黑客会使用SQL数据库的查询语句到参数中,使得想要的数据显示在网站页面中,获取数据库中的数据,从而导致了数据泄露。

为什么要深入了解SQL注入?

1、SQL注入危害大

黑客最终的目标是数据,SQL注入是直达数据库引擎,甚至提权后可以与系统层交互,敏感数据可能被泄露、破坏的风险。

2、SQL注入隐秘性强

SQL注入也是正常的web端口访问,系统或者数据库管理员不易发觉,可能被攻击者长期控制系统或者数据库。

3、SQL注入具有普遍性

SQL关系数据库行业的通用标准,SQL注入不仅是MySQL的问题,也是其他使用SQL的数据库的问题,有证据表明,60%以上有网站具有SQL注入漏洞。

4、知己知彼,目标为防

深入了解SQL注入的终极目标是做好防范,提高数据安全意识,把数据安全提高到一定的战略高度。

理解:SQL注入总的来说是程序设计的漏洞,没有办法去彻底解决掉,因为它也是正常的访问数据库的操作,无法准确阻止,只能尽可能的想到黑客能进行的SQL注入攻击的手段,对黑客输入的数据进行合法性、安全性的检查,从而提前将其操作阻止。

程序端SQL注入攻击原理

1、正常的访问

$sql="SELECT" * FROM users WHERE login='$uname' AND password='$pwd'

PHP程序传入结果参数:
$uname=‘huan’
$pwd=‘hxf123’

结果:

`SELECT * FROM users WHERE login = 'huan' AND password='hxf123'`

2、SQL注入访问

PHP程序传入结果参数:
$uanme=admin’’ or 1=1 --+
$password=‘hxf123’

结果:

SELECT *FROM users WHERE login="admin" or 1=1 --+ AND password='hxf123'


or 1=1–+又被称为万能密码,因为在构成SQL查询语句时,–+注释掉后面的语句了,使得有效的语句为:

select * from users where login=“admin” or 1=1;
理解:黑客利用or 1=1 这个永真式结合”–“注释掉后面的查询语句,使用这次SQL注入的查询语句为真,服务器返回给客户端是真值,这次登录成功认证,从而登录客户端。

SQL注入漏洞的根本原因

(1)SQL注入漏洞是应用程序的问题,而不是系统或者数据库的问题。

SQL注入本质的原因是人对数据安全的意识薄弱。或者即使有安全的意识,而程序员对如何防范无从下手。因此导致程序没有时间对用户输入数据的合法性进行检查,对传入参数的安全性没有完全的过滤。

SQL注入-01-什么是SQL注入?相关推荐

  1. SQL注入之Mysql报错注入

    --志向和热爱是伟大行为的双翼. 昨天偷懒了没学什么东西,先自我反省一下 - -. 今天认真的学习了一下Mysql报错注入利用方法及原理,好久之前就像认真的学一下这个了,是在上海市大学生网络安全大赛中 ...

  2. SQL注入第二章节MYSQL手工注入

    SQL注入第二章节MYSQL手工注入 2.1 SQL注入之sqli-labs环境搭建 一.SQLi-Labs是什么? SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含 ...

  3. SQL注入用到的SQL函数

    什么是SQL注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入的原理:应用程序使用用户输入的内容来构 ...

  4. SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

    Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...

  5. iwebsec靶场 SQL注入漏洞通关笔记4- sleep注入(时间型盲注)

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)_mooyuan的 ...

  6. 利用sql报错帮助进行sql注入

    我们可以利用sql报错帮助进行sql注入,这里以sql server 为例: sql查询时,若用group by子句时,该子句中的字段必须跟select 条件中的字段(非聚合函数)完全匹配,如果是se ...

  7. 反引号注入_什么是 SQL 注入?

    (给ImportNew加星标,提高Java技能) 转自:Java程序员联盟 文章目录: 何谓SQL注入? SQL数据库操作示例 SQL数据库注入示例 如何防止SQL注入问题 SQL数据库反注入示例 何 ...

  8. sql挂起小工具cleanup_SQL注入的攻防策略

    什么是SQL注入? SQL注入风险,是攻击者利用请求参数这样一个入口,拼接上自己的恶意SQL语句,根据错误提示信息.执行时长等信息,窥探数据库的库名.表结构和数据,拿到用户数据,再提权控制整个后端系统 ...

  9. sql注入及mybatis防止sql注入

    一.Sql 注入漏洞详解 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句.这种网站内部直接发送的Sql ...

  10. SQL注入攻击(SQL注入(SQLi)攻击)-报错注入

    页面没有显示位 , 但有数据库的报错信息时 , 可使用报错注入 报错注入是最常用的注入方式 , 也是使用起来最方便(我觉得)的一种注入方式 updatexml(1,'~',3); 第二个参数包含特殊字 ...

最新文章

  1. MongoDB 数据分发
  2. 应用化学:从二氯甲烷到四氯化碳
  3. iOS 10 的一个重要更新-开发 iMessage 的第三方插件
  4. bzoj1339[Baltic2008]Mafia*
  5. 2013 ACM/ICPC Asia Regional Online —— Warmup1 1005 Balls Rearrangement
  6. 如何使用PowerShell保护密码
  7. 检测客户端是否安装 Silverlight 插件和判断IE是否安装或支持Silverlight(限IE)
  8. mybatis(二)
  9. 3. wordpress 固定链接
  10. java连接数据库的方式_java连接数据库的两种方法总结
  11. opencv cvtColor 出错
  12. Python微博评论进行情感分析
  13. matlab gui 简介,Matlab中Powergui的介绍.pdf
  14. springboot Could not resolve placeholder
  15. python scatter设置随机颜色_python – Matplotlib Scatter plot根据列表中的值更改颜色...
  16. 醉逍遥显示无法更新服务器,蜀门醉逍遥版本修改教程 (值好几千,俺心血).doc
  17. 怎么进入服务器修改跳转域名,域名怎么跳转到别的网站
  18. CoMP 协同多点传输技术
  19. cocos2dx掼蛋_cocos2d/x 自带字体(label)
  20. 电竞LOL数据API接口 - 【赛事列表数据】API调用示例代码

热门文章

  1. 前端开发的辛酸史(2)之织梦教程
  2. No7. net-snmp 一些命令行应用程序:
  3. 2017西安网络赛B_Coin
  4. 欧拉折线法解常微分方程C语言,第五章:常微分方程数值解法第一节欧拉法
  5. 使用wvdial启动ppp协议拨号上网
  6. TiDB:ERROR 1265 : Data Truncated 解决
  7. 运用计算机制作多媒体作品,计算机多媒体技术在影视后期制作中的应用
  8. Python 爬虫 | 获取历史涨停数据
  9. 【图像分类损失】PolyLoss:一个优于 Cross-entropy loss和Focal loss的分类损失
  10. 英语中级口译-新东方