jsp mysql 注入_由Jsp+Mysql注入到root权限的全程展 【好久没有安全类文章了,转一篇看看】...

由Jsp+Mysql注入到root权限的全程展

最近有点空闲,所以写点垃圾文章来消磨一下时间.文中没有什么技术含量,如果要转载,请注明作者并保持文章的完整.

很多人可能都知道asp,php的编程要防止sql注入漏洞,而并不知道jsp编程同样也需要防备sql注入漏洞.其实,一旦jsp代码有注入漏洞,将直接影响到整个系统的安全。本文就是主要展示一下我的一次JSP+MYSQL注入导出webshell的过程。

www.***.***.cn是国内某一个著名研究所的网站,我们在这里对其进行善意的测试。当然,在写此文之前我已经将漏洞通知了网站管理员.并对文中所有的图片进行了处理,还粘贴了个我大三的时候自己发明的一个数学公式的图,希望让大家同时可以领会到数学更是博大精深(呵呵,当然研究数学更是人间正道).

1.寻找注入点

进入其首页,在新闻里面随便点了个新闻浏览,习惯地在其地址后面加个单引号’,链接上去后出现如图1所示。

0818b9ca8b590ca3270a3433284dd417.png (图1)

从图中的信息容易看出此网站的数据库中有个表的名字(tablename)是zhxw。可惜的是看不到web路径。把引号’改为 and 1=1则返回正常页,而改为 and 1=2 则出现错误页.从而可以断定有注入漏洞.再用telnet探测此主机器的3306端口,返回如图2所示的结果。

0818b9ca8b590ca3270a3433284dd417.png(图2 )

由此可以断定此网站的数据库程序是mysql。.

2.猜解表名

有了注入点,我们就会想到用union来构造sql语句。我们开始猜测表zhxw的字段数,在注入点的地址后面加上union select 1 得到错误页面如图3所示。

0818b9ca8b590ca3270a3433284dd417.png (图3 )

逐步在union select 1后面加上四个数字2,3,4,5后均出现图3的情况(注意每加一个数字的时候都要用个逗号,来隔开).看来字段数量不对。当在注入点地址后面加上union select 1,2,3,4,5,6 就返回一个正常的页面。说明表zhxw的字段数就是6.现在就可以来手工猜测一些常见的表名。很快想到就是admin表,在注入点地址后面加上union select 1,2,3,4,5,6 from admin,并把id=后面的1530改成一个不存在的id例如-1,结果出现如图4所示。

0818b9ca8b590ca3270a3433284dd417.png(图4 )

说明表admin是存在的,且可以在数字2和3处插入表的字段名或者mysql自带的函数来获取数据库的信息.现在来猜测admin表的字段名及其值.经手工猜测得到了admin表的字段名adminname和adminpwd的值如图5所示.

0818b9ca8b590ca3270a3433284dd417.png(图5 )

3.找web路径及web管理入口

记得angel的文章<

>里面有个非常重要的函数load_file().我们现在就用这个函数来查找web路径.经测试发现在数字2处用load_file()函数替换后显示出来的结果不全,但是在数字3处用load_file()函数替换后显示出来的结果很全.我估计是与表zhxw的字段长度有关.而且我猜测此系统是unix的系统.所以我在先从根目录处查找web路径!如图6所示.

0818b9ca8b590ca3270a3433284dd417.png(图6 )

图6中的画线处的www应该存放了web的目录,再用load_file(‘/www’),得到web确切路径是/www/ping(我这里用ping代替了其www后面的那个真实的目录名).并找到了/www/ping目录下有个bbs目录及后台管理页adminlog.jsp.

4.获取服务器一般权限的shell

有了管理页面我们自然想得到要通过图5中的帐号登录进去并上传个JSP WEBSHELL,可是令人失望的是用这个帐号登录的时候发现既没有报错也没有成功登录进去.后来才从bbs目录下的readme.txt得知此bbs只允许其网站内部网ip进行管理,所以此路不通.其次,我们自然会想到查找mysql的root口令来获取shell.所以想看看index.jsp的源代码是否调用了个公共的数据库连接文件,然后我们再查看这个公共数据库连接文件源代码中的数据库连接信息.我们在这里用语句’load_file()…into outfile’来查看jsp源代码;所以我们在ie中提交http://www.xxx.xxx.cn/content.jsp?tablename=kydt&id=390003%20union%20select%201,2,load_file('/www/ping/index.jsp'),4,5,6%20from%20admin into outfile ‘/www/ping/ping.txt’,然后在ie中输入http://www.xxx.xxx.cn/ping.txt就得到了index.jsp的源码.令人吃惊的是,index.jsp并没有调用个数据库连接的公共文件,而是把数据库的连接信息直接写在代码中了,并且得到mysql帐户root的口令就是空。这时我们有了mysql的root的口令,想试一试远程连接此mysql服务器。但是我们想起了图2中的信息”Host 'xxx.xxx.xxx.170' is not allowed to connect to this MySQL server”,就知道从本地连接此网站的mysql数据库是连不上的!看来此路也不通.这时,我们就要去用社会工程学了。先看看此服务器是否开放了22,23端口,发现服务器开放了23端口,再用load_file()函数来获得文件/etc/passwd的信息。由文件/etc/passwd的信息我手工测试其telnet服务的弱口令,很幸运,我找到了五个有弱口令的帐号,用其中的一个帐号登录后得到的shell如图7所示.

