注入全方位利用-POST注入HEAD頭注入
一、POST注入介紹
注入攻擊的本質,是把用戶輸入的數據當做代碼執行。
這里有兩個關鍵條件:
第一個是用戶能夠控制輸入
第二個是原本程序要執行的代碼,拼接了用戶輸入的數據
POST注入屬於注入的一種,相信大家都知道POST\GET兩種傳參方式。
POST注入就是使用POST進行傳參的注入,本質上和GET類型的沒什么區別
POST注入高危點:
登錄框
查詢框
等各種和數據庫有交互的框
最經典的POST注入莫過於萬能密碼
'or 1=1#
Sqlmap如何對POST類型SQL注入進行注入
--forms sqlmap去讀取頁面中POST傳參的表單的傳參名然后進行SQL注入
-r 1.txt sqlmap讀取數據包文件進行SQL注入,注入處可以打一個*號告訴Sqlmap測試那個點
二、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文檔路徑的位置里面寫入了子查詢,我們輸入特殊字符,然后就因為不符合輸入規則然后報錯了
但是報錯的時候他其實已經執行了那個子查詢代碼!