白SQLエントリープロセス

主に深遠な物事ので、次のlevixxxx書き込みを見るために、そして私がすることを決めたので、その後、容易ではない理解するために、低を感じ、独自のポイントを見てください。

まず第一に、CRUDを理解します

図書館の表では、それを説明する必要はありません。

ライブラリテーブル(列1、行2 ...)の値(値1、値2)に1.insert

insert into 1.news values(3,’test’,’test’,3)

- 文字列は単一引用符を使用することを覚えて、値ではありません

。2.select行1、データベーステーブル(カラム1、カラム2 ...)からカラム2 - "*"は、すべての列を表します)

  • リミット- 構文:リミット(添字を開始、資料番号)は、一般的に文の終わりを次の
  • データベーステーブルから選択* - クエリのすべて
  • -ライブラリーのテーブルからID、タイトルを選択クエリ「ID」と「タイトル」欄

- ID = 3のライブラリテーブルから3.delete 「ID = 3」という列を削除

4.updateライブラリ。表1カラム=組の値、列値条件2 =

TYPE = '2' ID = 2 - 2 "タイプ"で"= 2のID"

最も基本的なクエリ

select * from 1.news where username='admin' and password='test'

select * from 1.news where username=' ' or ' '=' ' and password='test'

select * from 1.news where username= ' ' or  1=1#' and password='test' 

- 「 - と#がコメント文字、バックの中身アウトコメントです。」

  • 長い閉じ括弧にロジックを通る線、注意を払うなどとして、単一引用符は現在、有料の注意を閉じた - ソースコードが提供さ - に閉じています
  • マスターパスワードのA 'または' '=' A
  • それ以外のデータは、データに結合させることができるれませんでした接着剤バックデータ:労働組合の役割は、(後述する、比較的揮発性の巧妙な使用)
  • (さらに後述)によって順:決定するのに使用されるカラム

SQLインジェクションの主

SQLインジェクションとは何ですか。

利用者から提出されたパラメータは、このようにあなたには、いくつかを取得したいデータの意味を変え、SQLデータベースクエリと攻撃にいくつかの文字が含まれています

  • などリファラ、クッキー、ボディ、URL、などどこにでも可能なSQLインジェクション、
    [外国チェーンの絵が失敗したダンプ、発信局は、直接(IMG-qqDWDcKd-1585889714798)をアップロードダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよい( / コモン射出ツール.PNG)]
    一般的な射出ツール
    プロセス

どのようなタイプのSQLインジェクション(注入方式は、データへのアクセスが分類と同じではありません):

1.ブラインド:真と偽の論理に応じて決定します

  • 原理:中国語変換を16進数に:ASCIIコードで、中国語をサポートしていないが、中国の六角機能(MySQLの)を使用して、ASCIIコードデータに変換し、次いで、SUBSTR関数を取った文字のサイズを比較してASCIIコードに変換する二分法のサイズを決定しますその後、変換

2.union注入:直接ページを表示するには、ユニオンクエリによって、例えば:

union select username from admin

3.エラー表示インジェクション:データベース・エラー・メッセージの使用のようなエラーメッセージやエラーメッセージを観察、注入した、プラス「「」エラーメッセージが表示される - (、とにかく、非常に高いレベルを注入する必要がある私が...することはできません)

4.ディレイ注入:応答時間は、スリープ機能・ページによって決定されます

SQLインジェクションは行うことができます。

1.取得し(CRUD)データベースファイルには、

2.ファイルを読み書きします

オペレーティング・システムのコマンドを実行3.

アクセスがあるかどうかを確認する方法:

デジタル、キャラクター、検索タイプ

非常に重要な表には、あなたが心に留めておく必要があります。INFORMATION_SCHEMA.TABLESを

機能存在は、テーブルが存在するかどうか決定されます。

existsselect 1 form information_schema.tables
1.数値:
  • 真と偽、偽真であるか偽のは本当です

    sql=select * from news where id=1 and 1=1sql=select * from news where id=1 order by 1
  • 裁判官によるため、その後どのように多くの列(少数で上記の使用量を決定するために、ディスプレイが存在する場合、それはこの列が存在しないことを示していない、いくつかの列の最初のものである)と労働組合では、いくつかのプログラマは、それ自体で順序を記述しますxxxxは状況によって順序によって順序をXXXXXXなり、それが構文エラーを表示するというように、その実際の被写体まで、あらゆるます。

  • 最初のデータいくつかのテーブルのクエリが示すので、フロントべきネガ:? IDなど= 1,1 = 2

  • 以下の労働組合の一部の使用
    表示位置決意
    クエリビット表示のバージョンを確認
    クエリテーブル名
    すべてのお問い合わせボンドアカウントのパスワードアカウントのパスワード

2.文字:
sql=select * from news where type=‘ xxx ’ “

sql=select * from news where type=1and1=1’ ”

文法を構築する必要性の前と後に加えて、他のデジタルタイプと同じです。(過剰#で」コメントすることができる)は、
文字
メソッドの数又は文字によって決定される:第一のタイプは、デジタルに従って構成されています

擬似静的注入:

500 404が、与えられていない、エラーメッセージのSQL
静的注入を決定します
1.html 1後噴射位置方法、同じトークンは、数値や文字、スーパーSQLインジェクションツールマーキング噴射を決定します

2.例えば、方法はasd111.htmlであることが判明し、この時間はあなたがなど、ID = 111?ID = 111またはasd.asp?asd.phpを構築しようとすることができます

通常の.htmlかどうかを確認する方法を削除する3。

3.検索の種類:
  • あなたはそれ以外の場合は関係なく、結果は構造が表示されませんどのように、キーワードのデータを選択する必要がありません
select * from news where title like%xxxx%

- この文字の真ん中に登場見出し、あいまいクエリ

select * from news where title like ‘ xxxx%

- 任意の文字で終わる、XXXで始まります

select * from news where title like%xxxx ’

- XXXを終了する任意の文字、の冒頭に
閉じた構成
真ん中がそうすべて表示され、空の%%文字であるため、構文自体、近くに。
例
それは郵送で提出されているので、あなたが直接#コメントできるようにし、取得する場合は、URLがエンコードされるように、%23#に変換します。

ユニバーサルパスワード:

select * from 1.news where username='admin'or 1=1# and password=''

この非常にシンプルで見ることを学ぶ前に、その上に構築された状況でのルックスは、通常、既知の管理者パスワードを知りません。

  • 管理者または '' = 'A

  • 管理者または1 = 1#(mysqlの)

  • 管理者または1 = 1- - (のSQLServer)

  • 管理者「または= 1; - - (SQLServerの) 『;』 文はマルチ表し
    関連ステートメント
    前面または状態が続く状態を、それはアカウントのパスワードを知らないかもしれません。

  • キャプチャを用いた通常のスーパーSQLインジェクションのツール、変更要求パケット、。

or 1=1#(mysql)
admin' or 1=1--(sqlserver)
admin' or 1=1;--(sqlserver) #  " ; "表示多语句

それは、アカウントのパスワードを知ることができない、状態が続き、前面または状態です。

  • キャプチャを用いた通常のスーパーSQLインジェクションのツール、変更要求パケット、。
公開された13元の記事 ウォンの賞賛0 ビュー447

おすすめ

転載: blog.csdn.net/m0_46230316/article/details/105290735