来源:ichunqiu

本文参加i春秋社区原创文章褒奖操持,未经容许禁止转载!

一. 过程

jsp员工管理系统收获一次掉败的APP营业渗入渗出测试 SQL

1.1、事情起因:暴力破解

测试给了个普通用户账号,可以登录。
APP一来就要上岸,碰着这种情形只能先抓个上岸的包看看是个什么情形,上岸时抓取数据包如下:

创造验证码是本地验证的,并没有发送到做事端去。
那就好办了,二话不说先爆破试试。

爆破了半天也没爆破处能上岸的用户。
过了一下子创造,用户名带入引号时居然报错了。
这样的情形要么是被拦截了,要么存在注入。
不巧是后者。
看来往后爆破的字典里面都要带入几个常用的fuzzing语句啊。

上岸点注入先试试万能密码。
结果没能上岸,只能走注入拿密码的道路了。
先来看看注入点:

GET /AppBusi/login.jsp?jsoncallback=jQuery16407473715976811945_1478502187123&loginCode=admin'&loginPass=111111&pf=1&_=1478502216927 HTTP/1.1

Host: ...:

在loginCode字段后面加上单引号测试,创造报错。

利用sqlmap对loginCode参数进行注入测试:

sqlmap.py -r C:\Users\echo\AppData\Local\Temp\\1478502827550.req –dbs

得到浩瀚数据库:

找当前数据库的管理员表,当我看到1762个表的时候腿都软了。
我还是假装找了下,没找到。
机制的管理员将好几个站点的数据库都放在了这里面,什么OA系统、BBS啊。
喷鼻香菇!

不能这样干坐着。
先用普通测试用户登录进去看看是个什么情形。
一顿狂点抓包测试。
做事端做的真的很烂,一堆SQL注入,XSS。
其他的就不多说了。

1.2、重点来了-任意文件下载漏洞

为了看看app都有什么功能,开启fidder一顿狂点,抓了所有的包,一个一个看看,当看到下面这个包时,我嘴角微微上扬了45度。

http://...:/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-6.0.41/webapps/jxzmcc/files/satflow27/9d102ebd32dca338053c49ea1d015b37.txt

明显的任意文件下载漏洞,还带入了绝对路径。

布局链接下载网站源码:

http://...:/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-6.0.41/webapps/jxzmcc/index.jsp

提示是个后台管理。
访问http://...:/jxzmcc/index.jsp创造不能能访问。
预测这么几个情形:

1:访问端口不对。

2:网站只能APP访问。

3:在内网。

先用nmap扫一下端口看看有些什么对外的做事:nmap -vv -p 1-65535 ...

创造唯一能访问的8080端口还是代理转发出来的。
证明了网站在内网。
现在只能通过下载文件来找其他的东西了。
最先想到的便是下载web.xml,server.xml、tomcat-users.xml。
但是WTF,管理员真的是太

为了证明站点在内网,想到可以下载http访问日志。
于是翻看了下本地tomcat日志存储的格式:

布局好文件名:localhost_access_log.2016-10-31.txt。
访问:

http://...:/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-6.0.41/logs/localhost_access_log.2016-10-31.txt。

不出预见,访问均来自内网。
又下载了几个日志,都是一样的情形。
看来这个站是拿不到了,本以为到这里就要到头了。

1.3、转机涌现

溘然想到前面APP报错时候的tomcat版本不是6.0.41,而这里下载的站点的版本是6.0.41。
解释这个站根本不在APP接口站的目录下。

通过访问不存在的链接,http://...:/AppBusi/login.jsp121212报错显示出中间件版本信息。
Tomcat/7.0.54

如果两个tomcat的安装目录相同的话,E:/apache-tomcat-7.0.54/目录该当是存在的,抱着试一试的态度布局了另一个下载地址:

http://...:/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-7.0.54/logs/localhost_access_log.2016-10-31.txt

奇迹发生了。
我都佩服我自己,貌似看穿了管理员的套路。
在日志中创造了三个东西:

一个对外的管理后台:http://...:/jxc/login.jsp

当前APP接口:http://...://AppBusi/login.jsp

另一个APP接口:http://...://JXZXAPP/xtgl/login.jsp

1.4、意外收成-后台上岸密码找回漏洞

如果能选择APP或者WEB我会优先试试WEB站。
是管理后台没有验证码,又考试测验了爆破,每一个要求都302跳转,爆破失落效。

运气真是弗成。
也没有注入什么的。
身残志坚的我没有放过任何一个链接,点击了 “获取密码”。

网站提示未查到admin用户的手机号。

通过本地元素调试填入自己的手机号,发包。

抓包:

腻害了我的哥,居然在在第二个数据包中看到密码:s3M1Kz

通过动态密码成功上岸了后台。

但是并没有什么luan用。
后台什么功能都没有。
Getshll失落败。

1.5、末了的挣扎

在心有不甘的情形下,找了找另一个APP接口的情形。
首先想到找出这是个什么APP,看看能不能有所打破,结果创造这个APP和测试的APP功能基本相同。
看来是没戏了。
在日志中还找到了一个未授权访问的上传点:

访问:http://...://JXZXAPP/gdsl/upload1.jsp

不论上传什么都谈框,上传失落败。
路都去世完了。
SQL注入也没能找到后台上岸地址,比较也是徒劳。
Oracle时DBA权限,但是却没能直接GETSHELL。

二. 来个小姐(结)

想说的一下几点:

1:jsp的任意文件下载不像php那样包含文件。
要想利用目前比较好的方法便是下载中间件配置文件,日志文件。
liunx的话可以考试测验下载/ect/passwd等等。

2:信息透露还是有用的从找到Tomcat/7.0.54版本确定目录存在,从而扩大了攻击面。

3:找回密码,暴力破解有时候还是能有意外收成。

更多安全技能、佳构好文、白帽黑客大佬尽在:http://bbs.ichunqiu.com/portal.php