精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SSLStrip終極版——location瞞天過海

安全 應用安全
之前介紹了HTTPS 前端劫持的方案,雖然很有趣,然而現實卻并不理想。其唯一、也是最大的缺陷,就是無法阻止腳本跳轉。若是沒有這個缺陷,那就非常完美了——當然也就沒有必要寫這篇文章了。說到底,還是因為無法重寫location這個對象——它是腳本跳轉的唯一渠道。

前言

之前介紹了HTTPS 前端劫持的方案,雖然很有趣,然而現實卻并不理想。其唯一、也是***的缺陷,就是無法阻止腳本跳轉。若是沒有這個缺陷,那就非常***了——當然也就沒有必要寫這篇文章了。

說到底,還是因為無法重寫location這個對象——它是腳本跳轉的唯一渠道。盡管也流傳一些Hack能勉強實現,但終究是不靠譜的。

事實上,在最近封稿的HTML5 標準里,已非常明確了location 的地位——Unforgeable。 

 

這是個不幸的消息。不過也是件好事,讓我們徹底打消各種偏門邪道的念頭,尋求一條全新的出路。

替換明文URL

上回也提到,可以參考 SSLStrip 那樣,把腳本里的 HTTPS URL 全都替換成 HTTP 版本,即可滿足部分場合。

當然,缺陷也是顯而易見的。只要 URL 不是以明文出現 —— 例如通過字符串拼接而成,那就完全無法識別了,最終還是無法避免跳轉到 HTTPS 頁面上。

這種情況并不少見,所以我們需要更先進的解決方案。

替換location

盡管我們無法重寫 location,但要山寨一個和 location 功能一樣的玩意,還是非常容易的。我們只需定義幾個 getter 和 setter,即可模擬出一個功能完全相同的location2。但如何將原先的 location 映射過來呢?

這時,后端的作用就發揮出來了。類似替換 HTTPS URL,這次我們只關注腳本里的 location 字符,把它們都改成 location2 —— 于是所有和地址欄相關的讀寫,都將落到我們的代理上面。之后能做什么,不用說大家也都明白吧。 

 

代理所有的 setter:如果跳轉到 HTTPS 就將其攔下,然后降級到 HTTP 版本上。

代理所有的 getter:如果當前處于降級的頁面,我們將返回的路徑都還原 HTTPS 字符,即可騙過協議判斷腳本,讓那些自檢功能徹底失效! 

 

相比之前的 URL 替換,這個方案***太多 —— URL 是動態創建的非常普遍,但 location 不是明文出現的,及其罕見。

除非腳本是加密過的,否則即使用 Uglify 那樣的壓縮工具,也不會把全局變量給混淆。至于人為刻意去轉義它,更是無稽之談了。

if (window['loc\ation'].protocol != 'https:') {

// ...

}

到此,我們的目標已經明確了:

前端:實現一個 location 代理。

后端:將腳本里出現的 location 替換成代理變量名。

處理外鏈腳本

雖然替換頁面腳本的內容并不困難,但對于外鏈腳本,那就不容樂觀了。

現實中,不少頁面外鏈了 HTTPS 絕對路徑 的腳本。這時,我們的中間人就無能為力了。為了避免這種情況,我們仍需替換頁面里的 HTTPS URL,讓中間人能掌控更多的資源。 

 

要替換 URL 倒也不難,一個簡單的正則就能實現 —— 但既然使用正則,我們面對的只能是字符串了。

然而事實上,收到的都是最原始的二進制數據,甚至未必都是 UTF-8 的。在上一篇文章里,我們為了簡單,直接使用二進制的方式注入。但在如今,這個方法顯然不可行了。

使用二進制,不僅難以控制,而且很不嚴謹。我們很難得知匹配到的是獨立的字符,還是一個寬字符的部分字節。因此,我們還是得用傳統可靠的方式來處理字符串。

處理字集編碼

我們得借助字集轉換庫,例如大名鼎鼎的 iconv,來協助完成這件事:

