亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

一個激活碼泄露事故的發(fā)現(xiàn)過程和反思

antz / 1483人閱讀

摘要:發(fā)現(xiàn)分析資源文件的過程中,發(fā)現(xiàn)了一個數(shù)據(jù)庫。激活碼明碼保存。激活碼的發(fā)布和驗證分開激活碼的發(fā)布由項目負(fù)責(zé)將激活碼明文交由發(fā)布渠道,如印刷或其他銷售渠道。這樣即使激活碼數(shù)據(jù)庫被泄露也不怕其用來被激活。

本文隱去了公司名、人名、應(yīng)用名、以及應(yīng)用特征等敏感信息。 本文作者@CuGBabyBeaR

0、背景和事先分析

前段時間看見一個能夠和現(xiàn)實進行交互的應(yīng)用,覺得挺有意思,恰巧有一個下午的空閑時間,于是就把APP下載下來進行分析。

應(yīng)用本身是免費的,但是解鎖功能需要激活碼,并且交互需要攝像頭識別相應(yīng)卡片(Augmented Reality AR卡)。去他們的官方淘寶店看了看,算下來是5塊錢一張,正在打折。

整個APK 120m+ ,顯然是將模型數(shù)據(jù)放在APK中,通過攝像頭識別卡片,通過識別到的內(nèi)容調(diào)用不同的模型,和卡片的姿態(tài)進行交互。

1、所用技術(shù)研究

使用apktool dex2jar 反編譯應(yīng)用,通過jd-gui查看源代碼。代碼分為3部分:一是主activity的代碼,二是QR識別的代碼,三是Unity3D。顯然游戲使用的引擎是Unity3D,而其中部分代碼混淆過,類名和變量名都改成了a b c等無意義的名字,這一部分代碼可能是來自 https://developer.vuforia.com/ 。

稍微分析了一下activity的代碼后,便放棄了。然后轉(zhuǎn)去研究資源文件。res的資源文件只有應(yīng)用圖標(biāo)而已,有意義的資源都在assets里。除開QR識別的資源外,就是Unity3D使用的dll和模型文件了。模型文件進行了簡單的分割,意義不明。

2、發(fā)現(xiàn)

分析資源文件的過程中,發(fā)現(xiàn)了一個數(shù)據(jù)庫。一開始對其并不在意,在分析完assets中的資源文件之后,關(guān)注點就轉(zhuǎn)移到這個數(shù)據(jù)庫身上了。是一個sqlit3數(shù)據(jù)庫,用SQLite Expert 打開后,其中有兩個表。一個表是卡的數(shù)據(jù),數(shù)據(jù)列兩列,包括卡的代碼和是否啟用。另一個表的列名讓我很在意“ActivedCode”,難道是激活碼?找到第一行此列值,輸入到應(yīng)用里,發(fā)現(xiàn)...激活了...

我頓時就凌亂了,另外一列的名字叫QRCode 。于是找了最后一行的QRCode,找了一個在線QR碼生成器,QRCode輸入進去,用應(yīng)用識別生成的QR圖。又激活了。

因為AR卡本身只是一張卡片,卡片只是通過卡片上圖案特征進行識別的。而在其他的AR卡應(yīng)用中(如PSV的和其他非盈利性的Android AR卡應(yīng)用)即便是復(fù)印的也可以被正確識別。而這個應(yīng)用中有卡片的圖片,只要將圖片提取或者截屏下來,按照原卡片的大小打印裁切,應(yīng)該是可以用的...如果這3萬條數(shù)據(jù)被泄露出去...恐怕這款應(yīng)用是賺不到錢了。

3、反饋和解決

我去這個公司的官網(wǎng),找到了一個該應(yīng)用IOS版開發(fā)者的QQ號,把這件事和他說了一下,他說轉(zhuǎn)告同事去處理了。

過了半個月,我又想起了這件事,找那位開發(fā)者要了Android版開發(fā)者的QQ號。和Android版開發(fā)者交流了一下,他說是測試的時候?qū)?shù)據(jù)庫放進了APK中,發(fā)布的時候忘記拿出來了,而數(shù)據(jù)庫也從新的APK中去掉了。

4、總結(jié)和分析

這個事件還算是完美地解決了。不過出現(xiàn)這個問題的原因,除了Android應(yīng)用本身,容易被反編譯的客觀原因之外,我感覺有兩個主要主觀原因:

(1) 沒有分開開發(fā)環(huán)境和生產(chǎn)環(huán)境。不過Android開發(fā)環(huán)境中貌似沒有原生的開發(fā)生產(chǎn)分開的功能,只能用ANT。這樣的話有一個土辦法,做一個checklist,每次發(fā)布按照這個checklist做,這樣就不會有不應(yīng)該出現(xiàn)在產(chǎn)品中的東西遺留在產(chǎn)品中。

(2) 激活碼明碼保存。雖然說一般激活碼的數(shù)據(jù)庫都只會放在服務(wù)器上,不會被泄露出來。然而如果一個不小心數(shù)據(jù)庫被流出了,作為最后的保險,我認(rèn)為數(shù)據(jù)庫本身最好還是加密一下。所有可用激活碼的明文,由項目負(fù)責(zé)一人管理。激活碼的發(fā)布和驗證分開:激活碼的發(fā)布由項目負(fù)責(zé)將激活碼明文交由發(fā)布渠道,如印刷或其他銷售渠道。而負(fù)責(zé)激活的服務(wù)器上激活碼的數(shù)據(jù)庫都是使用不可逆加密算法加密的密文。驗證的時候用戶輸入激活碼后,服務(wù)器將輸入內(nèi)容加密,與數(shù)據(jù)庫中的內(nèi)容進行比較,執(zhí)行激活操作。這樣即使激活碼數(shù)據(jù)庫被泄露也不怕其用來被激活。


文章轉(zhuǎn)載自:伯樂在線 - CuGBabyBeaR

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/11088.html

相關(guān)文章

  • 騰訊云后阿里云再出事故,企業(yè)上云如何避免云計算事故造成損失

    摘要:阿里云再次發(fā)生故障,這已是年的第二起。這場事故,持續(xù)了三個小時左右。針對故障,阿里云表示會根據(jù)協(xié)議服務(wù)合同,盡快處理賠償事宜。十天前,阿里云今年的第一起事故被曝光。后來,阿里云就此事作出回應(yīng),并在網(wǎng)站醒目標(biāo)識并給出告警。阿里云再次發(fā)生故障,這已是2019年的第二起。3月2日23時55分左右,阿里云開始出現(xiàn)大規(guī)模宕機故障,位于華北地區(qū)的多家互聯(lián)網(wǎng)公司的IT運維人員發(fā)現(xiàn)多個APP和網(wǎng)站開始陷入卡...

    William_Sang 評論0 收藏0
  • 警報:線上事故之CountDownLatch威力

    摘要:號凌晨點半,是一個讓人難以忘懷的和瑞哥最后一次一起奮戰(zhàn)的夜晚。總結(jié)不要過分相信監(jiān)控指標(biāo)等信息針對長耗時的業(yè)務(wù),一定要做超時限制,不可無所謂的放任的確在高并發(fā)場景很實用,但是使用不當(dāng)也會帶來一定隱患居然感覺和瑞哥一起奮戰(zhàn)的夜晚時間很幸福的事情 2019.2.22號凌晨3點半,是一個讓人難以忘懷的、和瑞哥最后一次一起奮戰(zhàn)的夜晚。 背景 我們有這樣一個業(yè)務(wù)場景:用戶提供各種數(shù)據(jù)源配置信息,然...

    saucxs 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<