一次失败的APP业务渗透测试

作者:whoamiecho

来源:ichunqiu

本文参加i春秋社区原创文章奖励计划,未经许可禁止转载!
一.  过程
1.1、事情起因:暴力破解
测试给了个普通用户账号,可以登录。APP一来就要登陆,遇到这种情况只能先抓个登陆的包看看是个什么情况,登陆时抓取数据包如下:
111532rpmwvpqjy4koxcv5.png
发现验证码是本地验证的,并没有发送到服务端去。那就好办了,二话不说先爆破试试。
111542a10urjr0b0be1uw1.png
        爆破了半天也没爆破处能登陆的用户。过了一会儿发现,用户名带入引号时居然报错了。这样的情况要么是被拦截了,要么存在注入。不巧是后者。看来以后爆破的字典里面都要带入几个常用的fuzzing语句啊。
        登陆点注入先试试万能密码。结果没能登陆,只能走注入拿密码的道路了。先来看看注入点:

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

在loginCode字段后面加上单引号测试,发现报错。
020909osb6gg7sg5tov5tv.png
使用sqlmap对loginCode参数进行注入测试:
sqlmap.py -r C:\Users\echo\AppData\Local\Temp\\1478502827550.req –dbs
111827e2xjq20ds4civcrd.png
得到众多数据库:
111840beaietv3v24a2ao4.png
找当前数据库的管理员表,当我看到1762个表的时候腿都软了。我还是假装找了下,没找到。机制的管理员将好几个站点的数据库都放在了这里面,什么OA系统、BBS啊。香菇!
111853l6zrppb7jspjd0sz.png
不能这样干坐着。先用普通测试用户登录进去看看是个什么情况。一顿狂点抓包测试。服务端做的真的很烂,一堆SQL注入,XSS。其他的就不多说了。
111904qa9rlr19s486l8xb.png


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

为了看看app都有什么功能,开启fidder一顿狂点,抓了所有的包,一个一个看看,当看到下面这个包时,我嘴角微微上扬了45度。
http://*.*.*.*:*/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-6.0.41/webapps/jxzmcc/files/satflow27/9d102ebd32dca338053c49ea1d015b37.txt
明显的任意文件下载漏洞,还带入了绝对路径。
111952u50ge5j00tnnz7w6.png
构造链接下载网站源码:
http://*.*.*.*:*/AppBusi/Flow/sat_down.jsp?filePath=E:/apache-tomcat-6.0.41/webapps/jxzmcc/index.jsp
112004u949d6794943t9ch.png
提示是个后台管理。访问http://*.*.*.*:*/jxzmcc/index.jsp发现不能能访问。猜测这么几个情况:
1:访问端口不对。
2:网站只能APP访问。
3:在内网。

先用nmap扫一下端口看看有些什么对外的服务:nmap -vv -p 1-65535 *.*.*.*
112019n63i4frf3u9zef3w.png
发现唯一能访问的8080端口还是代理转发出来的。证明了网站在内网。现在只能通过下载文件来找其他的东西了。最先想到的就是下载web.xml,server.xml、tomcat-users.xml。但是WTF,管理员真的是太懒了,居然都没配置。
为了证明站点在内网,想到可以下载http访问日志。于是翻看了下本地tomcat日志存储的格式:
112044uys5py2jjhjbrh6r.png
构造好文件名: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。
112059nkiek2fnrf6ifea4.png
不出预料,访问均来自内网。又下载了几个日志,都是一样的情况。看来这个站是拿不到了,本以为到这里就要到头了。

1.3、转机出现
突然想到前面APP报错时候的tomcat版本不是6.0.41,而这里下载的站点的版本是6.0.41。说明这个站根本不在APP接口站的目录下。
通过访问不存在的链接,http://*.*.*.*:*/AppBusi/login.jsp121212报错显示出中间件版本信息。Tomcat/7.0.54
112120c5kq4i2ddszm52fq.png
如果两个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
113707mhn92xhxnhotbz4x.png
当前APP接口:http://*.*.*.*:*//AppBusi/login.jsp
另一个APP接口:http://*.*.*.*:*//JXZXAPP/xtgl/login.jsp
113737utpsfs9pl8lrefsb.png

1.4、意外收获-后台登陆密码找回漏洞
如果能选择APP或者WEB我会优先试试WEB站。是管理后台没有验证码,又尝试了爆破,每一个请求都302跳转,爆破失效。
113818y9rexexe99e324ex.png
113833wh5m2opyl3f3lzlr.png
运气真是不行。也没有注入什么的。身残志坚的我没有放过任何一个链接,点击了 “获取密码”。
113854q2npi22h0xychyun.png
网站提示未查到admin用户的手机号。
113908pvsqyclmusy5csfu.png
通过本地元素调试填入自己的手机号,发包。
113928x3mvz8hv9h3nz333.png
抓包:
113944m9knuoz6utronns3.png

腻害了我的哥,居然在在第二个数据包中看到密码:s3M1Kz
114031v58lorcf3m503lbb.png
通过动态密码成功登陆了后台。
114044zjr4oqdljvn6u9qq.png
但是并没有什么luan用。后台什么功能都没有。Getshll失败。


1.5、最后的挣扎


在心有不甘的情况下,找了找另一个APP接口的情况。首先想到找出这是个什么APP,看看能不能有所突破,结果发现这个APP和测试的APP功能基本相同。看来是没戏了。在日志中还找到了一个未授权访问的上传点:
114118to8x0i8xd8mxfmfi.png
访问:http://*.*.*.*:*//JXZXAPP/gdsl/upload1.jsp
114130rwm9qqs8cr5cm48w.png
不论上传什么都谈框,上传失败。路都死完了。SQL注入也没能找到后台登陆地址,相比也是徒劳。Oracle时DBA权限,但是却没能直接GETSHELL。

二.  来个小姐(结)
想说的一下几点:
1:jsp的任意文件下载不像php那样包含文件。要想利用目前比较好的方法就是下载中间件配置文件,日志文件。liunx的话可以尝试下载/ect/passwd等等。
2:信息泄露还是有用的从找到Tomcat/7.0.54版本确定目录存在,从而扩大了攻击面。
3:找回密码,暴力破解有时候还是能有意外收获。

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

转载于:https://my.oschina.net/ichunqiu/blog/810661

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值