0818b9ca8b590ca3270a3433284dd417.png(图7 )

从图中易看出操作系统还是sunos5.8.

5.提升权限

有了低权限的shell自然想到去下载与sunos5.8相关的exploit来提升权限.我找了很久就是没有找到有效的exploit.既然我们已经有了个shell,那么我们就可以在shell里面登录他的mysql服务器了.如果mysql是以root身份运行的话,我们就可以用文<< How apache.org was defaced>>及文<< MySQL UDF Dynamic Library Exploit>>中的方法来提升权限了.结果失败了,错误信息如图8和图9所示.

0818b9ca8b590ca3270a3433284dd417.png (图8 )

0818b9ca8b590ca3270a3433284dd417.png(图9 )

错误原因估计是与操作系统有关,因为我用这两种方法在linux的系统上测试成功了!哎,看来山穷水尽了!于是对此服务器的渗透暂停了一下。可能休息后头脑比较清醒,思想的火花一下就冒出来。这个时候我想起一篇入侵Tomcat的文章,里面提到上传JSP后门到web路径下后直接就得到了root权限!于是,我就在shell下用wget命令从我的肉鸡上传了个JSP的后门到web路径下面。然后用ie测试了一下权限,竟然发现这个WEBSHELL就是root权限,如图10所示。

0818b9ca8b590ca3270a3433284dd417.png(图10 )

6.注入导出webshell

6.注入导出webshell

假设我们没有得到他的telnet的弱口令,那如何来得到此站的webshell?angel在文<> 及文<>中研究了由mysql注入导出文件得到webshell的方法.很多人可能觉得他的方法局限性大. 因为当php.ini中magic_quotes_gpc = on时,运用into outfile导出文件的时候会不成功!但是jsp+mysql的网站就没有magic_quotes_gpc = on这样的设置.所以说他的方法在jsp+mysql注入中发出了耀眼的光芒!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Divide and conquer:Dropping tests(POJ 2976)

最大化平均值 题目大意&#xff1a;给定你n个分数&#xff0c;从中找出k个数&#xff0c;使∑a/∑b的最大值 这一题同样的也可以用二分法来做&#xff08;用DP会超时&#xff0c;可见二分法是多么的实用呵&#xff01;&#xff09;&#xff0c;大体上是这样子&#xff1a;假设最…

java中标准封装结构_java中的构造,封装

今天给大家讲一下面向对象中的构造&#xff0c;封装&#xff1b;构造&#xff1a;构造方法有以下几个特点&#xff1a;1.方法名和类名一致。2.无返回类型。接下来的几种构造样式&#xff0c;直接上代码吧&#xff1a;//这是一个宠物类 有一个属性&#xff1a;名字(name)public …

《白日梦想家》观后感

To see the world, things dangerous to come to, To see behind walls, to draw closer, To find each other and to feel That is the Purpose of LIFE.” 这部片子我很喜欢&#xff0c;大概我在现实生活中&#xff0c;也就是一个梦想家吧。想过很多事&#xff0c;但是真正去…

linux隐藏tomcat版本_Ubuntu 14.04隐藏Tomcat-7.0.52的版本号与操作系统类型

一般情况下&#xff0c;软件的漏洞信息和特定版本&#xff0c;特定操作系统是相关的&#xff0c;因此&#xff0c;软件的版本号以及操作系统类型对攻击者来说是很有价值的。在默认情况下&#xff0c;Tomcat会在返回信息中把自身的版本号&#xff0c;操作系统类型都显示出来&…

自定义tabbar

