1. 程式人生 > 實用技巧 >SQL注入實驗學習筆記

SQL注入實驗學習筆記

實操靶場地址:SQL注入實驗一

根據指導書我們要先在實驗機進入這個網址http://10.1.1.11:81
在這裡插入圖片描述
進入之後會看到三個例項。
在這裡插入圖片描述
例項一
根據指導書的提示來做這一題。後面兩個例項也要看這個指導書。
在這裡插入圖片描述
先判斷是否存在注入
方法一 在引數後面加上單引號,比如:
http://xxx/abc.php?id=1’
如果頁面返回錯誤,則存在 Sql 注入。 原因是無論字元型還是整型都會因為單引號個數不匹配而報錯。當然還有可能加了’,和沒加是一樣的,這也有可能是注入。因為當把錯誤提示關閉時,它是不會在頁面顯示的。
方法二
構造 and 1 = 1 和 and 1 = 2
如果兩個頁面顯示不一樣,那麼就說明存在注入了。
這裡使用的是方法二。

在這裡插入圖片描述

在這裡插入圖片描述
兩次顯示不一樣,存在注入。
猜測欄位數
在後面加一個 %23或–+把後面的註釋掉
使用order by 來對資料進行排序,我們可以從1開始測試或者使用均分法先從一個大的資料測,然後再分半。
先用5能出現數據
http://10.1.1.11:81/sqli/example1.php?name=root’ order by 5%23
在這裡插入圖片描述
接著用6試一下
http://10.1.1.11:81/sqli/example1.php?name=root’ order by 6%23
在這裡插入圖片描述
此時已經出錯所以有5個欄位
使用union聯合注入,union 的作用是將兩個 sql 語句進行聯合,union 前後的兩個 sql 語句的選擇列數要相同才可以。

在這裡插入圖片描述
猜欄位內容
在這裡插入圖片描述

例項二
這個例項的操作步驟和第一個例項的差不多,就是不能用空格,至於為什麼不能用空格,可以看一下指導書
在這裡插入圖片描述
雖然說是少用空格但是出現空格就會報錯,但在判斷是否注入的時候不出現空格是可以的
在這裡插入圖片描述
在這裡插入圖片描述
在猜測欄位數的時候以為把空格去掉就可以但其實是錯的,因為之前沒怎麼做過sql注入的題目,所以就在網上搜索了一下怎樣繞過空格。
有兩個解決方法
在這裡插入圖片描述
我是用的第一種方法。接下來的步驟和實驗一的一樣
猜測欄位數
這個也是5個欄位
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
猜欄位內容
在這裡插入圖片描述
例項三
例項三和例項二的操作方法完全相同。
看是否存在注入
在這裡插入圖片描述
在這裡插入圖片描述
猜測欄位數
這裡也是5
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
猜測欄位內容