成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入分析SQL字符串限制長度漏洞

數據庫 MySQL
SQL注入攻擊一直都在被廣泛的討論,然而人們卻忽略了今天我將要介紹的這兩個安全隱患,那就是超長SQL查詢和單列SQL字符長度限制可能會帶來的問題。

MySQL字符串的限制長度看似重要性不要,其實和整個MySQL數據庫的安全性是息息相關的,很值得我們去深入研究分析。

SQL注入攻擊一直都在被廣泛的討論,然而人們卻忽略了今天我將要介紹的這兩個安全隱患,那就是超長SQL查詢和單列SQL字符長度限制可能會帶來的問題。

首先我們來談論一下超長SQL查詢

max_packet_size
這個東西是用來限制mysql客戶端和服務器通信數據包的長度的,比如一個查詢為“select * from user where 1”,那么這個長度僅僅幾十個字節,所以不會超標。在絕大多情況下,我們很難會超過mysql的默認限制1M(可以想象一下,1M的SQL語句還是很長的)。這里插一句,看到這篇文章之后,我終于清楚我當初用PEAR DB 的INSERT插入數據失敗的原因了,很可能就是數據長度超標。對于MySQL來說,如果查詢MySQL字符串的大小超過了這個限制,mysql將不會執行任何查詢操作

如果訪問者有可能控制你的sql長度,那么你的程序可能會受到攻擊。哪些情況訪問者可能控制sql的長度呢,比如不限制關鍵字長度的搜索。還有可能就是你的程序如果要將用戶的登錄作為日志啟用,總之凡是涉及到超長sql查詢的地方,一定得小心檢查自己的sql,防止超長而查詢失效。不過說實在的,本人認為這個問題倒不是多大,數據庫光里管理員也可以自行設置MySQL的max_packet_size的長度,或者在處理可能超長的SQL查詢的時候做一個長度判斷。

MySQL列長度限制
這個是本文的重點。MySQL對于插入的字符串,如果長度超過了數據表限制的長度,MySQL將會截取前面部分MySQL字符串插入數據庫中,而不會將錯誤報給web程序。對于粗心的程序員,這個問題可能會導致程序的漏洞,其實目前的wordpress有很多限制,通過這個漏洞攻擊應該沒有任何作用。下面是原作者的幾個假設,如果同時滿足這幾個條件,獲取一個站點的用戶名是相當容易的事情,幸運的是目前的wordpress并不太可能會同時滿足下面的條件:

該web應用允許用戶注冊(開放注冊的wordpress滿足此條件);
超級管理員的用戶名已知的,比如admin,這樣方便攻擊者尋找目標(可憐wordpress也滿足)
MySQL使用的是默認的配置(估計大多數都滿足)
注冊新用戶的時候,程序沒有對用戶名的長度給予限制(我測試過,wordpress也滿足)
用戶名被限制在16個字符(這個和上面的沒有關系,僅僅是方便舉例)
下面我們來看看攻擊者是怎么攻擊的:

首先攻擊者用已知的超級管理員id如admin注冊,那么這個時候程序就會用

(show/hide)plain text
SELECT * FROM user WHERE username='admin '
來檢查該ID是否已經存在,如果存在,這不允許注冊,當然,攻擊者嘗試注冊admin肯定會失敗;

但是如果攻擊者用 admin       X(admin和x之間有11個或以上的空格)來注冊呢,按照上面的判斷,由于admin     x不存在數據庫中,所以當然就能注冊成功了,事實上wordpress2.6.1之前的版本確實可以這樣,由于列長度的限制在16個字符內,所以末尾的x就被截掉了,那么現在數據庫中就存在兩個一模一樣的用戶admin了。(旁白:糟糕,那我的程序不是都要去修改。其實沒有必要,你只要把ID設置為UNIQUE就可以了,于是乎,下面的問題就和你沒有關系了)

攻擊者繼續,這個時候攻擊者就順利的注冊了admin這個用戶名,然后攻擊者用admin和自己的密碼登錄進入賬戶管理(wordpress即使注冊了也無法登陸),由于真正的admin的帳號先于攻擊者admin注冊,所以在賬戶信息頁面,顯示的信息非常有可能就是真正admin的信息,包括密碼提示和email等,這個時候攻擊者就可以對admin的信息進行任意修改,包括密碼和密碼找回。

所以,寫web程序的你,是不是該去檢查一下自己的程序是否有此類的漏洞呢。

 

 

【編輯推薦】

MySQL字符串中數字排序的問題

深入了解MySQL字符串比較函數

帶您深入了解MYSQL字符串連接

MySQL字符串連接函數repeat()

MySQL字符串分割并拼接語句介紹

責任編輯:段燃 來源: 互聯網
相關推薦

2017-01-17 15:47:18

2017-09-28 10:12:51

2010-09-07 14:21:22

PPPoE協議

2022-04-12 08:30:45

TomcatWeb 應用Servlet

2011-03-23 11:01:55

LAMP 架構

2017-01-15 22:51:16

2010-11-08 15:58:54

SQL Server連

2010-03-08 14:53:48

Linux分區

2023-02-01 08:13:30

Redis內存碎片

2011-09-01 13:51:52

JavaScript

2010-09-29 14:21:22

2010-09-13 15:06:40

sql server字

2009-12-16 16:39:01

Visual Stud

2009-06-10 18:12:38

Equinox動態化OSGi動態化

2022-08-30 07:00:18

執行引擎Hotspot虛擬機

2009-12-14 14:50:46

Ruby傳參數

2021-10-29 16:36:53

AMSAndroidActivityMan

2010-04-27 12:19:57

Unix字符串

2015-08-03 09:54:26

Java線程Java

2018-10-25 15:24:10

ThreadLocal內存泄漏Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久小视频 | 午夜视频精品 | 欧美久久久 | 涩涩视频网站在线观看 | 亚洲欧洲一区 | 正在播放亚洲 | 欧美韩一区二区三区 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 伊人网伊人网 | 成人在线视频观看 | 午夜小视频在线观看 | 欧美区日韩区 | av av在线| 久久久国| 欧美一级在线观看 | 亚洲欧美精品久久 | 国产乱码精品一区二区三区五月婷 | 日韩美女在线看免费观看 | 99久久精品免费看国产小宝寻花 | 亚洲性网 | 91视频大全 | 综合精品 | 成年人免费看 | www.成人.com| www.亚洲免费 | 久久久久亚洲 | 日本 欧美 国产 | 国产精品免费福利 | 欧美一区二区三区久久精品 | cao视频 | 日本一区二区视频 | 日韩一区二区三区在线观看视频 | 日韩一区二区福利 | 久久人人爽人人爽 | 欧美成人a∨高清免费观看 91伊人 | 亚洲精品免费在线观看 | 日韩中文字幕免费 | 国产精品国产馆在线真实露脸 | 国产成人免费视频网站视频社区 | 四虎影院在线观看免费视频 | 久久精点视频 |