渗透之SQL注入-MYSQL常用语法
数据库基本操作
1、连接数据库
mysql -u root -p
mysql -H 192.168.***.*** -P 3306 -u root -p root
#远程登录数据库(需设置相关权限)
2、设置权限
grant all privileges on *.* to 'root'@'localhost'
identified by 'root' with grant option;
#all privileges 所有权限,可替换为select 或 update
#*.* 数据库名.表名
#'root'@'localhost' 前边表示用户名,@后边表示连接限制的主机,可以是IP、IP端、域名、%(任何地方)
#identified by 指定用户的登录密码
#with grant option 可以将权限授权给其他
3、设置密码
mysql -u root -P
use mysql
update user set Password=PASSWORD('root') where User='root'
flush privileges
#或退出数据库后重启mysql service mysql restart
4、设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges
#修改MySQL配置,允许远程访问
# vim /etc/mysql/mariadb.conf.d/50-server.conf
#将bind-address=127.0.0.1 改为 bind-address=0.0.0.0
#重启系统
5、数据库命令
a.show databases; #查询所有数据库
show databases like '匹配模式;
_:匹配当前位置单个字符
%:匹配指定位置多个字符
#获取以my开头的全部数据库: 'my%';
b. use database_name ; #选择数据库
c. create database database_name ; #创建数据库
create datebase if not exists database_name DEFAULT SHCRSET utf8 COLLATE utf8_general_ci
#创建判断数据库是否存在,字符集为utf8,默认排序
d.show create database database_name \G ; #查看数据库定义
e.drop database database_name ; #删除数据库
f.
6、数据库列属性
a.null 属性
b.default 默认值
c.comment 列描述
d.primary key(id,name) #主键 为 id name
e.id int(5) unsigned not null auto_increment #id 为无符号整型,长度为5,不为空,自动增长
f.唯一键
7、数据表
a.show create table table_name \G; #查看数据表定义
b.desc table_name; #查看表定义的字段
c.drop table table_name ; #删除数据表
d.select column_name1,column_name2 from table_name where column_name3='?' ;
#查询表内符合column_name3的column_name2、column_name3的数据内容
e.insert into table_name (field1,field2) values (value1 value2),(value1 value2) ;
#插入数据到表
f.delete from table_name where field='?' ; #删除表中符合条件的数据内容
g.update table_name set field1=new_value1 where field2='?'
#修改表中符合条件的field1值为新值
#where条件查询中添加逻辑运行 and/or
h. order by 字段 /列名 ASC/DESC ;
#按升序/降序进行排序
#order by 数字 SQL注入中用来判断数据有多少列
g. and or
8.查询函数语句
a.select mid(field,1,3) from table_name ;
#从指定字段的第1行开始,提取3行数据 初始行为0
select substr(field,3,4) from table_name ;
#从指定字段的第3行开始,提取34行数据
select left(field,5) from table_name ;
#从指定字段的左侧开始提取5位数据
b.select * from table_name limit 2,4;
#限制表输出, 输出从第二行开始的4行数据
c.select * from table_name where field like "%a%" ;
#查询表内某列中含有...a... 的数据
d.select * from table_name
union
select * from table_name ;
#将两个表查询的结果并入一个表输出 (两个表内的数据量需要相同)
e.select concat (field1,field2,field3) from table_name;
#连接查询表内符合条件的数据,并入新表按原列输出
select concat_ws(0x7e,field1,field2) from table_name;
#连接查询表内符合条件的数据,并入新表按原列输出,以~分隔
select group_concat(field1,field2,field3) from table_name;
#连接查询所有符合条件的数据,全部写入一行数据内
f.select count(*) from table_name;
#返回指定列的值的数目(有几列)
g.select rand() from table_name;
#按照原表列格式随机生成0-1的随机数
9.sql注入常用函数
1.select schema_name from information_schema.schemata;
#查询库内所有数据库名
2.select table_name from information_schema.tables where table_schema=库名;
#查询某一数据库内的所有表名
3.select column_name from information_schema.columns where table_name=表名;
#查询表某一表内所有的列名
4.select 列名 from 库名.表名
#查询某一库下某一表内的具体数据
5.万能密码: 'or '1' = '1 #or 原理应用
渗透之SQL注入-MYSQL常用语法相关推荐
- php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理
讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...
- 渗透学习-SQL注入篇-基础知识的学习(持续更新中)
提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...
- 渗透测试之SQL注入基础
渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...
- Mysql常用语法总结
Mysql常用语法总结如下: #连接mysql数据库(Dos下面) mysql -u root -p 123 #创建数据库 create database myschool; #创建表 drop ta ...
- MYSQL常用语法命令,MySQL中delete,drop和alter分别是用来删除什么的?有什么区别?删除了以后可以恢复吗?
1.Alter.Delete.Drop相关语法 a.Alter 删除,添加或重新定义列 删除列:alter table tablename drop columnname 增加列:alter tabl ...
- mysql sql注入很常用_常见sql注入的类型
这里只讲解sql注入漏洞的基本类型,代码分析将放在另外一篇帖子讲解 目录 最基础的注入-union注入攻击 Boolean注入攻击-布尔盲注 报错注入攻击 时间注入攻击-时间盲注 堆叠查询注入攻击 二 ...
- sql注入 mysql 猜数据库名字_web渗透-SQL注入数据库信息盗取
sql注入原理 脚本代码接收来自前端数据未进行过滤,导致恶意sql语句插入到数据库中查询执行. 如下代码: $id = $_GET['id']; $sql = "select * from ...
- 渗透知识-SQL注入
据不完全统计,国内网站ASP+Access或SQLServer占70%以上,PHP+MySQL占20%. 一般asp+access组合比较多,aspx+mssql(SQL Server)组合比较多 一 ...
- sql注入空格被过滤_网站渗透:SQL注入与WAF绕过思路分享
一.前言 这个注入是之前做测试时发现的,但是测试的时候发现有防护,但是想想这么个小网站都绕不过,实在不应该啊.开始补充学习各种场景.各种waf绕过姿势,勉勉强强的成功执行我构造的SQL的语句.趁着还有 ...
- 渗透测试SQL注入——Sqlilabs关卡详解
目录 报错函数floor的利用 利用select into outfile写一句话木马 利用load_file 读敏感文件 利用sqlmap探测 sql盲注 get基于时间的盲注应用 post基于时间 ...
最新文章
- java的classloader引用实例_通过实例Java ClassLoader原理
- Luogu P1002 过河卒(DP)
- 概率论 第三章 多维随机变量及其分布
- 对比俩个字符串的相似度
- vaadin_Vaadin提示:延迟加载和商品标识
- (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
- 在Linux系统安装Nginx及配置https加密访问
- Redis BigKey
- Fiddler配置https
- FreeSwitch视频会议,4路以上CPU占用暴增的原因
- vim编辑器永久显示行号
- 360浏览器怎么设置主页
- 手机上最好用的五笔输入法_什么手机输入法最实用?目前最受欢迎的3款盘点,你正在用哪款呢...
- Java核心技术大会|Java应用开发专场
- HCIA-GaussDB 华为认证数据库工程师
- CTFshow——web入门——php特性(上篇)
- 【adb】cmd命令行输入adb时始终提示adb为非内部命令
- 8051单片机Proteus仿真与开发实例-光敏电阻+ADC0804仿真
- Android 返回键
- Stm32MP157-Linux(Ubuntu)——Ubuntu入门
热门文章
- linux top命令最详细解释
- 平凡的世界 田晓霞的日记 摘抄
- python 下载图片 写硬盘 慢_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据...
- 初学C语言——三位数倒序
- JVM菜鸟进阶高手之路十(基础知识开场白)
- Spring第一讲:谈谈你对Spring的理解?从该问题着手深入解析Spring/Spring5新特性
- 搜狐公司副总裁 方刚 先生谈《胜于言传——网站内容制胜宝典》
- Windows UI 测试
- 统计红楼梦人物出场次数python_红楼梦人物出场次数统计及人物出场词云