SQL注入精讲

SQL注入的三大块:

GET

POST

Cookie

GET

GET提交方式:在URL传递参数的请求,就是GET方式,是以name=value的方式出现

例如:http://xx.com/demo.php?id=1这就是一个很典型的GET请求.

这个id可能就是像数据库中进行查询匹配值,这个时候就可以在后面加上’ and 1=1 and 1=2这些sql语句进行测试是否可注入

这是我数据库中的内容:

存在注入页面代码:

很简单的一个页面.后面加个单引号试试

And 1=1 测试正常 and 1=1测试错误

看一下sql语句的执行过程

Id = 1时,构造的SQL语句

select * from news where id = 1’在后面加了一个单引号,数据中又没有1’这个id记录,自然就报错

select * from news where id = 1 and 1=1正常

select * from news where id = 1 and 1=2错误

And是且的意思,也就是两边的条件都为真是就是真,否则就是假

1=1吗?1=2吗?不懂的请补数学,谢谢

对输入的字符没有进行过滤,就造成了一个注入,上面所说的注入是数字型注入,还有一种是字符型,本质都是一样的

只需要将这里的条件加个单引号就行了

这个时候输入’是可以报错的,但是and 1=1 and 1=2都是正常页面,简单的看一下SQL语句

Select * from news where id = ‘1’’这里输入的单引号吧前面的闭合了,但后面的怎么办?

Select * from news where id = ‘1 and 1=1’因为mysql数据库会吧这个字符串中的从第一个数字到第一个非数字这部分的数字拿出来作为数字来查询,之前好像听别人提过sqlserver貌似不会这样,自己试试==

And 1=2 同理的.

咋办勒? 输入俩单引号试试

正常了.SQL语句:select * from news where id = ‘1’’’两个都闭合了.

那我们是不是就可以写select * from news where id = ‘1’ and 1=1 ‘’?

很遗憾,不行,如果是个空字符串的话mysql可以认为他没发生,但是你中间插的数据是什么玩意?

继续换个SQL语句:select * from news where id = ‘1’ and 1=1 -- ’注释掉怎么样?

原文发布于微信公众号 - 网络安全社区悦信安(yuexin_an)

原文发表时间:2017-08-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python把docx文档中的题库导入SQLite数据库

#本文所用的docx文档题库包含很多段,每段一个题目,格式为: 问题。(答案) #与之对应的数据库datase.db中tiku表包含kechengming...

30670
来自专栏IT笔记

聊聊Java中的四种单例模式

近期在做支付,一开始图省事,也是为了调试方便,支付的alipayClient和tradeService都是使用的时候去拿,这样就会导致创建多次。为了节省资源,统...

27070
来自专栏landv

金蝶k3密码批量修改

18060
来自专栏木头编程 - moTzxx

PHP DB 数据库连接类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

15810
来自专栏Java后端生活

JDBC(三)PreparedStatement

SQL 注入是利用某些系统没有对用户输入的数据进行充分的检查,而在用户输入数据中注入非法的 SQL 语句段或命令,从而利用系统的 SQL 引擎完成恶意行为的做法

8510
来自专栏xingoo, 一个梦想做发明家的程序员

程序猿的日常——Mybatis现学现卖

最近有一个小项目需求,需要用spring mvc + mybatis实现一个复杂的配置系统。其中遇到了很多不太常见的问题,在这里特意记录下: 主要涉及的内容有...

36570
来自专栏Netkiller

MySQL 转换 latin1 到 UTF-8

节选自 《Netkiller MySQL 手札》 MySQL 数据库将latin1 转换为 UTF-8有几种方案。 导出,iconv转换,再倒入 MySQL ...

36060
来自专栏kwcode

C# 读取指定文件夹下所有文件

#region 读取文件 //返回指定目录中的文件的名称(绝对路径) string[] files = S...

32370
来自专栏积累沉淀

Java设计模式(一)----单例模式

单例模式 一、特点: 二.分类 (一)、懒汉式单例 (二)、双重检查锁定 ...

22490
来自专栏Java帮帮-微信公众号-技术文章全总结

第二十七天 数据库基础&JDBC使用&工具类Properties&连接池&DBUtils【悟空教程】

第二十七天 数据库基础&JDBC使用&工具类Properties&连接池&DBUtils【悟空教程】

15520

扫码关注云+社区

领取腾讯云代金券