打造Mac下APK逆向环境到实战接口XSS挖掘

Vulkey_Chen 2019年11月24日01:38:26评论506 views字数 1316阅读4分23秒阅读模式
摘要

想尝试逆向APK来发现一些接口和安全问题,但是Mac下没啥好用的APK逆向工具,于是我就参考文章:https://blog.csdn.net/jyygn163/article/details/71731786 的思路在Mac下使用homebrew安装:


打造Mac下APK逆向环境到实战接口XSS挖掘

前言

想尝试逆向APK来发现一些接口和安全问题,但是Mac下没啥好用的APK逆向工具,于是我就参考文章:https://blog.csdn.net/jyygn163/article/details/71731786 的思路在Mac下使用homebrew安装:

brew install apktool brew install dex2jar 

JD-GUI去http://jd.benow.ca/下载,这里我是用的是jar版。

过程

自动化编译

手动敲命令太繁琐了,写个shell脚本一键化。

.bash_profile文件(环境变量)加入这个命令alias apkdec="/Users/chen/HackBox/Tools/Android/ Decompile/DeApkScript.sh",这样当终端打开的时候就可以使用apkdec命令了,而脚本DeApkScript.sh的内容如下:

apktool d $1 && mv $1 $1.zip && unzip $1.zip "*.dex" -d $1_dex/ && cd $1_dex/ && d2j-dex2jar *.dex  

功能实现如下:

  • apktool获取资源文件
  • 将apk文件重命名为zip文件
  • 解压zip文件中的.dex文件
  • 切换解压目录
  • 将dex文件转换成jar文件

这样,最后只需要使用JD-GUI反编译JAR即可看见源码了。

实战

运行命令:

apkdec xxx.apk 

打造Mac下APK逆向环境到实战接口XSS挖掘

首先对classes-dex2jar.jar文件进反编译,但似乎在Mac下JD-GUI支持的不太好,所以我选择使用luyten(Download:https://github.com/deathmarine/Luyten/releases),如下是两张对比图:

打造Mac下APK逆向环境到实战接口XSS挖掘

漏洞挖掘

在luyten下使用Command+G快捷键全局搜索,搜索域名寻找接口(因为这个APP需要内部人员才能登录所以从正常的入口是无法找到接口进行漏洞挖掘的)

打造Mac下APK逆向环境到实战接口XSS挖掘

寻找了一番看见这样一个接口:

打造Mac下APK逆向环境到实战接口XSS挖掘

二话不说访问之,提示:

{"res_code":"-1008003","res_message":"参数错误","timeMillis":1542516229723} 

不懂Java的我一脸懵,但是天下语言都是互通的,大概的了解了代码的意思(可能理解的不到位,就不说出来误导了),于是找到这样一个函数:

打造Mac下APK逆向环境到实战接口XSS挖掘

从我的理解来看这个接口就是有这两个参数appId、userName,于是加入GET请求参数中请求:

Request: ?appId=123&userName=123 Response: {"res_code":"0","res_message":"成功","timeMillis":1542516495613,"extData":null,"data":[{"appId":"123","permissionTag":[""],"extData":null}]} 

其中appId的参数值返回在了页面中,该请求响应报文Content-Type: text/html,所以尝试构建XSS,运气好,确实也存在XSS问题:

打造Mac下APK逆向环境到实战接口XSS挖掘

总结

学习、不断的学习。

<< · Index · >>

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
Vulkey_Chen
  • 本文由 发表于 2019年11月24日01:38:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   打造Mac下APK逆向环境到实战接口XSS挖掘https://cn-sec.com/archives/74248.html

发表评论

匿名网友 填写信息