标签: sql

11 篇文章

SQL其他注入
其他注入 一、更新注入 所有更新类操作,只返回布尔型结果,不会返回数据,所以无法像select一样进行多样化处理,所以更新类操作的核心就是构建报错注入的payload insert into user(username, password, role) vlues('wowo' or updatexml(1, concat(0x7e,databas…
盲注
盲注 一、适用场景 没有回显的时候 二、Boolean型盲注 Boolean是基于真假的判断,不管输入什么,结果都只返回真或假两种情况。Boolean型盲注的关键在于通过表达式结果与已知值进行逐个对比,根据对比结果判断正确与否。 盲注有时候需要一个一个字符猜,因此一些字符串操作的函数经常被应用到 length():返回查询字符串长度 mid(col…
SQLMap
SQLMap 一、支持模式 基于布尔盲注,即可以根据返回页面判断条件真假的注入。 基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 基于报错注入、即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。 联合查询注入、可以使用union的情况下的注入。 堆查询注入、可以同时…
文件读写与木马植入
文件读写与木马植入 一、读写权限确认 show global variables like '%secure%'; # 查看mysql全局变量的配置,当输入以上命令后,结果 secure_file_priv = 空 的时候,任意读写 secure_file_priv = 某个路径的时候,只能在规定的路径下读写 secure_fi…
错误注入
错误注入 一、原理 报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。 报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。 对于INSERT和UPDATE语句同样可以使用报错注入的方式 二、Xpath语法错误 利用xpath语法错误来进行报错注入主要利用extractvalue和upd…
SQL注入-登录漏洞
SQL注入-登录漏洞 一、实现原理 1.环境准备 在Linux主机上准备一套Xampp:模拟攻防。 在VSCode利用Remote Development进行远程调试。 在Lampp的htdocs目录下创建security目录,用于编写服务器PHP代码。 2.编写login.html <!DOCTYPE html> <html l…
SQL注入-查询注入
SQL注入-查询注入 一、寻找注入点 在参数后面添加单引号或双引号,查看返回包,如果报错或者长度变化,可能存在Sql注入 通过构造get、post、cookie请求再相应的http头信息等查找敏感信息 通过构造一些语句,检测服务器中响应的异常 二、普通注入 1.数字型 加单引号,URL:xxx.xxx.xxx/xxx.php?id=3'; 对应的s…
Python操作MySQL
操作MySQL 一、原理 python操作数据库的过程:python发送能够与数据库直接通信的数据包,并获取数据库服务器的相应结果 其过程是一种典型的基于TCP/IP的通信过程,要求必须要满足数据库服务器的数据报规则 在python中,要操作Mysql,需要第三方库PyMySQL pip install PyMySQL 二、操作 建立连接 impo…
约束与范式
约束与范式 一、约束 1.主键约束 单列主键 # 在 create table 语句中,通过 PRIMARY KEY 关键字来指定主键。 # 在定义字段的同时指定主键,语法格式如下: create table 表名( ... primary key ... ) # 在定义字段之后再指定主键,语法格式如下: create table 表名( ... …
数据库查询
查询 一、单表查询 1.子查询 SELECT MAX(age) FROM student; # 查询年龄最大的数字,显示为32 SELECT * FROM student WHERE age=32; # 查询年龄为32的所有数据 SELECT * FROM student WHERE age=(SELECT MAX(age) FROM studen…
数据库基本操作
数据库基本操作 一、数据库定义 1.创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名[CHARACTER set 'utf8mb4']; 中括号内为可选参数 sql语句不区分大小写 示例 CREATE DATABASE IF NOT EXISTS school CHARACTER set 'u…