iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
自我挑戰組

大學 50 萬貸款的交代系列 第 21

Day 21 怕啦.SQL Injection Σ( ° △ °)

  • 分享至 

  • xImage
  •  

在 Day 10 的時候,我們介紹了 XSS 這個爺爺奶奶級的漏洞。在相隔11篇的 Day 21 要來介紹也是有一定年代,但是前幾年還是 OWASP 排名第一的漏洞。

我不要打針啦 ε=ε=ヾ(;゚д゚)/

Injection 的方式有很多,Day 21 要談的是其中一種。SQL Injection 針對可能會使用到 SQL 語法的使用者輸入區域,輸入具攻擊性的惡意 SQL 語法,導致原始 SQL 語意改變,進而控制受駭者的資料庫。

Injection 這種攻擊方式的存在,是我在大學選課的時候意識到的,當時在找要選什麼課的時候,不小心在搜尋欄按了一個單引號送出就變成下面這個樣子了。

阿不就是個錯誤訊息,能吃嗎

吃不吃得下來我是不知道,畢竟攻擊這種行為是有法律問題的,之前通知過學校,他們好像也不在乎這樣的問題。好吧,正好來當負面教材 σ`∀´)σ

我們從這些錯誤訊息可以知道什麼?

  1. 這個網頁的輸入檢查不夠徹底,導致存在 Injection 的風險
  2. 程式碼中使用的是和 mysqli 類似的語法,錯誤被直接丟出來
  3. 對方儲存資料的資料庫使用的是微軟的 mssql

第二點就是在 Day 18 中小穹提到的 -會很大聲的說出程式發生的問題
記得大學在修程式設計,老師說:不要把程式執行過程的錯誤訊息丟出去給使用者看,這樣太殘忍了。現在想想,其實對工程師也是滿殘忍的。如果發出去的錯誤訊息包含的程式片段非常關鍵,會導致系統暴露在更高的風險中。

這裡指的是第三點,因為微軟時不時都會出個 Zero Day 驚喜大禮包,而我們知道對方伺服器使用的就是這樣的系統架構時,出了漏洞就知道可以打誰了吧 d(d'∀')


上一篇
Day 20 _ PDO 簡易使用指南
下一篇
Day 22 怕啦.SQL Injection -2 Σ( ° △ °)
系列文
大學 50 萬貸款的交代30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言