注入全方位利用-POST注入HEAD頭注入sql
1、POST注入介紹數據庫
注入攻擊的本質,是把用戶輸入的數據當作代碼執行。數組
這裏有兩個關鍵條件:瀏覽器
第一個是用戶可以控制輸入函數
第二個是本來程序要執行的代碼,拼接了用戶輸入的數據測試
POST注入屬於注入的一種,相信你們都知道POST\GET兩種傳參方式。spa
POST注入就是使用POST進行傳參的注入,本質上和GET類型的沒什麼區別操作系統
POST注入高危點:orm
登陸框xml
查詢框
等各類和數據庫有交互的框
最經典的POST注入莫過於萬能密碼
'or 1=1#
Sqlmap如何對POST類型SQL注入進行注入
--forms sqlmap去讀取頁面中POST傳參的表單的傳參名而後進行SQL注入
-r 1.txt sqlmap讀取數據包文件進行SQL注入,注入處能夠打一個*號告訴Sqlmap測試那個點
2、Head注入介紹
PHP 全局變量 - 超全局變量
PHP 中的許多預約義變量都是「超全局的」,這意味着它們在一個腳本的所有做用域中均可用。
這些超全局變量是:
$_REQUEST (獲取GET/POST/COOKIE) COOKIE在新版本已經沒法獲取了
$_POST (獲取POST傳參)
$_GET (獲取GET的傳參)
$_COOKIE (獲取COOKIE的值)
$_SERVER (包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組)
$_SERVER功能強大。
$_SERVER['HTTP_HOST'] 請求頭信息中的Host內容,獲取當前域名。
$_SERVER["HTTP_USER_AGENT"] 獲取用戶相關信息,包括用戶瀏覽器、操做系統等信息。
$_SERVER["REMOTE_ADDR"] 瀏覽網頁的用戶ip。
updatexml() 更新xml文檔的函數
語法:updatexml(目標xml內容,xml文檔路徑,更新的內容)
updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)
實際上這裏是去更新了XML文檔,可是咱們在XML文檔路徑的位置裏面寫入了子查詢,咱們輸入特殊字符,而後就由於不符合輸入規則而後報錯了
可是報錯的時候他其實已經執行了那個子查詢代碼!