Java教程

SQL注入简单介绍

本文主要是介绍SQL注入简单介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、原理

例如:用户登录的基本 SQL 语句:select * from users where username = '用户输入的用户名'and password = '用户输入的密码'

用户输入的内容是可控的,例如我们可以在用户名中输入admin' or 1=1 -- +就变成了:select * from users where username = 'admin' or 1=1 -- +'and password = '用户输入的密码'   说明:这样就导致该SQL语句没有了密码验证过程,而其中的or 1=1让整条SQL语句变成了永真语句,结果就是会查询所有的用户名。(注:-- +在mysql当中是注释的意思。)

二、SQL注入分类

1.布尔注入:可以根据返回页面判断条件真假的注入;

2.联合注入:可以使用 union 的注入;

3.延时注入:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;

4.报错注入:页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;

三、闭合方式

 

这篇关于SQL注入简单介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!