Web安全 概述
阿新 • • 發佈:2017-08-02
框架 權威指南 ash 做了 lazy google 入門 strong 關鍵點
鏈接:https://www.zhihu.com/question/21606800/answer/22268855
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
,這是橫向的層,縱向就是數據流啦!搞定好數據流:從橫向的層,從上到下→從下到上,認真看看這些數據在每個層是怎麽個處理的。
怎樣,刺激吧?搞懂這些,就算入門啦。
轉載自 “余弦”大牛的評論 https://www.zhihu.com/question/21606800
大牛的個人blog:http://evilcos.me/
作者:余弦
鏈接:https://www.zhihu.com/question/21606800/answer/22268855
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
一. 首先你得了解Web
Web分為好幾層,一圖勝千言:事實是這樣的:如果你不了解這些研究對象是不可能搞好安全研究的。
這樣看來,Web有八層(如果把瀏覽器也算進去,就九層啦,九陽神功……)!!!每層都有幾十種主流組件!!!這該怎麽辦?
別急,一法通則萬法通
數據流中,有個關鍵的是HTTP協議,從上到下→從下到上的頭尾兩端(即請求響應),搞通!難嗎?《HTTP權威指南》720頁!!!坑爹,好難!!!
怎麽辦?
橫向那麽復雜、縱向數據流的HTTP協議就720頁的書!!!放棄好了……
不,千萬別這樣。
給你點信心是:《HTTP權威指南》這本書我壓根沒看過。但是通過百度/Google一些入門的HTTP協議,我做了大概了解,然後Chrome瀏覽器F12實際看看“Network”標簽裏的HTTP請求響應,不出幾小時,就大概知道HTTP協議這玩意了。(這是快速研究的精髓啊)
搞明白HTTP協議後,你就會明白安全術語的“輸入輸出”。
黑客通過輸入提交“特殊數據”,特殊數據在數據流的每個層處理,如果某個層沒處理好,在輸出的時候,就會出現相應層的安全問題。
精彩舉例:1. 如果在操作系統層上沒處理好,比如Linux的Bash環境把“特殊數據”當做指令執行時,就產生了OS命令執行的安全問題,這段“特殊數據”可能長得如下這般:
; rm -rf /;
2. 如果在存儲層的數據庫中沒處理好,數據庫的SQL解析引擎把這個“特殊數據”當做指令執行時,就產生SQL註入這樣的安全問題,這段“特殊數據”可能長得如下這般:
‘ union select user, pwd, 1, 2, 3, 4 from users--
3. 如果在Web容器層如nginx中沒處理好,nginx把“特殊數據”當做指令執行時,可能會產生遠程溢出、DoS等各種安全問題,這段“特殊數據”可能長得如下這般:
%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%20
4. 如果在Web開發框架或Web應用層中沒處理好,把“特殊數據”當做指令執行時,可能會產生遠程命令執行的安全問題,這段“特殊數據”可能長得如下這般:
eval($_REQUEST[‘x‘]);
5. 如果在Web前端層中沒處理好,瀏覽器的JS引擎把“特殊數據”當做指令執行時,可能會產生XSS跨站腳本的安全問題,這段“特殊數據”可能長得如下這般:
‘"><script>alert(/cos is my hero./)</script>
...
怎樣,刺激吧?搞懂這些,就算入門啦。
- 記好:一切的安全問題都體現在“輸入輸出”上,一切的安全問題都存在於“數據流”的整個過程中。
- 記好:“數據流”、“輸入輸出”這兩個關鍵點。
Web安全 概述