をブロックEXISTS:MYSQLのSLEEPは内部
SELECT SLEEP(3);
サーバは3秒間スリープします。しかし、私はこのコードを実行すると:表「のcostumers」3秒間待たずに
SELECT * FROM costumers WHERE EXISTS(SELECT SLEEP(3));
は、サーバーはすぐにプリントを...ちょうど指定された期間を待たずに帰国SLEEP機能についての説明がある場合、それをEXISTSブロックから呼び出されますか?同じことが、このコードでBENCHMARK機能で発生:
SELECT * FROM costumers WHERE EXISTS(SELECT BENCHMARK(100, MD5(1)))
私はこれがより正確にSQLインジェクションの行使、ブラインドSQLインジェクションの演習で使用されているので、この特定の構造に「スリープ」機能を実行する必要があります。
また、サーバを待たせるMYSQL文を書く別の方法が分かっていると、それが役に立ちます。
おそらく常に「TRUE」としてサブクエリされ、スキップされました。 – jarlh