iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
Security

讓 Hacking for Dummies 一書陪我 30 天系列 第 24

Day 24 - Input filtering 相關攻擊

出於書本 Chapter 14. Web sites and Applications

網站與網路應用程式最討厭的,莫過於會錯誤的假設所有被 輸入(input) 的值都是合法的。事實上,有些攻擊便是透過插入大量且可被執行的 malformed data ,擾亂或是直接影響網站運作。這樣的攻擊也能讓壞人有機會收集到敏感資訊。

Buffer overflows

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 耗盡,甚至影響服務。

要怎麼移除 input field 的屬性 ?

以上面 maxsize 為例,有兩種方式可以設法繞過這個限制

  • 使用 Web proxies 來操作要送到伺服器上的數值
  • 使用 Firefox 的 Web Developer 來移除 maxsize 限制

https://ithelp.ithome.com.tw/upload/images/20211009/20141184mFcxteb3rH.png

操作 URL 的攻擊 (URL Manipulation)

指的是透過自動化操作 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 誘使使用者點選,迫使使用者被帶到惡意的第三方站台。

操作 Hidden field 的攻擊 (Hidden Field Manipulation)

指的是某些站台的 HTML form 藏有 <input type="hidden"> 的 tag ,如果因為不好的寫 code 習慣將重要資訊透過這種方式隱藏,還是會被攻擊者發現,甚至利用這些隱藏欄位來竄改資訊。比如在電子商務網站修改價格等等。

隱藏欄位的方式如果被誤用在 login 上會非常的危險

眼前一片模糊....明天繼續看其他與輸入欄位相關的攻擊吧~


上一篇
Day 23 - 網站與網路應用程式攻擊
下一篇
Day 25 - Code Injection 與 SQL Injection
系列文
讓 Hacking for Dummies 一書陪我 30 天30

尚未有邦友留言

立即登入留言