亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買(mǎi)流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷(xiāo)推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

SQL Server注入錯(cuò)誤介紹及產(chǎn)生原理

添加時(shí)間:2014-4-18 16:57:22  添加: 思海網(wǎng)絡(luò) 

  對(duì)于注入而言,錯(cuò)誤提示是極其重要。所謂錯(cuò)誤提示是指和正確頁(yè)面不同的結(jié)果反饋,高手是很重視這個(gè)一點(diǎn)的,這對(duì)于注入點(diǎn)的精準(zhǔn)判斷至關(guān)重要。本問(wèn)討論下關(guān)于幾類(lèi)錯(cuò)誤和他產(chǎn)生的原理,希望對(duì)讀者有所幫助。

  錯(cuò)誤提示主要有邏輯錯(cuò)誤和語(yǔ)法錯(cuò)誤以及腳本運(yùn)行錯(cuò)誤三類(lèi)。

  1.邏輯錯(cuò)誤

  簡(jiǎn)單的例子是1=1 1=2這兩個(gè),1=1與1=2頁(yè)面不同的原理是什么?以$sql = "select * from news where id=$_GET[id]"為例。

   select * from news where id=1 and 1=2產(chǎn)生的結(jié)果集為NULL,然后程序取值得時(shí)候,就會(huì)去出空值,無(wú)法顯示。當(dāng)然有的程序發(fā)現(xiàn)SQL執(zhí)行結(jié)果集為空,就立即跳轉(zhuǎn),效果就不顯鳥(niǎo)。值得注 意的是,有的如Oracle Postgresql的數(shù)據(jù)庫(kù)在結(jié)果集為空情況下會(huì)再頁(yè)面上表現(xiàn)字符型null字樣,這算是個(gè)特點(diǎn)。如果使用or條件,比如

  select * from news where id=1 or 1=1

 

   和and 1=2得結(jié)果正好相反,他的結(jié)果集十分龐大。如果SQL語(yǔ)句如此,再加上程序是循環(huán)讀取結(jié)果集(一些編程上的陋習(xí))那么會(huì)取出所有結(jié)果,結(jié)果可能運(yùn)行很 慢,在數(shù)據(jù)量巨大的Oracle上容易出現(xiàn)。這個(gè)例子會(huì)出現(xiàn)什么呢,一般程序取出結(jié)果集中的第一條結(jié)果,那么很可能已經(jīng)不是id=1的那條新聞了,這就是 由些小菜奇怪有時(shí)候or 1=1頁(yè)面會(huì)發(fā)生變化的原因。

  歸根到底,都是結(jié)果集不同造成的,靈活掌握是關(guān)鍵,這并非單純的經(jīng)驗(yàn)問(wèn)題。

  2.語(yǔ)法錯(cuò)誤

   語(yǔ)法錯(cuò)誤時(shí)比較熟悉的,比如對(duì)于sql server,PgSQL,Sybase的注入錯(cuò)誤提示都很重要,因?yàn)槔盟奶匦詠?lái)獲取信息很快速。語(yǔ)法錯(cuò)誤造成的結(jié)果可能是SQL錯(cuò)誤而中斷腳本執(zhí) 行,但是腳本或服務(wù)器設(shè)置屏蔽錯(cuò)誤的情況下,程序得到繼續(xù)執(zhí)行,但是結(jié)果集不存在,連NULL都算不上,反饋給攻擊者的很可能就是結(jié)果集為空的情況,其實(shí) 這是腳本的處理結(jié)果。當(dāng)然Oracle PgSQL表現(xiàn)null。

  運(yùn)行錯(cuò)誤不用說(shuō)了,典型的就是利用MySQL注入benchmark讓腳本運(yùn)行超時(shí)得到物理路徑,以及利用超時(shí)來(lái)獲得不同的表征進(jìn)行盲注入。

  3.邏輯錯(cuò)誤和語(yǔ)法錯(cuò)誤的結(jié)合。

  當(dāng)表征極不明顯的時(shí)候,利用類(lèi)似iff這樣的函數(shù)進(jìn)行正確與否的區(qū)分有時(shí)候會(huì)成救命稻草。因?yàn)檎Z(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的表征大多數(shù)情況都會(huì)有不同。

  iff(1=1,1,'no')這個(gè)會(huì)產(chǎn)生結(jié)果1 注意是數(shù)字,而iff(1=2,1,'no')這個(gè)會(huì)產(chǎn)生'no' 是字符。那么

  id=1 and 1=iff(1=1,1'no')正確是必然成立的,而id=1 and 1=iff(1=2,1,'no')會(huì)因?yàn)轭?lèi)型不同發(fā)生語(yǔ)法錯(cuò)誤。不過(guò)可惜的是似乎支持iff函數(shù)的數(shù)據(jù)庫(kù)不多,呵呵。

  現(xiàn)在講結(jié)果集在注入中的利用原理。

  1.從'or''='開(kāi)始

  這是學(xué)習(xí)SQL注入的初級(jí)課程,登陸漏洞。我簡(jiǎn)略從SQL結(jié)果集上分析。

  $sql = "select top 1 * from admin where username='$username' and password=md5('$password')";

 

  顯而易見(jiàn),'or''='的加入使SQL語(yǔ)句返回了一條記錄,這才使驗(yàn)證通過(guò)。

  2.再看現(xiàn)在的驗(yàn)證中的SQL

  $sql = "select top 1 * from admin where username='$username'";

 

   結(jié)果集不為空才根據(jù)抽取的記錄集中的密碼值與用戶提交的密碼MD5值進(jìn)行比對(duì)來(lái)進(jìn)行驗(yàn)證。這樣,你突然發(fā)現(xiàn)'or''='的計(jì)策失敗鳥(niǎo),但是后臺(tái)明明有 注入,這就是驗(yàn)證方法造成的。跟進(jìn)這個(gè)驗(yàn)證過(guò)程,'or''='的確產(chǎn)生了一個(gè)結(jié)果集(admin表中的第一行記錄)但是遺憾的事,后來(lái)的密碼比對(duì)沒(méi)法通 過(guò),驗(yàn)證無(wú)法成功。

  思路很簡(jiǎn)單,網(wǎng)上有案例,我重在原理,利用union來(lái)產(chǎn)生想要的結(jié)果集。比如'and(1=2)union select top 1 username,'123456得md5值',id from admin where username='admin

  這樣產(chǎn)生了admin的記錄信息,但是記錄集中的密碼那個(gè)位置的值被替換成了123456的md5值,這樣,使用admin 123456通過(guò)驗(yàn)證并且繼承他的權(quán)利。

   更有甚者全部用'xxx'的方法來(lái)盲狙,這就很“過(guò)分”鳥(niǎo)。不過(guò)在sql2000 sybase這些嚴(yán)格要求類(lèi)型匹配的數(shù)據(jù)庫(kù)來(lái)說(shuō),這樣不能撼動(dòng)“管理員登陸”的,因?yàn)閳?zhí)行時(shí)發(fā)生了語(yǔ)法錯(cuò)誤,結(jié)果集為NULL。另外以前 ewebeditor注入漏洞來(lái)上傳馬也是這個(gè)union操作結(jié)果集來(lái)達(dá)到目的的經(jīng)典案例。

關(guān)鍵字:SQL Server、數(shù)據(jù)庫(kù)、服務(wù)器

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專(zhuān)項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站