看得雜佃牛;《Web之困》中文翻譯真的不行,不知道在講啥
0x00 https建立過程
https很好的解決了http的三個缺點(被監(jiān)聽医舆、被篡改俘侠、被偽裝)
請求鏈接到數(shù)據(jù)傳輸過程中用到了
- 對稱加密
- 公鑰加密
- 信息摘要
- 數(shù)字證書
過程如下
- 客戶端發(fā)送自己支持的加密協(xié)議及版本,SSL蔬将、TLS
- 服務(wù)端從中篩選選擇合適的加密協(xié)議
- 服務(wù)端返回證書爷速,證書中有公鑰
- 客戶端使用根證書驗證證書合法性
- 客戶端生成對稱密鑰,通過證書中的公鑰進(jìn)行加密霞怀,發(fā)送到服務(wù)端
- 服務(wù)端使用私鑰解密遍希,獲取對稱密鑰,使用對稱密鑰加密數(shù)據(jù)
- 客戶端解密數(shù)據(jù)里烦,SSL通信
0x01 同一進(jìn)程中線程
共享的內(nèi)容包括
- 進(jìn)程代碼段(data section)
- 進(jìn)程的共有數(shù)據(jù)(利用共享數(shù)據(jù)凿蒜,容易實現(xiàn)線程間通信)
- 進(jìn)程打開的文件描述符(file fd)
- 信號的處理器
- 進(jìn)程的當(dāng)前目錄
- 進(jìn)程用戶ID和進(jìn)程組ID
每個線程獨有的
- 線程ID
- 寄存器組的值(register set)
- 線程的堆棧(stack)
- 錯誤返回碼
- 線程的信號屏蔽碼
0x02 CRLF-Injection
CRLF字符(%0d%0a)在許多互聯(lián)網(wǎng)協(xié)議中表示行的結(jié)束,當(dāng)該字符與HTTP協(xié)議請求和響應(yīng)的頭部一起聯(lián)用時就有可能出現(xiàn)漏洞
HTTP響應(yīng)分為head部分和body部分胁黑,head部分各個字段之間的分隔是\r\n废封,head與body的分隔是兩個\r\n
將惡意代碼注入到body中就可以執(zhí)行,例如xss
注入到head中丧蘸,可以設(shè)置session漂洋,例如利用會話固定漏洞(一旦用戶sessionid固定為攻擊者設(shè)定的,攻擊者就可以利用sessionid冒充用戶進(jìn)行操作)