/** * 注意&#xff1a;* 打开自定义tabbar的背景视图的交互* 选中的tabb视图高度为tabbar背景视图的高度/2-选中视图高度/2* 选中视图加载到tabbar背景视图上* label注意居中&#xff0c;imgView注意选择适应模式&#xff0c;都加载到tabbar背景视图* 设置点击手势的点击事件…

php7与apache整合,apache集成php7.3.5的详细步骤

安装 php首先安装 php 的压缩包&#xff0c;目前下载地址解压文件到这个路径下&#xff1a;D:Program Filesphp-7.3.5(自行选择合适的路径).然后将这个路径加入到环境变量 path 中。然后打开 cmd 运行php -version,输出类似如下&#xff0c;说明安装成功。PHP 7.3.5 (cli) (bui…

php后门 佛像,35张活的再久,也未必见过的照片,图2是佛像通过CT扫描后内部照...

今天这组照片可能很多人都是一次见到&#xff0c;包括小编本人看了也十分惊讶。最大的感触是&#xff0c;很多的商品居然是这么做出来的&#xff0c;看完了才有一种豁然开朗的感觉&#xff0c;废话不多说一起看看吧。鸡蛋里面套鸡蛋1000年前佛像&#xff0c;经过CT扫描后&#…

droidbox官网

droidbox官网&#xff0c;droidbox已经移植到github上了 https://github.com/pjlantz/droidbox 转载于:https://www.cnblogs.com/nightnine/p/5169261.html

java实现缓存中间件,Redis,分布式系统中不可少的缓存中间件

1.为什么要用缓存内存在整个计算机系统来说也就是一个缓存&#xff0c;CPU操作内存速度很快&#xff1b;因为操作数据的时候&#xff0c;先从硬盘中取出数据放到内存中&#xff0c;然后CPU操作数据缓存&#xff1a;提升访问效率&#xff0c;将一些频繁访问地放在缓存里面image.…

matlab自带的人脸分类器,基于MATLAB,运用PCA+SVM的特征脸方法人脸识别

概述&#xff1a;此文章将要描述一种基于MATLAB平台&#xff0c;运用PCA主成分分析方法对图片数据进行降维&#xff0c;运用SVM支持向量机分类器对降维后的图片数据进行分类处理&#xff0c;从而达到人脸识别的目的。首先要感谢以下几篇文章的作者(后面引用会标识文章标号)2.PC…

J2EE的13个规范之(二) JDBC 及其使用

我想大家都知道ODBC是什么&#xff1f;ODBC(OpenDatabaseConnectivity。开放数据库互连)是微软公司开放服务结构(WOSA&#xff0c;WindowsOpenServicesArchitecture)中有关数据库的一个组成部分。它建立了一组规范&#xff0c;并提供了一组对数据库訪问的标准API&#xff08;应…

被恶意上传了.php,轻松解决网站被恶意镜像

老听说有人的网站被恶意镜像&#xff0c;于是我先收藏几种解决方法。镜像站看似一个完整的站点&#xff0c;其实每次用户访问镜像站点&#xff0c;他的小偷程序就会来正版的网站查询数据&#xff0c;并修改相关链接然后呈献给用户。实质上还是在读取原站的数据&#xff0c;我们…

【代码笔记】iOS-对UIView进行截图

一&#xff0c;效果图。 二&#xff0c;工程图。 三&#xff0c;代码。 RootViewController.m #import "RootViewController.h"interface RootViewController ()endimplementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBund…

mysql中括号_干货!Python与MySQL数据库的交互实战

作者 | Huang supreme&#xff0c;责编 | 郭芮头图 | CSDN 下载自视觉中国安装PyMySQL库如果你想要使用python操作MySQL数据库&#xff0c;就必须先要安装pymysql库&#xff0c;这个库的安装很简单&#xff0c;直接使用pip install pymysql&#xff1b;假如这种方式还是安装不上…

苹果天气不显示_热门天气APP被苹果拿下,安卓用户不能再使用

近日&#xff0c;Android平台最受欢迎的订阅式天气APP之一Dark Sky官方宣布其被苹果收购。收购后&#xff0c;Android和Wear OS上的Dark Sky APP都会在2020年7月1日下架&#xff0c;届时将关闭服务并提供退款&#xff0c;iOS版APP则不受影响。Dark Sky天气预报Dark Sky服务早就…

求n的阶乘的算法框图_算法|从阶乘计算看递归算法

欢迎点击「算法与编程之美」↑关注我们&#xff01;本文首发于微信公众号&#xff1a;"算法与编程之美"&#xff0c;欢迎关注&#xff0c;及时了解更多此系列文章。1理解递归“程序设计是实践计算机思维的重要手段”。程序设计的三种特征就是封装、继承和多态。而对于…

Python成长之路_装饰器

一、初入装饰器 1、首先呢我们有这么一段代码&#xff0c;这段代码假设是N个业务部门的函数 1 def f1(aaa): 2 print(我是F1业务) 3 if aaa f1: 4 return ok 5 6 def f2(aaa): 7 print(我是F2业务) 8 if aaa f2: 9 return ok 业务代码这里的…

python卸载_删除系统 Python 引发的惨案

这个案例告诉我们&#xff0c;千万不要动系统自带的 Python&#xff0c;Win系统除外文 | fanzhenyu 出处 | http://fanzhenyu.cn/由于无知&#xff0c;卸载 Ubuntu 自带的 python3 引发惨案&#xff0c;谨记&#xff0c;深刻反思。惨案由于实验需要使用 Python3.6 以上版本&…

python3迭代器是什么,python3 迭代器

1. 想要了解 迭代器 &#xff0c;需要先 知道什么是 可迭代对象。简单点说&#xff0c;可以直接作用于for循环的对象&#xff0c;称之为可迭代对象(Iterable)。1.png可迭代对象&#xff0c;一定实现了__iter__方法。isinstance內建函数&#xff0c;可以判断一个对象是否是某个类…

边缘检测robert原理_机器视觉尺寸检测基础

尺寸测量/边缘检测利用边缘检查的尺寸检查是图像传感器的最新应用趋势。图像传感器可以将检查对象在平面上表现出来&#xff0c;通过边缘检测,测算位置、宽度、角度等。下面将按照处理过程来介绍边缘检查的原理。理解原理有助于优化检查设置。除此之外&#xff0c;还将介绍一些…