mysql注入点直接提权利用

[复制链接]
查看268 | 回复0 | 2012-4-1 19:18:06 | 显示全部楼层 |阅读模式
1、magic_quote为off

2、可以写文件,最好有任意目录的写权限

3、最好有读文件的权限,但如果真没有也行

4、注入点需要是POST方式的(这样可以一次post128KB大小的文件)


为什么需要这么几个条件,后面我会详细的说,先说下我的思路,大家都知道,mysql也是可以写文件的,但大家可能更多的是用在写一个shell出来,其实我们也可以考虑写入一个其他类型的文件,比如exe、dll,这里我的思路就是通过dll方式来提权。先介绍一个Rices写的工具:T00lsLpkSethc。简单的说,通过该工具生成的dll文件,放在一个有exe文件的目录,那么等这个exe文件执行后,系统就被安装上了sethc后门,关于该工具的具体用法,叉子们可以百度一下。我就是想通过mysql的dumpfile方式,将这个lpk.dll文件写到一个存在exe的目录,等这个exe执行后,我们就提权成功了。这就是为什么我们需要magic_quote_gpc为OFF,因为这样我们才可以写文件,而可以写的目录越多那么成功率自然越大。为什么要有读取权限?因为我们并不知道目标网站的结构,也不知道哪里存在exe文件,那么我们可以先读取一些比较常见程序的安装目录下的敏感文件,比如说Navicat的localization里的default.loc文件,如果我们读取到了这个文件,那么基本可以确定了Navicat的目录,再写入dll文件的话,成功的概率会更高。为什么需要POST方式呢?因为这个dll虽然不大,但远远超过了GET的大小,所以需要是POST方式的注入点。好了,基本情况介绍到这,我们开始吧。-

首先本地构造一个注入点,这个我就不说了。我们首先要做的是得到这个dll文件十六进制形式。这个我们可以在本地完成,我使用navicat配合mysql,先打开navicat,连接上mysql,打开任意一个数据库,然后选择“查询



接着我们输入命令:“selecthex(load_file(‘f:/lpk.dll’))intooutfile‘f:/xxoo.txt’;”其中f:/lpk.dll就是dll文件的位置,后面则是十六进制方式输出的文件。直接完毕后,我们到F盘下看看,果然出现一个xxoo的文本文件,大小为118KB,虽然增大了不少但还在入侵就是这样,多学一种方法在入侵的时候就多一条路。


*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则