SKCTF管理システム

これは、単純な風ログイン画面として始まりました

カンカン登録インタフェース

ああ...それはまた、非常にシンプルなスタイルです。

 

そして、私たちは、要素(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」です。

その後、フラグログイン

 

约束攻击不算是一个罕见的攻击方式。最常用的方法就是用来伪造管理员的身份。

(这启示我们开发者,管理员账号一定要弄成难猜的开头)

 

おすすめ

転載: www.cnblogs.com/yi2105/p/11545207.html