關於sql注入的簡要演示(入坑拋磚)

2022-09-25 22:27:17 字數 1396 閱讀 5457

首先可能大家都會問什麼是sql?

sql是資料庫的一種型別,是用來儲存**資料的。

每當我們點開乙個**,就會從**的資料庫中獲取相關的內容。

我們來梳理一下訪問網頁的簡圖:

看完這個以後,我們發現乙個問題,當我們對傳送資料這塊動足夠腦筋的時候,只要輸入合理是可以做很多事情的,我們程式設計客棧可以利用其方式獲取很多內容。

接下來我們來講解一下「 ' 」這個符號在sql中的運用

首先'在sql中閉合一句話結束,如果這句話用的是'來閉合,那麼我們人為的加入 ' 是不是可以在後面接新的語句了呀?接新的句子就可以做自己想要做的事情了。

當然,如果大家想要真的理解還是要多學學sql和asp等語言。

接下來我們來開始演示吧~

接下來步入正軌,進入網域名稱以後,我們會發現**是要我們輸入id的,所以在這裡按照sql的要求輸入

這裡的?id=1是資料庫的進入的格式,想要回去對應的資料變數字就行了。

接著變換id,我們發現有多個賬戶密碼,這些都是這個**對應的資料庫裡面的內容。也是資料庫裡面對應的路徑。

接下來就是重點了,當我們在http:/程式設計客棧/localhost/sqli/less-1/?id=1後面加入 ' 時候,我們來看一下

我們發現這個**出現了報錯,並且出現了錯誤資訊的乙個反饋

''1'' limit 0,1'

這是由於我們加入 ' 引起的,我們來看一下這個程式設計客棧報錯語句,分析一下它,去掉最外層的 『' 得到 '1'' limit 0,1 我們發現這個資料庫有限制,輸出只能是一行。

因為我們加入了'閉合了語句,那麼結合後面的內容,我們可以在'後面補充一些句子來得到更多的內容,在這裡我想獲取資料庫使用者名稱,一般預設user

%23就是'的意思。 是#url編碼之後的值,因為sql語句在進入資料查詢的時候會進行一次url解碼,所以這個地方必須是url編碼之後的值

這裡我們看到ubphxj出現了

~rwww.cppcns.comoot@localhost

也就是資料庫的使用者名稱是 root

接下來我要查詢資料庫名稱

這裡因為我把資料庫檔案名字改了所以沒有查出來,當然,如果你知道的夠多,這裡還有很多種做法,這裡的datebase的名字是可以猜解出來的。

本文標題: 關於sql注入的簡要演示(入坑拋磚)

本文位址:

關於sql注入的簡要演示

首先可能大家都會問什麼是sql?sql是資料庫的一種型別,是用來儲存 資料的。我們來梳理一下訪問網頁的簡圖 看完這個以後,我們發現乙個問題,當我們對傳送資料這塊動足夠腦筋的時候,只要輸入合理是可以做很多事情的,我們可以利用其方式獲取很多內容。接下來我們來講解一下 這個符號在sql中的運用 首先 在s...

關於sql語句中limit的坑

在使用分頁查詢時遇到了這樣這個思維錯誤,如下 string sql select from topic where c id and delete 0 order by update time desc limit 這裡同時有條件和限制,我本以為先條件查詢,也就是先執行了 where c id an...

關於sql注入的一些理解

什麼叫做sql注入?sql注入算是一些不法分子的攻擊手段,通過sql語句來實現無賬號密碼登入及其他操作。比如在乙個需要登入的介面 賬號輸入成這樣的話,密碼可以隨意,那麼能很輕易的登入進去。因為在這條sql執行的時候,後台的sql語句生成會出現 select from table where user...