windy_ll 发表于 2019-11-21 00:55

日常破解---XCTF_APP1获取flag记录

本帖最后由 windy_ll 于 2022-3-29 21:41 编辑

#日常破解---XCTF_APP1获取flag记录

---

##一、题目来源
**  来源:XCTF社区安卓题目app1**

---

##二、解题记录
**    1、首先安装到模拟器中运行一下,如下图所示,点击一下按钮,弹出提示`年轻人不要耍小聪明哦`**
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/4.PNG)


**    2、将APK文件拖进AndroidKiller中反编译,直接搜索关键字`年轻人`以确定按钮触发的事件位置,搜索结果如下图所示:**
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/6.PNG)

**    3、偷懒不看smali代码了,直接将apk拖进jeb中查看java代码(别问我为啥不要AndroidKiller,jeb转换出的java确实准确一些),java代码如下,分析代码可发现:程序首先获取输入框的值放进变量v1中,然后获取app的版本名称放进变量v3中,获取app的版本号放进变量v4中,接着在一个while循环中,将变量v3中每一个字符与变量v4进行异或操作,然后与变量v1(就是我们输入的flag)每一个字符相比较,若全部相等,则跳出循环,在循环外面又判断了一次我们输入的flag长度与变量v3长度是否相等,若不等,则弹出`年轻人不要耍小聪明哦`,若相等,则弹出`恭喜开启闯关之门!`。分析到这里,flag可以很明显看出来就是app的版本名称每一个字符与版本号异或之后组成的字符串就是flag!!!**
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/1.PNG)

**    4、获取版本号这些可以直接在smali中log就行了,但感觉太烦了,就直接使用Android studio动态调试smali直接查看寄存器的值获取,怎么动态调试就不说了,下图是动态调试获取的版本名与版本号**
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/3.PNG)

**    5、获取版本名称信息后,写个python脚本跑出flag如下,提交显示`恭喜开启闯关之门!`**
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/2.PNG)
![](https://cdn.jsdelivr.net/gh/windy-purple/blog_picture_bed//xctf_app1/5.PNG)

---

##三、总结
**    一道很基础的题,不知道总结啥了,就这样吧!!!!**   

**    附上python脚本:**
```
        str1 = 'X<cP[?PHNB<P?aj'

        for i in str1:
                m = ord(i) ^ 15
                print(chr(m),end='')
```

**&ensp;&ensp;&ensp;&ensp;PS:再次吐槽一波markdown粘贴python代码得把每行代码都tab才好看,需要跑脚本的把第一行第二行的缩进删除就行!!!!!**

NanKeYM 发表于 2019-11-21 09:49

前来学习学习

叮当东东当当 发表于 2020-8-1 14:55

看来你的帖子,然后去xctf找题,第一个是app漏洞第二题,可把我坑惨了。。。主要是在doRawData()里没注意看到j_j_j_AES_128_ECB_PKCS5Padding_Encrypt()这个函数,以为是自己写的函数对数据处理,然后想动态调试一下so,定位doRawData()一直定位不到,各种问题最后也没解决。实在没办法了去百度搜别人的解题过程了,现在心里还难受。

O火炉O 发表于 2019-11-21 07:57

感谢分享,估计自己CTF初赛都过不了。

aoyoudahai 发表于 2019-11-21 09:17

谢谢老师分享!

wchao 发表于 2019-11-21 09:22


祖玛系列都是很经典的

落幕‘ 发表于 2019-11-21 10:17

LZ 我想请教一个问题可以吗,

就是手机不利用任何软件怎么查一个app的类名

qq1534355592 发表于 2019-11-21 10:32

94dongge 发表于 2019-11-21 12:12

感谢分享

蝶梦倦客 发表于 2019-11-21 15:33

还是要多多学习,感觉都是大神

windy_ll 发表于 2019-11-21 17:37

落幕‘ 发表于 2019-11-21 10:17
LZ 我想请教一个问题可以吗,

就是手机不利用任何软件怎么查一个app的类名

应该不行吧
页: [1] 2 3
查看完整版本: 日常破解---XCTF_APP1获取flag记录