渗透测试之地基服务篇:服务攻防之数据库Mysql(上)

admin 2021年12月15日04:08:54评论85 views字数 3318阅读11分3秒阅读模式

渗透测试之地基服务篇:服务攻防之数据库Mysql(上)

简介


渗透测试-地基篇


该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。


请注意:


本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:


你对这行的兴趣,决定你在这行的成就!

一、前言

数据库作为业务平台信息技术的核心和基础,承载着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,数据库的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的数据库中往往储存着等极其重要和敏感的信息。这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。所以对数据库的保护是一项必须的,关键的,重要的工作任务。


通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!


二、搭建mysql数据库


1、mysql搭建使用phpstudy工具,下图是安装包说明。


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)



2、双击包,选择好安装的目录一直下一步即可。


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


以上出现别的提示,根据提示安装兼容软件...


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


成功后启用,如出现端口冲突、服务启动失败解决即可!


三、数据库基本操作

1、登录mysql:

首先进入到C:phpStudyMySQLbin(即安装的目录下,默认是D盘)


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

mysql -uroot -proot -P3306 -h127.0.0.1

这里已经搭建好mysql,成功本地登录,通过kali、mac、pc远程登录mysql方法:


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

这句话意思:允许任何IP地址(上面的 % 就是这个意思)的电脑用root帐户和密码(root)来访问这个MySQL Server,当然如果改成admin就只允许admin用户登录,root就无法远程登录。


2、基础命令巩固


1)mysql三种退出方式:


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

mysql > exit;
mysql > quit;
mysql > q;

2)查看所有数据库、所在文件夹:


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

show databases;			查看所有数据库
use mysql 进入数据库
select database(); 查看当前所在的位置

3)mysql三种注释符:


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

#dayu
"-- dayu"
/*dayu*/

dayu可替换任何信息


4)mysql增删数据库


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

create database dayu1;		增加数据库
drop database dayu1; 删除数据库

5)改数据库值


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

alter database dayu charset utf8;

这里知道怎么改即可。


6)查看数据表和表资源信息


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

show tables;  #查看数据列表信息
desc user;   #查看数据表内容

show status; #显示一些系统特定资源的信息,例如,正在运行的线程数量

其中表的内容包含:表结构,字段类型,主键,是否为空等属性。


7)筛查数据表用户密码


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

select password from user where user='root';

四、数据库表操作


1、table表的操作


1)简单创建table数据表


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

create table users(id int(7));   #创建table表,给与长度7

2)创建完整表


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

create table biao(id int(7)auto_increment,username char(100) not null,password char(100)not null,primary key(id))engine=innodb default charset=utf8;

create table biao(id int(7) #创建表
AUTO_INCREMENT #标识该属性的值是自动增加,这是MySQL的SQL语句的特色
username varchar(100) not null #字段、数据类型和长度值、不能为空
PRIMARY KEY #标识该属性为该表的主键,可以唯一的标识对应的元组
ENGINE #设置表的引擎和默认的字符类型,常见的数据库引擎InnoDB myisam
DEFAULT #为该属性设置默认值

以上都是约束条件。
常见的约束条件:

PRIMARY KEY #标识该属性为该表的主键,可以唯一的标识对应的元组
FOREIGN KEY #标识该属性为该表的外键,是与之联系某表的主键
NOT NULL #标识该属性不能为空
UNIQUE #标识该属性的值是唯一的
AUTO_INCREMENT #标识该属性的值是自动增加,这是MySQL的SQL语句的特色
DEFAULT #为该属性设置默认值

2、表格基础操作


1)修改表


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

alter table biao rename biao10;
ALTER TABLE 旧表名 RENAME 新表名;

2)修改字段数据类型


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


alter table biao10 modify username varchar(155);
ALTER TABLE 表名 MODIFY 属性名 数据类型;

3)修改字段名


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


alter table biao10 change username dayuname char(111);
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

4)增加字段名


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


alter table biao10 add shell char(111) not null;
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

5)删除字段


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


alter table biao10 drop shell;
ALTER TABLE 表名 DROP 属性名;

6)修改存储表引擎


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


alter table biao10 engine=myisam;
ALTER TABLE 表名 ENGINE = 存储引擎名;

五、数据库增删改查操作


1、表中所有字段添加数据


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

insert into biao1 (id,username,password) values (1,'dayu','123456');
# INSERT 语句中指定所有字段名

insert into biao1 values(null,'test','123456');
#INSERT语句中不指定字段名

2、为表的指定字段添加数据


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

insert into biao1 (username)values('dayu1');
#指定字段添加数据递增状态

insert into biao1 (id,username,password) values (null,'dayu','123456'),(null,'dayu3','1234567');
#增加多条方法

insert into biao1 values (null,'dayu','123456'),(null,'dayu3','1234567');
#增加多条方法

3、在表中删除数据


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


命令:

delete from biao1 where id=1; 
#这种方法删除数据后,在增加数据id会从后开始增添:8、9等等..

truncate table biao1;
#这种方法删除数据后,在增加数据id=1开始算

delete from biao1;
#全部删除

4、更改表中数据


渗透测试之地基服务篇:服务攻防之数据库Mysql(上)


更新数据指对表中现存的数据进行修改


命令:

update biao1 set password='56454' where id=2;

update biao1 set password='22222',username='root' where id=3;
#修改多种类型数据
update biao1 set password='123456';
#修改所有类型数据


六、总结


数据库基础是必备知识,一定要熟悉数据库Mysql底层是如何增删改查的,不然在注入数据库、渗透数据库时候就会无从下手!小伙伴们一定巩固今天讲到的基操、表操作等操作行为!

渗透测试之地基服务篇:服务攻防之数据库Mysql(上)

本文始发于微信公众号(疯猫网络):渗透测试之地基服务篇:服务攻防之数据库Mysql(上)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月15日04:08:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试之地基服务篇:服务攻防之数据库Mysql(上)http://cn-sec.com/archives/444499.html

发表评论

匿名网友 填写信息