ipsw文件 --> iTunes --> iOS設備的CPU --> iOS設備的Flash/eMMC

其中非常關鍵的一點是:只有CPU才能把固件寫到Flash/eMMC中,所以你能不能成功刷機,在於CPU同不同意。

CPU不同意,你就刷不進去。

為什麼不能繞開CPU直接寫入Flash/eMMC呢?這是因為iOS設備是全盤加密的,也就是說,往Flash/eMMC裡寫東西要先加密。這個加密密鑰寫在CPU內部,只有CPU才知道。而且每台設備的密鑰都是不一樣的。
所以,你沒有密鑰,就無法向Flash/eMMC寫入正確的數據,即使把Flash/eMMC拆下來刷入也不行。

那麼CPU怎麼決定能否刷機呢?需要驗證來自蘋果服務器的固件簽名。假如固件簽名正確,就可以刷入固件。所以iTunes必須向蘋果服務器詢問這個固件的簽名,提供給CPU。蘋果服務器根據這個固件的真偽、版本號,來決定是否提供簽名。所以,蘋果服務器對你能否刷入固件是有決定權的。



可以想像以下情景:
iTunes:我要刷入這個固件
CPU:那你得提供這個固件的簽名
iTunes向蘋果驗證服務器索要了這個固件的簽名
iTunes:這是這個固件的簽名
CPU:這個簽名是真的!這個包可以刷入。



如果固件過期的話,會是以下情景:
iTunes:我要刷入這個固件
CPU:那你得提供這個固件的簽名
iTunes向蘋果驗證服務器索要這個固件的簽名
蘋果驗證服務器:這個固件過期了,所以我不能給你提供簽名。

(數字簽名使用非對稱加密技術,具有不可偽造性。所以你不能自行偽造簽名)


雖然數字簽名不能偽造,但是可以保存下來重放。前幾年可以使用SHSH刷入舊版固件,就是這個原理。可以想像以下情景:
iTunes:我要刷入這個固件
CPU:那你得提供這個固件的簽名
iTunes拿出了收藏多年的舊簽名
iTunes:這是這個固件的簽名
CPU:這個簽名是真的!這個包可以刷入。
(實際上要搭建一個假的驗證服務器,把收藏多年的舊簽名提供給iTunes)




這種重放攻擊是很容易避免的,所以現在SHSH已經沒用了。你可以想像成以下情景:

iTunes:我要刷入這個固件
CPU:那你得提供這個固件的簽名,並且簽名中含有隨機數fasdjhpgia;
收藏的舊簽名中,隨機數不是fasdjhpgia,而是另外一個,所以無法使用



shodan.io 上面搜索JAWS
就能找到很多使用了JAWS服務框架的IPCAM



隨便打開幾個,就可以看到監視器的login界面


不用任何操作,直接點擊登錄,就能進入管理後台



(1)海康威視IP網絡攝像機:超級用戶:admin,超級用戶密碼:12345
(2)大華網絡攝像機:用戶名:admin,密碼:888888
(3)天地偉業網絡攝像機:用戶名:Admin,密碼:111111

---
即使改了用戶名密碼又如何呢?
沒有用戶名密碼都可以login!

在管理界面的js裡面,可以看到這樣一段原始碼


從cookie裡面取出用戶名和密碼,只要不為空就允許登錄!
真是神邏輯!
就因為這個神邏輯 所以破解方法非常簡單

Chrome / Friefox 按下F12
進入開發者工具  在console裡面輸入
setCookie30Days('dvr_usr', 'haha');setCookie30Days('dvr_pwd', 'haha'); 

就可以設置這兩個cookie,
然後直接在網址後面加上view2.html,就能進入監控後台了






LinkWithin

Related Posts with Thumbnails
top