出於書本 Chapter 14. Web sites and Applications
網站與網路應用程式最討厭的,莫過於會錯誤的假設所有被 輸入(input)
的值都是合法的。事實上,有些攻擊便是透過插入大量且可被執行的 malformed data
,擾亂或是直接影響網站運作。這樣的攻擊也能讓壞人有機會收集到敏感資訊。
Buffer overflow
對於網路應用程式來說,是其中一種嚴重的輸入 (input field) 攻擊。舉例來說,某個網站希望在使用要提交資料的時候要先登入 (login)。可能程式碼會長的像得像這樣
<form name="Webauthenticate" action="www.your_app.com/login.cgi" method="POST">
...
<input type="text" name="inputname" maxsize="12">
...
上面 maxsize=12
可以被駭客用像是 100
或是 1000
置換掉後,進行任何的操作。網路應用程式有可能會 hang 著、有可能會將 memory 耗盡,甚至影響服務。
以上面 maxsize
為例,有兩種方式可以設法繞過這個限制
maxsize
限制指的是透過自動化操作 URL 來達到像是轉導到其他第三方網站、從伺服器下載存有敏感性資料的檔案,等等。當網站能夠接受 URL-based
的 input 且能夠回應特定的檔案給使用者時,伺服器上的檔案會變成一個漏洞。
舉例送一個像是下面的 URL 連結取得伺服器上 passwd
檔案
https://www.your_Web_app.com/onlineserv/Checkout. cgi?state=
detail&language=english&imageSet=/../..//../..//../..//../ ..///etc/passwd
或是透或下面的 URL 連結轉導其他站台
http://www.your_Web_app.com/error.aspx?PURL=http://www.bad~site.com&ERROR=Path+’OPTIONS’+is+forbidden.
http://www.your_Web_app.com/exit.asp?URL=http://www.bad~site.com
如果系統存在這些漏洞,攻擊者可以透過發送這些 URL 誘使使用者點選,迫使使用者被帶到惡意的第三方站台。
指的是某些站台的 HTML form 藏有 <input type="hidden">
的 tag ,如果因為不好的寫 code 習慣將重要資訊透過這種方式隱藏,還是會被攻擊者發現,甚至利用這些隱藏欄位來竄改資訊。比如在電子商務網站修改價格等等。
隱藏欄位的方式如果被誤用在
login
上會非常的危險
眼前一片模糊....明天繼續看其他與輸入欄位相關的攻擊吧~