SQL注入之联合查询——ctf公开课笔记记录

MySql简介

DBMS


数据库管理系统是一种操纵和管理数据库的大型软件
用于建立、使用和维护数据库,简称 DBMS。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。


NAVICAT

Navicat Premium 16 下载与安装破解教程(详细教程) | Java 技术论坛 (learnku.com)
navicat与Mysqlworkbench类似,功能有:

连接数据库
创建数据库
创建数据表
创建字段
操纵数据
执行SQL语句

MySql常用函数


SELECT类语句:

@@datadir 查看当前的数据库目录
@@version_compile_os 查看操作系统版本
database()查看当前数据库
user()查看当前连接数据库的用户
Version()查看当前数据库版本信息
concat(str1,str2)连接两个字符串并传入数据库,如果其中一个参数为NULL,则返回值为 NULL
concat_ws(separator,str1,str2)用分隔符连接两个字段的字符串
group_concat(str1,str2)将多行查询结果以逗号分隔全部输出
mid(column_name,start,length)从指定字段或字符串中提取出内容

其他常用函数:

Limit 返回结果中的前几条数据或者中间的数据
COUNT(column_name)返回指定列的值的数目(NULL不计入)
rand()产生一个0~1的随机数
floor()函数 向下取整。
left(str,num)从字符串str的左侧开始取num位
right(str,num)从字符串str的右侧开始取num位
sleep(num)让语句暂停num秒的时间
length(str)返回字符串str的长度
Substr(string,start,length)同上


INFORMATION_SCHEMA数据库结构

information_schema数据库是MYSQL自带的,它提供了访问数据库元数据的方式.
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。
SCHEMATA:
schema_name中显示所有的表
TABLES:
table_shema 字段为从属的数据库
table_name为表名
COLUMNS:
Table_schema
table_name
column_name

SQL注入原理和类型

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,
用户可控的输入未经过滤就被带入到SQL语句中执行,从而导致SQL注入攻击的产生

万能密码:

利用真值来绕过SQL查询语句
Mysql万能密码:admin' or '1'='1#

注入类型:

有回显
1.Error-based SQL injection(报错型注入)
2.UNION query SQL injection(联合查询注入)
无回显
3.Boolean-based blind SQL injection(布尔型注入)
4.Time-based blind SQL injection(基于时间延迟注入)
5.Stacked queries SQL injection(堆叠查询注入)


Sqli-labs靶场搭建以及做题wp将由我亲自实践并为大家呈现。
版本要求:
php 版本为 5.x
mysql版本为 5.7.x

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值