欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業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注射漏洞也要及時做好補丁,避免數據庫的淪陷。

標簽:

相關閱讀

主站蜘蛛池模板: 岛国片视频在线观看 | 激情射精爆插热吻无码视频 | 色五月丁香五月综合五月4438 | 色妺妺免费影院 | 又紧又大又爽精品一区二区 | 日韩亚洲 | 欧美人善交videosg | 国产三级精品三级在线专区1 | 美女黄18以下禁止观看 | 国产免费一区二区在线a片视频 | 伊人色综合一区二区三区影院视频 | 国产精品1卡2卡3卡4卡 | 久久久久久久综合狠狠综合 | 日本WV一本一道久久香蕉 | 丁香五月开心婷婷综合中文 | 一区二区三区日本久久九 | 久久久久久人妻一区二区三区 | 黑人玩弄出轨人妻松雪 | 狂野AV人人澡人人添 | 老熟女高潮一区二区三区 | 国产日韩欧美综合在线 | 国产亚洲精品久久久久久快乐8 | 国产伦精品一区二区三区视频免费 | 午夜少妇性开放影院 | 亚洲精品无码高潮喷水A片 无码动漫性爽xo视频在线 | 九色视频免费观看 | 国产日韩欧美综合在线 | 欧美日韩视频在线网 | 在线欧美一区二区 | 国产毛片777777| 黄色国产一区二区 | 男女啪啪激烈高潮免费动态图 | 婷婷丁香狼人久久大香线蕉 | h肉动漫无码无修6080动漫网 | 男人脱了美女内衣摸她胸视频 | 国产自偷亚洲精品页65页 | 色久综合网精品一区二区 | 成午夜免费视频在线观看 | 国产免费黄色一级片 | 亚洲AV无码一区二区二三区软件 | 亚洲综合久久一本伊一区 |