SQLI・ラボ(24)

0x1の序文 

  一次SQLインジェクション(一般的なSQLインジェクション)、二次SQLインジェクション:SQLインジェクションは、一般に二つのカテゴリーに分けられます。代わりに、二つの二次噴射手段を洪水の、混同しないでください

二次0x2の注射とは何ですか

  二次注入は、乗客のデータ構造の形で意味、要求がハッカー構築SQLステートメントまたはコマンド情報を含むことが提出したデータパケットを処理するために、サーバへのブラウザまたは他のソフトウェア要求にHTTPデータメッセージを送信します。一方でパラメータは、ろ過後に追加されます「\」エスケープが、「\」とデータベースに挿入されることはありませんので、あなたは二次注入を構築するためにこれを使用することができます。

  また、蓄積型注射として知られている第2次注入は、再び不正な形式この文字を呼び出すときに、最初にデータベースに保存されたSQLインジェクションの文字につながる可能性があり、あなたは、注入SQLインジェクション二次ソートを考え始めることができます

0x3の一次及び二次注入注射差

ステップ注入原理 

  (1)第1オーダーSQLインジェクションがHTTP要求に応答して発生し、システムの攻撃者が直ちに実行されます。 

  (2)攻撃者が不正にhttpリクエストを入力して提出します。

  (3)不正入力構成SQLのアプリケーション処理不正入力、使用します。 

  (4)攻撃中に攻撃者に結果を返します。 

 二次注入の原則: 

  (1)httpリクエストに入力された悪質な攻撃を提出します。 

  (2)悪意のある入力がデータベースに格納されています。 

  (3)攻撃者は第二のHTTPリクエストを提出します。

   (4)第二のHTTPリクエストを処理するために、悪意あるプログラムは、データベースの検索入力に格納され、SQL文の構造。 

  攻撃が成功した場合(5)、結果は、第2の要求に応答して返されます。

0x04のソースコード解析

明らかに、ログインの噴射時間を生成しません

その後、我々はそれがフィルタリングされているように、ここで新しいユーザを作成する見

パスワードを変更するために私たちのページを見てみましょうことは、えっ、えっナフィルタリングしていないようです

 

 0X05噴射開始

1ユーザー含有Aminのコメント文字APOS番号を作成します

(2)データベースを見て、成功しただけでエスケープレコード(一部の人は、エスケープが、はい、まだ、ない単一引用符のエスケープを疑問を持っていますが、データベースに格納されたデータまたは単一引用符を追加一時的な)

3)从上图中可以看出管理员的密码为admin, 我们现在来进行修改 先解释下源码中的sql语句

    原SQL语句:UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass'

   修改密码sql语句:UPDATE users SET PASSWORD='$pass' where username='admin'#' and password='$curr_pass'

   最后真正执行的sql语句:UPDATE users SET PASSWORD='$pass' where username='admin'

(4)好吧,开始吧,我们利用注册的账户admin'#进行登录,再进到修改密码界面,将123456密码改为000000

 

 

 

 

切记 学习之路 少就是多 慢就是快

おすすめ

転載: www.cnblogs.com/-zhong/p/10935060.html