共計 1219 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關數據庫中 sql 注入的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
首先可能大家都會問什么是 sql?
Sql 是數據庫的一種類型,是用來存儲網站數據的。
每當我們點開一個網站,就會從網站的數據庫中獲取相關的內容。
我們來梳理一下訪問網頁的簡圖:
看完這個以后,我們發現一個問題,當我們對發送數據這塊動足夠腦筋的時候,只要輸入合理是可以做很多事情的,我們可以利用其方式獲取很多內容。
接下來我們來講解一下“”這個符號在 sql 中的運用
首先 在 sql 中閉合一句話結束,如果這句話用的是 來閉合,那么我們人為的加入 是不是可以在后面接新的語句了呀?接新的句子就可以做自己想要做的事情了。
當然,如果大家想要真的理解還是要多學學 sql 和 asp 等語言。
接下來我們來開始演示吧~
接下來步入正軌,進入域名以后,我們會發現網站是要我們輸入 id 的,所以在這里按照 sql 的要求輸入
http://localhost/sqli/Less-1/?id=1
這里的?Id= 1 是數據庫的進入的格式,想要回去對應的數據變數字就行了。
http://localhost/sqli/Less-1/?id=2
接著變換 id,我們發現有多個賬戶密碼,這些都是這個網站對應的數據庫里面的內容。也是數據庫里面對應的路徑。
接下來就是重點了,當我們在 http://localhost/sqli/Less-1/?id= 1 后面加入 時候,我們來看一下
我們發現這個網站出現了報錯,并且出現了錯誤信息的一個反饋
1 LIMIT 0,1
這是由于我們加入 引起的,我們來看一下這個報錯語句,分析一下它,去掉最外層的‘得到 1 LIMIT 0,1 我們發現這個數據庫有限制,輸出只能是一行。
因為我們加入了 閉合了語句,那么結合后面的內容,我們可以在 后面補充一些句子來得到更多的內容,在這里我想獲取數據庫用戶名,一般默認 user
http://localhost/sqli/Less-1/?id=1 and updatexml(1,concat(0x7e,user()),0)%23
%23 就是 的意思。是 #url 編碼之后的值,因為 sql 語句在進入數據查詢的時候會進行一次 url 解碼,所以這個地方必須是 url 編碼之后的值
這里我們看到出現了
~root@localhost
也就是數據庫的用戶名是 root
接下來我要查詢數據庫名稱
http://localhost/sqli/Less-1/?id=1 and updatexml(1,concat(0x7e,datebase()),0)%23
這里因為我把數據庫文件名字改了所以沒有查出來,當然,如果你知道的夠多,這里還有很多種做法,這里的 datebase 的名字是可以猜解出來的。
關于“數據庫中 sql 注入的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。