本文目录一览:
- 1、phpMyAdmin利用小结
- 2、phpmyadmin问题
- 3、高手救命,通过phpmyadmin 误删除mysql数据库 怎么恢复
- 4、怎么查看mysql undo日志所在组
- 5、如何用phpmyadmin记录sql用户操作日志
phpMyAdmin利用小结
在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
具体请参考:
CVE-2018-12613文件包含:
利用条件:
满足以下5个条件:
判断是否存在漏洞经过二次编码绕过
/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd
然后在sql语句中执行一些语句记录到日志,然后在包含即可
SELECT '?php phpinfo()?';
查询phpmyadmin cookie值(开发者工具查看)
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 渗透利用总结
phpmyadmin问题
就是你PHP没装好。。。
?php
phpinfo();
?
看下PHP装好没
高手救命,通过phpmyadmin 误删除mysql数据库 怎么恢复
看到一个这样的解决方式不知道能不能帮助你:
phpmyadmin的后台数据库是mysql,下面或许有用。
《mysql数据恢复工具-mysqlbinlog 使用说明》
要使用此功能,首先必须确保mysql配置文件“My.ini”中的
[mysqld] log-bin=log_name #开启二进制日志(其中log_name自己定义)
开启的作用就是开启mysql的二进制日志,然后才可以使用mysqlbinlog工具恢复数据,
开启之后通过在mysql中运行:
SHOW BINLOG EVENTS
来确认二进制日志的开启情况
mysqlbinlog有两种方式来恢复数据:(Mysqldatalog.exe在“MySql\bin\”目录下)
1.通过指定时间:
Mysqldatalog mysqlbinlog --start-date="2009-11-27 14:01:00" --stop-date="2009-11-27 14:59:59" log_name.000001 D:\01.txt -phpmyadmin日志
2.通过指定位置:
参数说明:
•–start-position=N 从二进制日志中第1个位置等于N参量时的事件开始读。
•–stop-position=N 从二进制日志中第1个位置等于和大于N参量时的事件起停止读。
Mysqldatalog mysqlbinlog --start-position=123 --end-position=456 log_name.000001 D:\01.txt
关于position的说明:position可以通过执行SHOW BINLOG EVENTS命令来查看 然后进入mysql中执行source 命令 mysqlsource D:\01.txt 恢复数据完成。 -phpmyadmin日志
最后说明:mysqlbinlog工具虽然很强大,但是为保数据不丢失最好还是跟备份数据同步使用。这样恢复数据就可以仅从最后一次备份开始到事故发生时间。
个人现在备份数据库都是采用“多备份”的多云盘自动备份,在怎么误删除也可以找的回来,有个好工具还是需要的
怎么查看mysql undo日志所在组
使用phpmyadin搜索功能中找到你想找的东东,在执行后,phpmyadmin会在生成查询结果的同时生成其对应的SQL语句,把这句话复制到你的PHP代码的mysql_query()函数里面就可以了
如何用phpmyadmin记录sql用户操作日志
1. 启用查询日志,把这个在/etc/my.cnf在[mysqld]部分log = /path/to/query.log
这个日志文件会变得非常大的一个繁忙的服务器上 更新: 因为MySQL 5.1.12的你general_log=1
与MySQL 5.1.29,该log选项已被否决。来指定general_log_file=/path/to/query.log
代替。看
2. 就拿这个回答另一个相关的问题一起来看看。它显示了如何启用,禁用和看直播服务器日志而不需要重新启动。 登录mysql的所有查询 这里是一个总结: 如果你不想或者无法重新启动MySQL服务器,你可以继续这样你运行的服务器上: 创建你的日志表(见答案) 启用查询日志记录的数据库上 (请注意,字符串'表'应该从字面上,而不是取代放任何表感谢尼古拉pg林)SET global general_log = 1;-phpmyadmin日志
SET global log_output = 'table';
查看日志select * from mysql.general_log
禁止对数据库的查询记录SET global general_log = 0;
3. 您可以禁用或启用的一般查询日志(记录所有查询)与SET GLOBAL general_log = 1 # (or 0 to disable)
4. MyAdmin 4.0 CodeGo.net,你去监视器。在那里,您可以启用慢查询日志和一般日志,看现场监控,选择图表的一部分,请参阅相关的查询和分析。
5. 你可以分析象PT-查询顾问的日志开源工具和有工具,以及像MONyog,MEM,JetProfiler等。 你可以参考在查询分析器工具。