首先將二進制數據轉換成 UTF-8 字符串

有了標準的字符串,我們的正則即可順利執行了

將處理完的字符串,重新換回先前的編碼

盡管這一來一回得折騰兩次,性能又得耗費不少,但這仍是必須的。

事實上,這個過程也不是想象的那么順利。有相當多的服務器,并沒有在返回的 Content-Type 里指定編碼字集,于是我們只能嘗試從頁面的 中獲取。

但這個標簽兼容諸多規范,例如過去的:

 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=GBK">

以及如今流行的:

 <meta charset="GBK" />

盡管通過正則很容易獲取,但用正則的前提還是得先有字符串,于是我們陷入了僵局。

不過好在標簽、屬性、字集名,基本都是純 ASCII 字符,所以可先將二進制轉成默認的 UTF-8 字符串,從中取出字集信息,然后再進行轉碼。

處理數據分塊

得益于豐富的第三方擴展,上述問題都不難解決。

然而,之前提到過『前端劫持』的一個巨大優勢 —— 無需處理所有數據,只需在***個 chunk 里注入代碼即可。但現在,這項優勢面臨著嚴峻的考驗。

我們要替換頁面里的 HTTPS 資源、location 變量等等,它們會出現在頁面的各個位置。如果我們對每個 chunk 進行單獨過濾、轉發,這樣會有問題嗎?

現實中,未必都是這樣理想的 —— 總會有那么一定的幾率,替換的關鍵字正好跨越兩個 chunk: 

 

這時候,殘缺的首尾都無法匹配到,于是就會出現遺漏。關鍵字越長,出現的幾率也就越大。對于 URL 這樣長的字符串來說,這是一個潛在的隱患。

要***解決這個問題,是比較麻煩的。不過有個簡單的辦法:我們可以扣留下 chunk 末尾部分字符,拼接到下個 chunk 的之前,從而降低遺漏的可能。

當然,如果不考慮用戶體驗的話,還是收集完所有數據,***一次性處理,最省事了。 

 

事實上還有更好的方案:中間人開啟一個緩沖區,將收到數據暫時緩存其中。當數據積累到一定量、或者超過多久沒有數據時,才開始批量處理緩存隊列。

這樣就可以避免 頻繁的 chunk 上下文處理,同時也 不會長時間阻塞用戶的響應時間,自然是兩全其美的。 

 

這是不是有點類似 TCP nagle 的味道呢。

前端location代理

講完了后端的相關細節,我們繼續回到前端的話題上。

實現一個 location 的代理很簡單,不過值得留意的細節倒是不少:

location 不僅存在于 window,其實 document 里也有個相同的。

location 對象本身也是可以被賦值的,效果等同于 location.href。([PutForwards=href, ...]已經很好的解釋了)

同理,location 的 toString 返回的也是 href 屬性。

如果帶有 location2 的腳本被緩存住了,那么用戶在沒有劫持的頁面里,也許就會報錯。所以還得留一條兼容的后路。

......

只要考慮充分,實現一個 location 的切面還算是比較容易的。

動態腳本劫持

前面談到替換頁面的 HTTPS URL,以確保外鏈腳本明文傳輸。

然而現實中,并非所有腳本都是靜態的。如今這個腳本泛濫的時代,動態加載模塊是很常見的事。如果引入的是一個 HTTPS 的腳本,那么我們的中間人又無從下手了。

不過值得慶幸的是,模塊攔截不像 location 那樣無法實現。現實中,有非常多的方法可以攔截動態模塊。在之前寫的《XSS 前端防火墻 —— 可疑模塊攔截》 一文里,已經詳細討論過各種方法和細節,這里正好派上用場。

事實上,除了腳本外,框架頁同樣也存在這個問題。上一篇文章里,我們采用 CSP 來阻擋 HTTPS 的框架頁。但那僅僅是屏蔽,并不是真正意義的攔截。只有加上如今這套鉤子系統,才算一個完善的攔截系統。

演示

