iT邦幫忙

0

Day 4 初探 SQL Injection:真的能偷到資料嗎?

  • 分享至 

  • xImage
  •  

1.什麼是SQL Injection?
SQL Injection就是駭客在網站輸入框裡面輸入惡意的SQL語句,讓後端資料庫執行,利用網站的防護漏洞,直接操控資料庫。
舉例一個情況:
正常網站要查詢使用者資訊會輸入

SELECT * FROM users WHERE id = '1';

而駭客可能輸入

SELECT * FROM users WHERE id = '1' OR 1=1;

如此一來,全部的使用者資訊將會一覽無遺。

2.DVWA實際操作
登入DVWA後,在左側選單中會看到一個SQL Injection的選項,點進去後,會有一個輸入框顯示「User ID」,輸入數字就能查詢對應的使用者,我這邊是用上面舉例的情況做輸入
https://ithelp.ithome.com.tw/upload/images/20250921/20169338zGfWHBFHRw.png
(查詢使用者1的帳號資訊)
接著嘗試輸入1 OR 1=1,這邊要注意的是每個網站後端資料庫預設的語法有些微差異,這邊的輸入框內容會直接帶入到後端的資料庫語句,若本來預設已有單引號,直接輸入1 OR 1=1是沒有用的,user_id='1 OR 1=1'不會成立,因此無法達到我們要的目的,應該要改成1' OR '1'='1,這樣一來就是完整的user_id='1' OR '1'='1',整個資料表才會顯示出來。
https://ithelp.ithome.com.tw/upload/images/20250921/20169338OavCnFj6qC.png

3.心得
之前接觸過一些SQL語法,所以在這次操作,並沒有太陌生的感覺,雖然DVWA網站能夠輕鬆快速使用,但在語句上還是要稍微注意一下,我一開始直接輸入就只跳出一個使用者資訊,問了chatGPT才知道一個小小的單引號竟然能影響這麼大,這次的操作也很有趣,明天要來試試看XSS!


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言