阿里ctf-2014 android 第三題——andriod模擬器安裝

EvilAPK-300

該破解程序jscrack主界面包含兩個控件:
1)URL輸入框
2)進入”按鈕“
要求自己構造一個網頁,並把網頁對應的URL輸入到URL輸入框控件,然後,點擊”進入”按鈕,jscrack會打開webview瀏覽你的網頁,如果jscrack能彈出一個Toast,就證明已經成功破解,同時Toast顯示的內容就是這個題目的flag。

說實話這道題目學到了許多知識,有些還是強迫去學的。

以往的Andriod題目基本都是算法逆向,偶爾有幾個native函數,也是考的算法。這個題目需要搭建andriod模擬器(當然更完整的是搭建一個完整的andriod developer IDE)。

一開始想偷懶,以爲隨便找個windows的android模擬器就行了,後來發現這些實際上都是x86平臺的模擬器。真正支持arm的模擬器這些似乎都不行。

然後又想到使用qemu這款開源的模擬系統,他可以在x86平臺上模擬arm指令系統,在這個平臺上可以安裝arm-linux。

後來發現,實際上不用這麼麻煩,android開發者平臺集成了一個模擬器,支持x86 atom、arm、mips三種指令系統。實際上這個模擬器底層就是使用的qemu。


安裝android emulator:

我是經歷了一個痛苦的過程,這個過程是偉大的GFW帶來的。真想不明白,既然這麼痛恨google,爲什麼還允許google的產品成爲絕大多數國人手中的玩物!!!

1、最簡單的方法,直接安裝andriod studio。

http://developer.android.com/sdk/index.html

2、定製的方法,下載andriod sdk tools。

http://developer.android.com/sdk/index.html#Other

這個tools裏面主要有兩個重要的工具圖形化工具SDK Manager和AVD Manager。前者用來下載各種版本的SKD以及各種platform-tools等待。後者用來生成和管理對應某個SDK版本和API Level的andriod虛擬機。

wKioL1S9BVyAH78yAANHsOObMSA551.jpg

wKioL1S9BVyDYwRfAAH_kjNKmKk752.jpg

wKiom1S9BIqA_CyNAAIgVeKFYuE300.jpg

wKioL1S9BV2hDJJuAADuyDOooRg270.jpg


當然說着簡單,坑爹的是andriod和google都被GFW了,掛代理那個速度還是要有耐心的。直到後來才發現原來android developer在國內有鏡像。到底不是專業開發andriod的,這裏浪費了很多時間。

http://wear.techbrood.com/



做了一大堆的準備工作後,回到題目上。

這個題目實際上我是不會的,直接參考人家的提示——webView漏洞。

努力學習了google了一遍,發現這個漏洞2011年就有組織發不了一個pdf,2012年有人利用java反射創建類的實例發佈進一步利用的poc,到2013年中,才公佈出一個有殺傷力的POC,引起廣泛關注。

漏洞具體的就不說了。烏雲檢測網址:

http://drops.wooyun.org/webview.html

這個題目存在一個SmokeyBear的js to java對象,可以在網頁的js腳本中使用這個對象訪問java的內置對象。

題目的要求找到Toast很有意思,百度了一下:Toast是andriod裏面提供的一個類似MessageBox的一個東東,特點是顯示一段時間後會自動關閉。

如何找到java代碼裏面顯示Toast的函數,這個我是沒有想明白,不過別人的提示是SmokeyBear.showToast()函數。


在服務器建立a.html,輸入一下內容:

<script type="text/javascript">

SmokeyBear.showToast();

</script>


首先將3.apk導入android emulator:

將3.apk拷貝到android-sdk\platform-tools目錄下,cmd到這個目錄下,執行adb install 3.apk

在模擬器中找到jscrack應用,打開。輸入http://ip/a.html,點擊進入。彈出Toast。



最後一點疑問就是,如何從反編譯出來的so中找到相應的代碼。這樣能更加清楚的理解整個webView的調用脈絡。因爲這個程序反編譯出來就是3個native函數,在so中又沒有找到對應的export函數。我是個andriod菜鳥,希望有大牛能指點如何靜態反編譯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章