Free性欧美Hd另类_精品亚洲欧美视频在线观看_freesex欧美喷水_字幕av在线_久久久久久国产免费_伊人5566

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 淺解Oracle web環境注射技術

淺解Oracle web環境注射技術

2016-08-22 14:21:32 | 來源:中培企業IT培訓網

Oracle作為目前社會上常用的大型數據庫它本身除了很好地支持各種SQL語句外,還提供了各種豐富的包,存儲過程,甚至支持java和創建library等特性,如此強大的功能為Hacking提供了很好的便利。

中培偉業《ORACLE數據庫管理與性能調優實踐》培訓專家楊老師指出,Oracle自身有很多默認的帳戶,并且有很多的存儲過程,這些存儲過程是由系統建立的,很多默認都是對public開放的,在過去的幾年里公布了很多oracle的漏洞,包括溢出和SQL注射在內的許多漏洞。在這里面,SQL注射漏洞顯得格外嚴重,因為在Oracle里,在不加其他關鍵字AUTHID CURRENT_USER的情況下,創建的存儲過程在運行時是以創建者身份運行的,而public對這些存儲過程都有權限調用,所以一旦自帶存儲過程存在注射的話,很容易讓普通用戶提升到Oracle系統權限。

Oracle本身內置了很多的帳戶,其中一些帳戶都有默認的密碼并且具有CONNECT的權限,這樣如果oralce的端口沒有受到防火墻的保護又可以被人遠程連接的話,就可以被人利用默認帳戶遠程登陸進系統然后利用系統里的存儲過程的SQL注射漏洞,系統就會淪陷,當然,登陸進oracle還需要sid,不過這也并不困難,oracle的tnslintener默認沒有設置密碼,完全可以用tnscmd.pl用services命令查出系統的sid(到比較新的版本,這個漏洞已經被修復了),這也是非常經典的入侵oracle的方式。
  一、Oracle Web Hacking 技術背景
  oracle豐富的系統表。oracle幾乎所有的信息都存儲系統表里,當前數據庫運行的狀態,當前用戶的信息,當前數據庫的信息,用戶所能訪問的數據庫和表的信息......系統表就是整個數據庫的核心部分,通過恰當地查詢需要的系統表,幾乎可以獲得所有的信息。如sys.v_$option就包含了當前數據庫的一些信息,如是否支持java等,all_tables里就包含了所有的表信息,all_tab_colmuns包含所有的列信息等等,為我們獲得信息提供了非常大的便利,后面將有關于如何利用系統表獲取敏感信息的描述。
    oracle的各種漏洞里,需要特別說下存儲過程的注射,其實也并沒有什么神秘,存儲過程和函數一樣是接受用戶的輸入然后送到數據庫服務器解析執行,如果是采取的組裝成SQL字符串的形式執行的話,就很容易將數據和命令混淆,導致SQL注射。但是根據注射發生的點不同,一樣地注射漏洞的性質也不同。Oracle使用的是PL/SQL,漏洞發生在select等DML語句的,因為不支持多語句的執行,所以如果想運行自己的語句如GRANT DBA TO LOVEHSELL這些DDL語句的話,就必須創建自己的函數或存儲過程,如果沒有這相關的權限還可以利用cursor注射,用dbms_sql包來饒過限制。