說了那么多,真正的核心無非就是改變腳本里的 location 變量而已,其他的一切都只是為了輔助它。

下面我們找幾個之前無法成功的網站,試驗下這個加強版的劫持工具。

上一篇文章里提到京東登錄,就是通過腳本跳轉的。我們首先就拿它測試: 

 

當流量經過中間人代理,頁面和腳本里的 location 都變成了我們的變量名。于是之后和地址欄相關的一切,盡在我們的掌控之中了:

  

注意地址欄里有一個 zh_cn 的標記,那正是 URL 向下轉型后的識別暗號。

通過 location2 獲取到的一切屬性,看起來就像在 HTTPS 頁面上一模一樣。即使腳本里有自檢功能,也會被我們的虛擬環境所欺騙。

點擊登錄,自然是成功的。 

 

畢竟,HTTPS 和 HTTP 只是傳輸上的差異。在應用層上,頁面是無法知曉的 —— 除了詢問腳本的 location,但它已被我們劫持了。

除了京東的腳本跳轉,財付通網站則是通過非主流的 進行的。

好在我們對頁面里的 HTTPS URL 都替換了,所以仍然能夠跳轉到降級后的頁面: 

 

值得注意的是,如果是從 QQ 圖標里點進來的,那么頁面就直接進入 HTTPS 版本,就不會被劫持了。但從第三方過來那就聽天由命了。

由于一般開發人員的思維,是不可能轉義 location 這個變量的。因此這套方案幾乎可以通殺所有的安全站點。 

 

當然,外國的網站也是一樣的。只要之前沒有被 HSTS 所緩存,劫持依舊輕松自如。 

 
 

......

所以,只要發揮無盡的想象,實現一個工程化的通用劫持方案,依然是可行的。

防范措施

如果你是仔細看完本文的話,應該早就想到如何應對了。

事實上,由于 JS 具有超強的靈活性,幾乎無法從靜態源碼推測運行時的行為。

因此,只要將涉及 location 相關操作,進行簡單的轉義混淆,就能躲過中間人的劫持了。畢竟,要在劫持流量的同時,還要對腳本進行語法分析,這個代價不免有點大了。

原文地址:http://www.cnblogs.com/index-html/p/sslstrip-plus.html

責任編輯:藍雨淚 來源: 博客
相關推薦

2025-09-24 09:13:29

2012-10-22 14:58:21

Office 2013

2010-05-06 15:52:35

2021-01-07 13:08:27

AI 數據人工智能

2009-12-04 14:16:22

2022-02-01 15:00:17

Windows 11Windows 10微軟

2024-11-14 10:38:43

2025-09-25 07:57:57

2014-11-03 10:20:49

2020-10-30 13:10:14

Windows 10任務管理器PC游戲

2024-11-29 14:00:07

2019-07-21 08:32:51

2016-12-27 15:16:49

損失函數課程

2025-09-23 06:47:21

2009-06-09 09:03:36

微軟Windows 7操作系統

2018-05-14 10:05:08

2015-12-29 10:03:40

2021-11-05 08:26:26

Windows 10操作系統微軟

2009-08-21 10:32:59

杜比Digital Pluwindows7

2025-11-03 08:12:46

點贊
收藏

51CTO技術棧公眾號

