JDBC-SQL注入簡述

什麼是SQL注入

SQL注入便是指web應用程序對用戶輸入數據的合法性沒有判斷或過濾不嚴,攻擊者能夠在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,在管理員不知情的狀況下實現非法操做,以此來實現欺騙數據庫服務器執行非受權的任意查詢,從而進一步獲得相應的數據信息。(百度百科)

其實簡單說就是,在輸入系統要求的內容以外,又添加了額外的內容,形成返回數據數據庫返回錯誤內容,從而給攻擊者提供可乘之機mysql

接下使用mysql進行說明web

數據庫操做演示

首先我已經在數據庫建好一張表test_02,數據內容以下:
image.pngsql

以id=1的數據爲例數據庫

  • 若是name='wdm' and password='0704',那麼是能夠正確返回這條數據的,這裏就模擬wdm用戶登陸成功

image.png

  • 若是name='wdm' and password='1111' or '1'='1'.能夠看到,其實這裏對於用戶wdm來講,密碼已經輸入錯誤.但因爲後面有一個or '1'='1'這個恆爲真的語句而且使用or 一真爲真,同假爲假,數據庫表卻返回了正確的結果. 若是說這是一個登陸操做,此時用戶就已經登陸成功了.這顯示不是咱們想要的效果
    image.png
相關文章
相關標籤/搜索