mysql数据库·怎么用phpmyadmin创建事件

mysql数据库·怎么用phpmyadmin创建事件,第1张

1、phpMyAdmin是一款web数据库管理软件,这款软件是数据库管理软件web软件中非常实用的。

2、先进入到网站管理的面板,在面板里找到 phpMyAdmin 4.0 点击对应的小方框,

3、点击旁边小方框后会新开一个页面,可能在访问这个页面的时候会让输入用户名、密码的口令,将口令输入进去

4、登录成功后就进入了phpMyAdmin 的主控制面板了,面板显示了导入、导出、状态、用户等功能。还有就是数据库服务器的一些软件参数,如协议版本等信息。

5、在面板的左侧,列出了所有的数据库,点击数据库名称前面的+号可以展开数据库查看数据库中所有的数据表

6、点击数据表名,会打开点击数据表,会显示点击数据表的数据,前30条数据。因为是web的管理软件所以在处理大量数据的查询或者其他 *** 作时会显得特别的消耗时间,但是使用web管理数据库不都是临时的情况下使用么。

ON DELETE、ON UPDATE表示事件触发限制,可设参数:

RESTRICT(限制外表中的外键改动)

CASCADE(跟随外键改动)

SET NULL(设空值)

SET DEFAULT(设默认值)

NO ACTION(无动作,默认的)

数据库 mysql 建立外键的前提:本表的列必须与外键类型相同(外键

必须是外表主键)。

外键作用: 使两张表形成关联,外键只能引用外表中的列的值!

指定主键关键字: foreign key(列名)

引用外键关键字: references <外键表名>(外键列名)

事件触发限制: on delete 和on update , 可设参数cascade(跟随外键改

动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设

默认值),[默认]no action

例如:

outTable 表主键 id 类型int

创建含有外键的表:

create table temp(

id int,

name char(20),

foreign key(id) references outTable(id) on delete cascade on update

cascade)

说明:把id 列设为外键参照外表 outTable 的id 列当外键的值删除

本表中对应的列删除当外键的值改变本表中对应的列值改变。

自己实践 才能完全了解外键的作用关键是:事件触发限制的作用

restrict 在没有删除引用id 的时候不允许删除背引用id

no action 在没有删除引用id 的时候不允许删除背引用id

cascade 级联删除

set null 在删除被引用id 的时候会把引用id 置为空

有时没有外键设置选项是怎么回事呢?是因为storage engine 的原因,

设置为ENGINE= InnoDB 就可以了。

用 phpmyadmin 怎么建MySQL 的外键

在 PHPMYADMIN 中暂时还没有见到所见即所得的外键定义方式.

你可以使用SQL指令去建立

语法如下:

ALTER TABLE 表名ADD FOREIGN KEY (字段名) REFERENCES

表名(字段名)

如果直接删除外键,会报错

首先先找到该外键的名称,FK_Relationship_77

先 *** 作删除外键名称

alter table tbl_products drop foreign key FK_Relationship_77

然后在 *** 作删除字段

alter table tbl_products drop column ProductLogicClassesId

下面是一个实例

首先,目前在产品环境可用的MySQL 版本(指4.0.x 和4.1.x)中,

只有 InnoDB 引擎才允许使用外键,所以,我们的数据表必须使用

InnoDB引擎。

下面,我们先创建以下测试用数据库表:

CREATE TABLE `roottb` (

`id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,

`data` VARCHAR(100) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) TYPE=InnoDB

CREATE TABLE `subtb` (

`id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,

`rootid` INT(11) UNSIGNED NOT NULL DEFAULT '0',

`data` VARCHAR(100) NOT NULL DEFAULT '',

PRIMARY KEY (`id`),

INDEX (`rootid`),

FOREIGN KEY (`rootid`) REFERENCES roottb(`id`) ON DELETE

CASCADE

) TYPE=InnoDB

注意:

1、必须使用InnoDB引擎;

2、外键必须建立索引(INDEX);

3、外键绑定关系这里使用了“ ON DELETE CASCADE”,意思是如果

外键对应数据被删除,将关联数据完全删除,更多信息请参考MySQL

手册中关于InnoDB的文档;

好,接着我们再来插入测试数据:

INSERT INTO `roottb` (`id`,`data`)

VALUES ('1', 'test root line 1'),

('2', 'test root line 2'),

('3', 'test root line 3')

INSERT INTO `subtb` (`id`,`rootid`,`data`)

VALUES ('1', '1', 'test sub line 1 for root 1'),

('2', '1', 'test sub line 2 for root 1'),

('3', '1', 'test sub line 3 for root 1'),

('4', '2', 'test sub line 1 for root 2'),

('5', '2', 'test sub line 2 for root 2'),

('6', '2', 'test sub line 3 for root 2'),

('7', '3', 'test sub line 1 for root 3'),

('8', '3', 'test sub line 2 for root 3'),

('9', '3', 'test sub line 3 for root 3')

我们先看一下当前数据表的状态:

mysql>show tables

+----------------+

| Tables_in_test |

+----------------+

| roottb |

| subtb |

+----------------+

2 rows in set (0.00 sec)

mysql>select * from `roottb`

+----+------------------+

| id | data |

+----+------------------+

| 1 | test root line 1 |

| 2 | test root line 2 |

| 3 | test root line 3 |

+----+------------------+

