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

作者:whoamiecho

来源:ichunqiu

本文参加i春秋社区原创文章奖励计划,未经许可禁止转载!
一.  过程
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

时间: 2024-10-27 08:17:02

一次失败的APP业务渗透测试的相关文章

网站渗透测试原理及详细过程

网站渗透测试原理及详细过程 渗透测试(Penetration Testing)目录 零.前言一.简介二.制定实施方案三.具体操作过程四.生成报告五.测试过程中的风险及规避参考资料FAQ集 零.前言 渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为. 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethical hacking),因此我们这里的所有读者应当都是Ethical Hackers,如果您还不是,那么我希望您到过这里后会成为他们中的

Android恶意代码分析与渗透测试

这篇是计算机类的优质预售推荐>>>><Android恶意代码分析与渗透测试> 从环境构建到分析,涵盖服务体系全过程:以线上线下技巧为基础,展现虚拟环境渗透测试真方法 编辑推荐 从环境构建到分析,涵盖服务体系全过程 以线上/线下技巧为基础,展现虚拟环境渗透测试真方法 内容简介 本书由"恶意代码分析"和"移动服务诊断"两大主题组成.各章节包含了分析步骤,作者们还亲自编写了黑客大赛应用程序试题,读者可以借此复习学过的内容. Androi

互联网App应用程序测试流程及测试总结

近年来随着移动互联网发展迅猛,APP也进行了爆发式的增长,相应的APP的测试检测就摆在每家企业眼前,以下是由国内应用安全检测团队-爱内测(www.ineice.com)的CTO为我们介绍App应用程序测试流程及测试总结: 1. APP测试基本流程 1.1流程图 仍然为测试环境 Pass 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管确认项目排期. 1.3测试资源 测试任务开始前

[Kali_Nethunter] Kali 推出Android端渗透测试系统Nethunter

我们倾注了很大的精力开发了一款测试软件隐私和安全的工具,叫做Kali Linux.它是基于Debian操作系统并由Offensive Security公司策划和研发的,综合了渗透测试和网络监控工具的功能. 今天Kali开发团队和Offensive Security公司发布了一个运行在Google Nexus设备上的一个新的Kali项目,叫做NetHunter,增加了浏览器驱动设备,它可以在无线网络或者无人看守的计算机上通过USB连接启动攻击. NetHunter还处在早期阶段,但已经包含了无线网

Metasploit 渗透测试魔鬼训练营读书笔记(连续更新一)

1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防战术与作战能力.在信息科技的发源地--美国的军事演习中,将美军称为"蓝军",将假想敌称为"红军",而这种军事演习的方式也在20世纪90年代时,由美国军方与国家安全局引入到对信息网络与信息安全基础设施的实际攻防测试过程中.由一群受过职业训练的安全专家作为"红队"(Red Team),对接受测试的防御方"蓝队

Android平台下渗透测试工具大集合

Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.android.com/details?id=com.lookout.addetector App Backup & Restore (1.0.5): http://market.android.com/details?id=mobi.infolife.appbackup App Cache Cleaner (

Kali Linux渗透测试五步曲

Kali Linux的设计目的是渗透测试.不管渗透测试者的起点是白盒测试.黑盒测试,还是灰盒测试,在用Kali或其它工具进行渗透测试时,总要遵循一些步骤. 第一步:侦察阶段 在发动攻击之前,渗透测试者应当尽量多地了解目标环境和系统的特点.渗透测试者找到的目标信息越多,就越有更好的机会确认最容易和最快的成功方法.与白盒测试相比,黑盒测试要求进行更多的侦察,因为测试者并没有获得太多的数据.侦察服务可能包括调查目标的互联网足迹.监视资源.监视人员.过程等,扫描网络信息(如IP地址和系统类型),社会工程

渗透测试的一些总结

今天听了大牛们的各种讲解,心里感触特别深刻,作为一名渗透新手,我总结一些渗透技巧 1.  原理是关键 你可以看这些书,务必仔细的阅读,只有深刻理解才能成为大牛 A. SQL注入攻击与防御 B. 上传漏洞攻击与防御 C. XSS跨站脚本攻击与防御 D. 命令执行漏洞攻击与防御 E.  Kali渗透测试实战 F.  Sqlmap 使用教程 G. Burpsuit使用教程 H. WVS   使用教程 2.  工具要熟悉 A. Burpsuit工具使用 B. Sqlmap工具使用 C. WVS工具使用

《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透

继续来学习metasploit...记好笔记是很重要的,下面开始正文: 二.WEB应用渗透技术 1.WEB应用渗透基础知识 先介绍WEB应用攻击的主要类型(大致介绍,具体请自行查询) Sql注入攻击:大致分为 普通注入和盲注 跨站脚本(XSS): 分为存储型XSS,反射性XSS以及DOM型XSS 跨站伪造请求(CSRF):以XSS方式注入一段脚本,受害者点击该脚本时,脚本伪造受害者发出请求. 会话认证管理缺陷:验证身份的功能存在缺陷. 安全误配置:开发和管理人员的失误导致存在漏洞. 不安全密码存