最近做了一個有會員註冊和登入功能的網站,運行幾個月後發現資料庫中多了好幾筆新的會員,內容大概如圖片,看起來是SQL注入攻擊
上網搜尋類似的語法有查到此網站,底下的那一堆留言就類似我資料庫內看到的,大概幾百筆,看不太懂他的語法在寫甚麼,請問這些語法會有影響和危險嗎?有甚麼方法可預防嗎?
https://211.21.107.116/news_detail.php?c_id=46827
謝謝大神們
SQL指令也是文字,既然它被存到你的資料庫裡面了,那就是SQL注入失敗。
你該做的是驗證使用者輸入,這看起來是被嘗試攻擊,但是並沒有得逞。
請廠商找出對方IP並加入防火牆的封鎖名單中~~~
同意 黃彥儒 大大所說~
有做防護(特殊字元進行編碼),不過應該沒有消毒~~
寫一個函式在Server端處理,用來過濾要丟給SQL command的外部來源參數字串,在丟給SQL之前就要先處理過。
比如說前面的人有提到的,SQL injection 常常會用到的單引號,在這個過濾的函示中將'取代為空白。
請注意,這個防禦用的處理函式不建議在Client端和SQL處理,Client端可以用除錯模式繞過這一項防禦,在SQL端可能會造成你自己語法錯誤,衍生出更多安全性問題。
不要拿POST的資料直接串成SQL語句,如果真的要,也要把接收到的資料把特殊字元代換掉,如單雙引號、反斜、圓括號