大多數的注射正是上面這些有限制的注射,必須依靠自己創建的一些其他包或者cursor來實現提升權限的目的,但是還是有些非常少見但是注射環境非常寬松的漏洞,就是用戶的輸入被放在begin和end之間的匿名pl/sql塊的注射,這種環境下的注射可以直接注射進多語句,幾乎沒有任何限制,而可以看到,正是這種閃光的漏洞為我們的web注射技術帶來了怎樣的輝煌。
  二、Oracle Web Hacking 基本思路
    下面說說如何確定目標,注射參數的確定就由大家自己來了,主要是如何判斷數據庫屬于oracle,根據數據庫的特性很容易判斷出來一些腳本在出現數據庫查詢錯誤時,對錯誤信息沒有處理,也會泄露真實的后臺數據庫,這個可以很明顯地看出來。
    然后需要確定的是注射點的類型,一般的情況下,我們進入的參數不是數字類型就基本是字符類型(其他很多人所說的搜索型注射其實還是應該歸結于字符類型的),對于數字類型的基本不用考慮什么,很容易添加--注釋字符就可以讓語句正確閉合了,如果是字符類型的就要考慮如何讓整個語句正確,通常是添加'以及--這些注射字符來構造自己的注射環境。在一些復雜的情況下,如同一個參數在多個sql語句和邏輯里出現,就要自己小心構造出符合環境的注射語句了
    敏感數據只是我們想要的一部分,通常直接殺入oracle可能更有吸引力,這個時候查看系統的信息就非常地有價值了,對注射的靈活運用也非常重要。oracle在啟動之后,把系統要用的一些變量都放置到一些特定的視圖當中,可以利用這些視圖獲得想要的東西。
  三、真實世界里的注射
    這個時候我們就可以根據自己的目標考慮后續的入侵思路了,一種是向web方向發展,通過查詢數據庫的信息來滲透web,一種就是直接入侵數據庫,當然,最完美的情況下是oracle和web是一臺機器。
  四、環境限制
  上面演示的是用SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES這個函數的漏洞,漏洞跟版本有很大關系,所以上面的信息探測也比較重要。實際上,在早點的8i版本里也有類似的漏洞,ctxsys.driload.validate_stmt('grant dba to scott')這樣的形式可以直接以高權限身份執行各種Oracle語句,也可以相應地用在web環境注射里。只要存在可用來執行多語句的漏洞,web注射就有非常大的利用價值。
  五、關于防護
  首先就是盡量有好的編程習慣,避免使用字符串連接的方式來執行Sql語句,如果一定要采用字符串連接方式來執行Sql,那也對進入的參數必須做好過濾,是數字類型的話就強制為數字,是字符串類型的就要做好過濾,從數據庫等其他途徑過來的數據也必須做好驗證,在web app上杜絕Sql注射漏洞。另外在Oralce方面就是要做好對1521端口的防火墻過濾,避免被人直接登陸,對一些不需要的包和存儲過程可以考慮刪除,對一些Sql注射漏洞也要及時做好補丁,避免數據庫的淪陷。

標簽:

相關閱讀

主站蜘蛛池模板: 成年人天堂com | 日本夜爽爽一二区 | 亚洲精品乱码久久久久久久久久久久 | H无码精品视频在线观看网站 | 日产国产精品亚洲系列 | 久久久精品波多野结衣 | 萍萍的性荡生活第二部 | 又大又粗又硬又爽黄毛少妇 | 精品麻豆入口免费 | 两个人看的www在线观看视频 | 精品一区二区三区毛片 | 日韩欧美一区二区免费 | 国内精品久久99 | 狠狠色噜噜狠狠狠狠色综合久AV | 新婚人妻扶着粗大强行坐下 | 亚洲熟妇自偷自拍另欧美 | 九一国产精品视频 | 亚洲精品女人久久久 | 一级毛片欧美真人视频 | 精品国产一区在线观看 | av看片网站 | 女人自慰喷水高清播放 | 国产精选在线播放 | 精品一区精品二区 | 久久天天躁夜夜躁狠狠躁2022 | 99热这里只有精品在线观看 | 亚洲综合成人婷婷五月在线观看 | 太平公主作爱a级毛片 | 亚洲精品视频一二三 | 51妺嘿嘿午夜福利 | 高潮绝顶抽搐大叫久久精品 | 全免费一级毛片免费看 | 开心激情站 | 免费AV无码不卡在线观看 | 成人免费观看a级网站 | 高清a级毛片| 免费精品一区二区三区在线观看 | 妺妺窝人体色WWW聚色窝 | 妺妺窝人体色www在线图片 | 欧美成人精品一区二区三区在线看 | 国产精品无码翘臀在线京东 |