国产主播在线播放| 国产清纯白嫩初高中在线观看性色| 国模精品一区二区| 精品在线一区二区三区| 久久久久在线观看| 精品人妻无码一区二区三区换脸| 人人精品久久| 午夜激情综合网| 一区二区三区四区视频在线| www.五月婷婷| 日韩va亚洲va欧美va久久| 精品少妇v888av| 午夜理伦三级做爰电影| 亚洲超碰在线观看| 在线观看网站黄不卡| 精品无码av无码免费专区| 精品亚洲综合| 国产v综合v亚洲欧| 国产精品亚洲一区二区三区| 亚州国产精品视频| 综合国产在线| 亚洲免费精彩视频| 麻豆免费在线观看视频| 成人亚洲网站| 日韩欧美亚洲成人| 男人天堂av片| 激情影院在线观看| 亚洲国产精品v| 精品国产乱码久久久久软件 | xxx在线免费观看| 中文字幕一区二区三| 日本成人三级| 午夜视频福利在线观看| 国产一区二区三区美女| 国产精品99蜜臀久久不卡二区| 国产在线成人精品午夜| 伊人久久大香线蕉综合四虎小说 | 日本婷婷久久久久久久久一区二区| 成 人 黄 色 片 在线播放 | 91精品啪aⅴ在线观看国产| 中文字幕免费观看| 国产精品久久久久久模特| 九九精品在线观看| 成人在线观看高清| 欧美激情电影| 最好看的2019年中文视频| 国产亚洲无码精品| 欧美人妖视频| 久草在线网址| 中文精品在线| 久久人人爽人人爽人人片av高请| a级黄色片免费看| 欧美aaaa视频| 久久久国产精彩视频美女艺术照福利| 久久午夜精品视频| 不卡中文一二三区| 久久综合九色综合欧美98| 成人自拍爱视频| 成人高潮片免费视频| 国产精品综合久久| 99蜜桃在线观看免费视频网站| 国产又爽又黄又嫩又猛又粗| 欧美在线高清| 久久国产精品视频| 欧美黑人一级片| 欧美日韩a区| 欧美精品videos另类日本| 国产精品成人av久久| 在线日韩视频| 欧亚精品在线观看| 免费在线不卡av| 精品一区二区三区久久久| 成人网在线视频| 国产福利资源在线| 99这里只有精品| 欧美日韩一区在线播放| 在线观看免费高清完整| 专区另类欧美日韩| 全黄性性激高免费视频| av日韩电影| 欧美日韩国产电影| 国产免费a级片| 亚州av日韩av| 精品国产网站地址| 久久网一区二区| 久久在线91| 91午夜理伦私人影院| 人妻精品一区二区三区| 久久精品日韩一区二区三区| 可以免费看的黄色网址| sm性调教片在线观看 | 日韩在线观看高清| 精品一区二区三区人妻| 石原莉奈一区二区三区在线观看| 国产日韩精品在线| 日本黄色不卡视频| 国产精品视频一二三| 91成人综合网| 成人18视频在线观看| 欧美变态口味重另类| 亚洲码无人客一区二区三区| 亚洲综合中文| 国产成人精品优优av| 精品美女www爽爽爽视频| 久久久久久久久蜜桃| 黄色网址在线免费看| 亚洲黄色中文字幕| 日韩精品影音先锋| 亚洲色图日韩精品| 一本一本久久| 丁香婷婷久久久综合精品国产| 国产特黄在线| 午夜电影久久久| 亚洲第一天堂久久| 国内精品久久久久久久影视简单| 欧美巨乳在线观看| 一本色道久久综合精品婷婷| 91视频观看视频| 成年人深夜视频| 91麻豆精品| 在线亚洲欧美视频| 国产99久久久| 成人免费看黄yyy456| 亚洲黄色网址在线观看| 国产精品成人国产| 亚洲午夜精品视频| 欧美不卡视频在线观看| 国产99久久久国产精品潘金网站| 一级日韩一区在线观看| 电影在线观看一区二区| 精品一区二区三区电影| 国产一级片网址| 国产精品一级二级三级| youjizz.com亚洲| 台湾天天综合人成在线| 中文字幕在线精品| 亚洲天堂五月天| 久久久亚洲午夜电影| www.com毛片| 超碰成人97| 欧美激情在线狂野欧美精品| 国产片在线播放| 亚洲日本欧美天堂| 亚洲在线观看网站| 91tv精品福利国产在线观看| 成人精品视频久久久久| 欧美三级黄网| 4438x成人网最大色成网站| 任你操精品视频| 精彩视频一区二区三区| 人人妻人人澡人人爽精品欧美一区| 99亚洲伊人久久精品影院| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 欧美肥老太太性生活| 国产精品嫩草影院久久久| 国产在线视频网址| 欧美性猛交xxxx乱大交退制版| 小早川怜子久久精品中文字幕| 久久一综合视频| 亚洲欧美日韩国产yyy| 国产激情欧美| 久久成年人免费电影| 精品久久无码中文字幕| 午夜一区二区三区在线观看| 亚洲av无码国产精品久久| 水野朝阳av一区二区三区| 亚洲欧美日韩国产成人综合一二三区| 91精品福利观看| 欧美激情乱人伦一区| 黄色美女一级片| 欧美视频二区36p| 国产精品69久久久久孕妇欧美| 国产一二三精品| 99热亚洲精品| 欧美日韩黑人| 91在线国产电影| 91福利在线免费| 亚洲欧美制服另类日韩| 国产一区二区女内射| 亚洲一区二区欧美激情| 色无极影院亚洲| 国内精品视频666| 国产原创中文在线观看| 成人vr资源| 99蜜桃在线观看免费视频网站| 国模精品视频| 日韩亚洲国产中文字幕| 人人妻人人澡人人爽精品日本| 日本精品一区二区三区高清| 欧美日韩在线国产| 久久精品亚洲精品国产欧美| 在线免费观看av网| 亚洲永久字幕| 激情图片qvod| 国产亚洲一区| 波多野结衣一区二区三区在线观看| 日韩三级影视| 欧美精品18videos性欧| chinese偷拍一区二区三区| 精品免费日韩av| 一级片在线免费播放| 亚洲一区二区偷拍精品| 精品一区二区三区蜜桃在线| 成人性生交大合| 亚洲xxx在线观看| 亚洲女同同性videoxma| 精品国产一区二区三区在线| 亚洲人成精品久久久| 91国产丝袜在线放| 国产69精品久久久久9999人| 97色在线观看| 性欧美videos高清hd4k| 中文字幕亚洲自拍| 欧美精品少妇| 亚洲韩国欧洲国产日产av | 激情av综合网| 亚洲 中文字幕 日韩 无码| 亚洲欧洲日本mm| 欧洲金发美女大战黑人| 久久在线电影| 日韩精品最新在线观看| 欧美偷窥清纯综合图区| 国产成人av一区二区三区| 在线欧美激情| 成人午夜在线观看| 国产成人a视频高清在线观看| 2020久久国产精品| 麻豆免费在线| 91av在线播放视频| missav|免费高清av在线看| 欧美成人高清视频| 成人video亚洲精品| www.欧美精品一二三区| 一区二区三区视频网站| 中文字幕少妇一区二区三区| 国产福利在线看| 亚洲视频一区二区三区| 你懂的视频在线播放| 亚洲欧美精品中文字幕在线| 四虎精品在永久在线观看| 亚洲国产成人久久综合| 日韩一级中文字幕| 日韩欧美国产午夜精品| 精品人妻一区二区三区日产乱码| 欧美精品乱码久久久久久| 中文字幕一区二区免费| 欧美日韩aaa| 888奇米影视| 91精品婷婷国产综合久久性色| 91中文字幕在线视频| 欧美久久一区二区| 国产日韩在线观看一区| 日韩免费电影网站| 亚洲美女福利视频| 亚洲第一天堂无码专区| 香蕉av一区二区三区| 亚洲成人网在线| 三级视频在线播放| 亚洲午夜激情免费视频| 日本在线观看网站| 久久综合免费视频| 国产蜜臀在线| 日韩美女在线观看| 欧美激情啪啪| 97人人模人人爽人人少妇 | 日韩欧美在线电影| 91亚洲人成网污www| 欧美少妇在线观看| 亚洲精品三级| 丝袜制服一区二区三区| 精品一区二区三区免费播放| 岛国av免费观看| 久久亚洲综合色一区二区三区| 在线观看免费小视频| 亚洲视频综合在线| 影音先锋亚洲天堂| 欧美性大战久久久久久久| 国产麻豆免费视频| 亚洲成人精品av| 成人三级黄色免费网站| 久久视频这里只有精品| 国产伦理精品| 国产在线播放不卡| 久久香蕉精品香蕉| 国产精品免费久久久| 国产高清亚洲| 久久综合入口| 国产精品久久久乱弄 | 日韩精品一二区| 欧美体内she精高潮| 91论坛在线播放| 一级性生活免费视频| 五月开心婷婷久久| 在线观看免费视频一区| 亚洲国产精品高清久久久| 自拍视频在线免费观看| 午夜精品久久久久久久99热浪潮 | 久久综合中文色婷婷| 99久久婷婷这里只有精品| 免费看国产曰批40分钟| 精品一区二区三区香蕉蜜桃 | 亚洲精品在线视频播放| 99久久99久久免费精品蜜臀| 91av手机在线| 日本乱码高清不卡字幕| 熟妇高潮一区二区三区| 伊人久久大香线蕉av一区二区| 少妇视频在线| 国产精品一区二区三区毛片淫片| 精品午夜电影| 97av中文字幕| 久久综合综合久久综合| 野外性满足hd| 亚洲国产美女搞黄色| 国产精品人人妻人人爽| 国产亚洲精品久久久| 狼人综合视频| 高清av免费一区中文字幕| 91日韩在线| 亚洲成人福利在线| 久久久久成人黄色影片| 丰满少妇乱子伦精品看片| 日韩欧美亚洲国产精品字幕久久久| 性开放的欧美大片| 国产精品久久网| 欧美亚洲大陆| 久久久亚洲精品无码| 懂色av一区二区三区免费观看| 免费精品在线视频| 欧美在线啊v一区| 国产在线观看网站| 国产91色在线|免| 性人久久久久| 91传媒久久久| 91蜜桃婷婷狠狠久久综合9色| 日韩精品无码一区二区| 精品国产免费人成在线观看| 性xxxxfjsxxxxx欧美| 91精品久久久久久蜜桃| 7777久久香蕉成人影院| 亚洲精品国产久| 亚洲黄色性网站| 性欧美18一19性猛交| 欧美国产日韩二区| av不卡一区| 69堂免费视频| 久久亚洲影视婷婷| 中国黄色一级视频| 中日韩美女免费视频网站在线观看| 欧美一级二级视频| 自拍偷拍一区二区三区| 国产老肥熟一区二区三区| 麻豆成人在线视频| 亚洲国产精品成人一区二区| 精品捆绑调教一区二区三区| 蜜桃欧美视频| 日韩vs国产vs欧美| 老熟妇高潮一区二区三区| 欧美一级高清片| 99riav视频在线观看| 欧美精彩一区二区三区| 秋霞午夜av一区二区三区| 日韩在线观看免| 精品久久久久久久一区二区蜜臀| 7777kkk亚洲综合欧美网站| 久久青青草综合| 蜜桃免费网站一区二区三区| 91九色丨porny丨极品女神| 精品国产在天天线2019| 亚洲妇女成熟| 在线综合视频网站| 国产91丝袜在线播放九色| 国产污视频在线看| 一区二区三区四区在线观看视频| 91嫩草国产线观看亚洲一区二区 | 日韩国产在线观看一区| 青青草自拍偷拍| 日韩欧美精品在线| 快播电影网址老女人久久| 欧美日韩视频免费在线观看| 99久免费精品视频在线观看| 中文字幕一区二区三区四区欧美| 久久精品视频导航| 日韩影视在线观看| 免费一区二区三区在线观看| 亚洲午夜精品17c| www亚洲人| 国产精品二区在线| 日本欧美一区二区三区| 亚洲国产成人精品综合99| 亚洲男人天堂九九视频| 欧美一级大片在线视频| 草草久久久无码国产专区| 中文字幕日韩一区| 亚洲三区在线播放| 亚洲精品欧美日韩专区| 久久深夜福利| 久久久久久国产精品免费播放| 国产一区二区三区视频| 97se亚洲|