这几天做了不少SQL注入题,对SQL注入有点体会,所以写写自己的学习历程与体会。

什么是SQL注入

SQL注入就是指web程序对用户输入的数据的合法性没有进行判断,由前端传入的参数带着攻击者控制的非法语句,攻击者可以通过构造不同的数据库查询语句来实现对数据库的任意操作。

SQL注入原理

SQL注入产生的原理:

(1)由前端传入的参数是可以控制的。

(2)传入的参数可以拼接到SQL语句,并且能对数据库进行有效操作。

当你输入参数id=1时,数据库执行的代码如下   select * from users where id = 1  数据库可以正常执行操作。

当你输入参数id=1'时,数据库执行的代码如下   select * from users where id = 1' 这不符合数据库语法规范,所以会报错。

当你传入参数1 and 1=1时,数据库执行的代码如下 select * from users where id = 1 and 1=1 因为1=1和1都为真,所以页面会返回id=1的结果。当你传入 1=2时 ,1=2为假,所以数据库会报错。

一般满足上面这两种条件的都可能存在注入漏洞,因此开发人员要对传入的参数进行过滤。

而且随着技术的发展,注入与反注入的技术都在不断升级,所以各种各样的注入漏洞被发现利用,然后被修复,新的漏洞再被发现,所以对于安全工程师来说,掌握最新的漏洞是非常重要的。

最新文章

  1. shell下批量重命名svn文件的方法
  2. 【CodeForces 699A】Launch of Collider
  3. [Js/Jquery]jquery插件开发
  4. php 判断是否 是手机访问
  5. spark新能优化之reduceBykey和groupBykey的使用
  6. LINQ Enumerable 续
  7. Ext.net中常用的三种交互方式
  8. MIUI目前为止最简单安装谷歌服务框架教程
  9. 如何购买并配置linux服务器上的数据库
  10. 3D 数据
  11. python中的顺序表
  12. 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念
  13. Spring Aop AfterReturning接收返回值
  14. 安装svn过程
  15. 【转】Android下使用配置文件(Preferences)
  16. An error occurred: No action handlers found - check JMeterHome and libraries
  17. SQL高效分页(百万条数据)
  18. HDU 1874畅通工程续(迪杰斯特拉算法)
  19. 很好的c++和Python混合编程文章
  20. ASP连接读写ACCESS数据库实例(转)

热门文章

  1. HotRing: A Hotspot-Aware In-Memory Key-Value Store(FAST ’20)
  2. uni-app之uni.showToast()image路径问题
  3. 开心一下-实现一个基于Java的中文编程语言2
  4. 一文说通Dotnet Core的中间件
  5. Java实现 LeetCode 757 设置交集大小至少为2(排序+滑动窗口)
  6. Java实现 蓝桥杯VIP 基础练习 分解质因数
  7. Java实现 LeetCode 155 最小栈
  8. java算法集训代码填空题练习1
  9. C++实现网络寻路
  10. v-on 缩写