科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道网络安全Mysql UDF提权

Mysql UDF提权

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 今天闲的无聊DEDECMS搞了几个站。没事做提权吧。真的很久很久没有玩这东西了。

来源:zdnet整理 2011年9月1日

关键字: 网络安全 网络入侵

  • 评论
  • 分享微博
  • 分享邮件

  

  今天闲的无聊DEDECMS搞了几个站。没事做提权吧。真的很久很久没有玩这东西了。

  测试经典的UDF.dll提权一次性成功。

  

  dedecms的账号和密码都保存在data/common.inc.php里面;下载common.inc.php查看账号密码你懂的。

  首先用菜刀上传UDF.php;然后输入账号密码啥的也就连接成功了。

  作者:

  二、适用场合:1.目标系统是Windows(Win2000,XP,Win2003);2.你已经拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数(MYSQL文档原语)。

  三、使用帮助:

  第一步:将PHP文件上传到目标机上,填入你的MYSQL账号经行连接。

  

  第二步:连接成功后,导出DLL文件,导出时请勿必注意导出路径(一般情况下对任何目录可写,无需考虑权限问题),对于MYSQL5.0以上版本,你必须将DLL导出到目标机器的系统目录(win 或 system32),否则在下一步操作中你会看到"No paths allowed for shared library"错误。

  

  第三步:使用SQL语句创建功能函数。语法:Create Function 函数名(函数名只能为下面列表中的其中之一) returns string soname '导出的DLL路径';对于MYSQL5.0以上版本,语句中的DLL不允许带全路径,如果你在第二步中已将DLL导出到系统目录,那么你就可以省略路径而使命令正常执行,否则你将会看到"Can't open shared library"错误,这时你必须将DLL重新导出到系统目录。

  

  如果执行:

  create function cmdshell returns string soname 'udf.dll'

  出现:

  数据库查讯出错,请检查SQL语句create function cmdshell returns string soname 'udf.dll'的语法是否正确。Function 'cmdshell' already exists

  解释:

  在有些版本的MYSQL上确实会发生这事.这是一个MYSQL的BUG,官方描述如下:

  http://bugs.mysql.com/bug.php?id=15439

  Description:

  Under some circumstances, case handling of UDF names leads to strange behaviour.

  This can result in a situation where the function can be successfully dropped

  without actually removing the corresponding entry from the mysql.func table.

  …………

  --------------------------------

  解决这个问题你可以输入手工输入

  delete from mysql.func where name='cmdshell'

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章