0%

第八关

判断闭合类型

?id=1’报错,?id=1’–+不报错,说明是单引号包裹。

爆库

这里要用到substr函数和ascii函数,顺便了解一下length函数

substr函数是截取某一字段的第几个字母,ascii函数是将某一字符转变成ascii码的形式,而length函数则是判断字符串的长度。

阅读全文 »

配置关卡文件

首先,MySQL默认是不能通过sql上传文件的,具体请输入命令show variables like '%secure%' 查看

若图中划红线的框为

  • Null 不可上传

  • 某一路径 只能在该路径及其子路径中上传

  • 空 可以上传

阅读全文 »

第5关

按题意输入id=1,发现无回显,则不可用联合注入,题目说是双重注入,那就用双重注入。

image-20220123120136543

判断闭合类型

输入id=1'报错,但是id=1'--+不报错,说明是单引号闭合

阅读全文 »

p判断闭合方式

首先

id=1'

id=1"

若都报错是整型

若仅有单引号报错,则尝试

id=1'--+

不报错就是单引号闭合,否则为单引号加括号

若仅有双引号报错,则尝试

id=1"--+

不报错就是双引号闭合,否则为双引号加括号

阅读全文 »

第三关和前两关没什么区别,主要是闭合方式的差异,这里顺便总结一下闭合方式

  • 整型
  • 单引号
  • 双引号
  • 单引号加括号
  • 双引号加括号
阅读全文 »

基本流程

  1. 判断注入类型
  2. 判断字段数
  3. 判断回显点
  4. 爆库名
  5. 爆表名
  6. 爆字段名
  7. 查数据
阅读全文 »

概述

将一串经常会使用的代码封装起来,减少重复代码。一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。

函数的定义

函数的定义一般分为5个步骤:

  • 返回值类型

  • 函数名

  • 参数表列

  • 函数体语句

  • return表达式

阅读全文 »

概念

所谓数组,就是一个集合,里面存放了相同类型的数据元素

特点:

  • 数组中的每个数据元素都是相同的数据类型
  • 数组是由连续的内存位置组成的

一维数组的定义方式

  • 数据类型 数组名[数组长度];

  • 数据类型 数组名[数组长度] = {值1,值2,...};

  • 数据类型 数组名[ ] = {值1,之2,...};

阅读全文 »

DDL语句

定义:数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。主要由create(添加)、alter(修改)、drop(删除)和 truncate(删除) 四个关键字完成。主要是对数据库的常规操作、对表结构的常规操作、修改表结构,而不涉及表中数据

对数据库的常规操作

功能 SQL
查看所有数据库 show databases;
创建数据库 create database [if not exists] 数据库名 [charset=utf8];
切换(选择要操作的)数据库 use 数据库名;
删除数据库 drop database [if exists] 数据库名;
修改数据库编码(了解) alter database 数据库名 character set utf8;

[ ]及其内的内容可以省去

阅读全文 »