sql注入問題 java中將MySQL的資料庫驗證秘密加上 ' or '1'= '1 就可以出現萬能密碼,mysql萬能密碼

來源:互聯網
上載者:User

sql注入問題 java中將MySQL的資料庫驗證秘密加上 ' or '1'= '1 就可以出現萬能密碼,mysql萬能密碼

password的字串中,加上 ' or '1'= '1 就可以製作出萬能密碼。

原因如下:

原代碼中密碼是123456

執行資料庫查詢語句

實際上執行的SQL語句是:

select * from sw_user where username='swift' and password='123456'

這是需要帳號密碼都正確才能登陸成功

如果有人將密碼設定成這樣的密碼,則成了萬能密碼,什麼樣的使用者名稱和密碼都會登陸成功,如:

就是在任意密碼後加上 ' or '1'='1 就可以了,任意帳號和密碼加上後都可以登陸成功,這是sql資料庫的注入,原因是執行的sql語句變成了:

還是上邊這條語句,實際上執行的是

select * from sw_user where username='swift' and password='123456' or '1'='1'

後邊的or 或語句永遠成立,所以前邊的查詢條件無論滿足與否都沒用了 ,很有意思吧

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.