これは、単純な風ログイン画面として始まりました
カンカン登録インタフェース
ああ...それはまた、非常にシンプルなスタイルです。
そして、私たちは、要素(FN + F12)を見てみましょう
それに署名なしのフラグはありません!
その後、我々は、アカウントを登録しよう
今回は、問題解決の糸口を持っています。
管理者アカウント、パスワードを入手し、フラグを取得します。
問題解決のためのアイデアのこの質問は攻撃でPHPのSQL制約を使用することです。
以下はhttp://www.mamicode.com/info-detail-2571784.htmlから来ています
どのように、いわゆる制約のSQL攻撃を理解することがまず
SQLの制約攻撃:SQLで文字列操作を実行する場合、文字列のスペースの終わりが削除されます。換言すれば、「吸血鬼」は、確立された症例の大多数、例えば、クエリ結果の次の文は、ユーザのための(例えば、INSERTステートメントのWHERE句内の文字列または文字列など)、「吸血鬼」と等価ですクエリが同じであるとき、「吸血鬼」結果に名前を付けます。
ユーザ名=「ユーザーからのSELECT *吸血鬼」;
しかし、例外もありますが、最良の例では、LIKE句です。主に行って「比較文字列」の間に、この末尾の空白トリミング操作のためにそれを注意してください。SQL文字列は、比較が一致している前に、その長さを作るために、内部空間に充填されるためです。
すべてのINSERTクエリで、SQLの最大長さ(n)はVARCHARれる文字列に応じて制限されます。文字列の長さが「N」の文字の最初の文字列、その後、「n」は文字よりも大きい場合それは、です。例えば、特定の列の長さの制約が「5」文字、文字列「吸血鬼」の挿入は、実際には、それだけで5文字の文字列、即ち「vampi」の前に挿入することができます。
ことを私たちが登録ユーザの、ユーザ名、パスワードがうまく要件を満たしている(背後にあるいくつかのより多くのスペースをADMIN)「admin」です。
その後、フラグログイン
约束攻击不算是一个罕见的攻击方式。最常用的方法就是用来伪造管理员的身份。
(这启示我们开发者,管理员账号一定要弄成难猜的开头)