3 rows in set (0.05 sec)

mysql>select * from `subtb`

+----+--------+----------------------------+

| id | rootid | data |

+----+--------+----------------------------+

| 1 | 1 | test sub line 1 for root 1 |

| 2 | 1 | test sub line 2 for root 1 |

| 3 | 1 | test sub line 3 for root 1 |

| 4 | 2 | test sub line 1 for root 2 |

| 5 | 2 | test sub line 2 for root 2 |

| 6 | 2 | test sub line 3 for root 2 |

| 7 | 3 | test sub line 1 for root 3 |

| 8 | 3 | test sub line 2 for root 3 |

| 9 | 3 | test sub line 3 for root 3 |

+----+--------+----------------------------+

9 rows in set (0.01 sec)

嗯,一切都正常,好,下面我们要试验我们的级联删除功能了。

我们将只删除roottb 表中id 为2 的数据记录,看看subtb 表中rootid

为2 的相关子纪录是否会自动删除:

mysql>delete from `roottb` where `id`='2'

Query OK, 1 row affected (0.03 sec)

mysql>select * from `roottb`

+----+------------------+

| id | data |

+----+------------------+

| 1 | test root line 1 |

| 3 | test root line 3 |

+----+------------------+

2 rows in set (0.00 sec)

mysql>select * from `subtb`

+----+--------+----------------------------+

| id | rootid | data |

+----+--------+----------------------------+

| 1 | 1 | test sub line 1 for root 1 |

| 2 | 1 | test sub line 2 for root 1 |

| 3 | 1 | test sub line 3 for root 1 |

| 7 | 3 | test sub line 1 for root 3 |

| 8 | 3 | test sub line 2 for root 3 |

| 9 | 3 | test sub line 3 for root 3 |

+----+--------+----------------------------+

6 rows in set (0.01 sec)

subtb 表中对应数据确实自动删除了,测试成功。

结论:在MySQL中利用外键实现级联删除成功!

在phpmyadmin根目录下后面添加:

在fofa上搜索相应站点进行测试:

Trick:如何判断目录是否存在,往往确定了/var/www/html目录,但是还有一层目录不能 确定,可以采用目标域名+常用的网站根目录的方式进行爆破,当使用

不存在将会报错Can't create/write to file '/var/www/html/666.txt' (Errcode: 2);

如果存在但是目录写不进去将返回(Errcode: 13);

利用过程:

1、获取网站绝对路径

2、判断是否有读写权限:

版本5.5.53之前默认为空,之后的版本默认为null

这个值是只读变量,只能通过配置文件修改,且更改后需重启服务才生效

3、写入shell到网站根目录下

原理:MySQL5.0版本以上会创建日志文件,phpmyadmin有一个记录日志的文件,但是一般情况下会关闭。通过修改日志的全局变量,打开日志并指定日志保存路径,设置日志记录名称为.php

查询日志全局变量:

打开日志全局变量:

设置日志保存路径:

进行查询,使查询的语句写入日志文件中:

原理:只有当查询语句执行的时间要超过系统默认的时间时,该语句才会被记入进慢查询日志

启用慢查询日志(默认禁用):

修改slow_query_log_file日志文件的绝对路径以及文件名:

慢查询时间值:

如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中

通常情况下执行sql语句时的执行时间一般不会超过10s,所以说这个日志文件应该是比较小的,而且默认也是禁用状态,不会引起管理员的察觉。

向日志文件写入shell:

phpmyadmin反序列化漏洞任意文件读取(WooYun-2016-199433)

影响phpMyAdmin 2.x版本,poc如下:

CVE-2016-5734 RCE:

利用条件:

主要原因由于将用户输入的信息拼接进preg_replace函数第一个参数中,而在PHP5.4.7以前,preg_replace存在漏洞,可以0进行截断,并将正则模式修改为e,进而执行命令。

在Kali中有自带的EXP

具体请参考: https://www.jianshu.com/p/8e44cb1b5b5b

CVE-2018-12613文件包含:

利用条件:

满足以下5个条件:

判断是否存在漏洞经过二次编码绕过

/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

然后在sql语句中执行一些语句记录到日志,然后在包含即可

SELECT '<?php phpinfo()?>'

查询phpmyadmin cookie值(开发者工具查看)

http://192.168.75.130:8080/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_ff16b4962b5343089c8fcd4c58df53ba

CVE-2014 -8959:本地文件包含

利用条件:

POC:

在实际利用中可以利用写入文件到/tmp目录下结合此漏洞完成RCE,php版本可以通过http header、导出表内容到文件的附加内容看到。

CVE-2013-3238:

利用条件:

msf有相应的利用模块:

exploit/multi/http/phpmyadmin_preg_replace

CVE-2012-5159:

利用条件:

msf有相应的利用模块:

exploit/multi/http/phpmyadmin_3522_backdoor

CVE-2009-1151:

PhpMyAdmin配置文件/config/config.inc.php存在命令执行

利用条件:

msf有相应的利用模块:

exploit/unix/webapp/phpmyadmin_config

弱口令&万能密码:

弱口令:版本phpmyadmin2.11.9.2, 直接root用户登陆,无需密码

万能密码:版本2.11.3 / 2.11.4,用户名’localhost’@'@”则登录成功

phpMyAdmin渗透利用总结

phpMyAdmin 渗透利用总结


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11390856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存