2013-07-03 23 views
17

私はこれが私たちのリクエストログに現れたのを見ました。彼らは何を達成しようとしていたのですか?SQLインジェクション? CHAR(45,120,49,45,81,45)

フルリクエスト文字列は次のとおりです。

properties?page=2side1111111111111 UNION SELECT CHAR(45,120,49,45,81,45),CHAR(45,120,50,45,81,45),CHAR(45,120,51,45,81,45),CHAR(45,120,52,45,81,45),CHAR(45,120,53,45,81,45),CHAR(45,120,54,45,81,45),CHAR(45,120,55,45,81,45),CHAR(45,120,56,45,81,45),CHAR(45,120,57,45,81,45),CHAR(45,120,49,48,45,81,45),CHAR(45,120,49,49,45,81,45),CHAR(45,120,49,50,45,81,45),CHAR(45,120,49,51,45,81,45),CHAR(45,120,49,52,45,81,45),CHAR(45,120,49,53,45,81,45),CHAR(45,120,49,54,45,81,45) -- /* 

編集:Google検索が有用何も返さなかったので、私は同じことに遭遇した人々のための質問をしたかったです。

+0

これは私がGoogleで行った元の検索結果の2番目の結果です。 – roo

答えて

7

これは注射のためだけのテストですこれは/etc/passwdファイルをロードするには、次のSQLインジェクション文字列を使用して悪用される可能性があります。攻撃者が出力のxQを見ることができれば、注入が可能であることがわかります。

この特定のクエリの「危険性」はありません。

開発者は、どのような注入メカニズム、フォーマット、意味にも気をつけないでください。

1つの無限数の注射で原因があります。は不適切な形式のクエリです。クエリが適切にフォーマットされている限り、SQLインジェクションは不可能です。 SQLインジェクションの方法ではなく、クエリに集中してください。

+0

"開発者は、どのような注入メカニズム、フォーマット、意味にも注意を払わなくてはなりません。 - あなたは精巧にできますか?私には、私はSQLインジェクションをまったく気にするべきではないように思えます。または、私が使っているフレームワークにすべての信頼を置いてください。 – roo

+0

はい、はい。それだけです - あなたはすべきではありません。 –

+0

それは狂気です!人々にそのように考えるよう助言するなら、なぜhttps://github.com/colshrapnel/safemysqlを書いたのですか? – roo

5

Char()関数は、各値を整数として解釈し、与えられた文字に基づいてそれらの整数のコード値によって文字列を返します。 Char()では、NULL値はスキップされます。この関数はMicrosoft SQL Server、Sybase、およびMySQLで使用され、CHR()はRDBMSで使用されます。

SQLのChar()機能は、SQLクエリ内の予防措置としてPHP用の(例えば)addslashes()が使用されている場合に便利です。 Char()を使用すると、挿入されたクエリ内で引用符を使用する必要がなくなります。

Char()は、以下のようになり用いたSQLインジェクションの脆弱性いくつかのPHPコードの例:

$uname = addslashes($_GET['id']); 
$query = 'SELECT username FROM users WHERE id = ' . $id; 

addslashes()が使用されてきたが、スクリプトは末尾の引用がないように適切に入力を消毒失敗マーク。

出典:http://hakipedia.com/index.php/SQL_Injection#Char.28.29

+0

注射の良いイントロですが、実際に質問に答えるわけではありません。「それは何ですか? – paxdiablo

+0

私は実行しようとしていた特定のSQLにも興味がありますが、これがどのように機能するかについても興味があります。 Googleの検索で何か役に立つものが返ってこなかったので、私は危険にさらされている可能性のある人々のためのディスカッションを始めたかったのです。 – roo

+0

@ルー、議論は本当にSOのためではありません。あなたが現在の攻撃がどのように機能するかを知りたければ、それは別の問題です。しかし、ディスカッションを開始したいという欲求は、閉鎖され、削除される可能性が高い。 – paxdiablo

関連する問題