来源:ichunqiu
本文参加i春秋社区原创文章褒奖操持,未经容许禁止转载!
一. 过程
1.1、事情起因:暴力破解
测试给了个普通用户账号,可以登录。APP一来就要上岸,碰着这种情形只能先抓个上岸的包看看是个什么情形,上岸时抓取数据包如下:
创造验证码是本地验证的,并没有发送到做事端去。那就好办了,二话不说先爆破试试。
爆破了半天也没爆破处能上岸的用户。过了一下子创造,用户名带入引号时居然报错了。这样的情形要么是被拦截了,要么存在注入。不巧是后者。看来往后爆破的字典里面都要带入几个常用的fuzzing语句啊。
上岸点注入先试试万能密码。结果没能上岸,只能走注入拿密码的道路了。先来看看注入点:
GET /AppBusi/login.jsp?jsoncallback=jQuery16407473715976811945_1478502187123&loginCode=admin'&loginPass=111111&pf=1&_=1478502216927 HTTP/1.1Host: ...:
在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