安全性測(cè)試之續(xù)課件_第1頁(yè)
安全性測(cè)試之續(xù)課件_第2頁(yè)
安全性測(cè)試之續(xù)課件_第3頁(yè)
安全性測(cè)試之續(xù)課件_第4頁(yè)
安全性測(cè)試之續(xù)課件_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 安全性測(cè)試之續(xù)12019/1/302019/1/30 網(wǎng)站安全性問(wèn)題一直是一個(gè)大家所需要重視,但有時(shí)候缺總是感覺(jué)缺乏這種資源或是這個(gè)范圍太廣而無(wú)法全部覆蓋到把,但一旦被人利用就會(huì)造成很多不利影響。所以這個(gè)問(wèn)題最好從源頭開始杜絕,而不是靠后期測(cè)試人員或者使用者發(fā)現(xiàn)再去修復(fù),想到這個(gè)周末便對(duì)都是開發(fā)童鞋的oschina進(jìn)行了一次友情測(cè)試,并得到了不錯(cuò)的效果。 首先認(rèn)證釣魚這個(gè)問(wèn)題是由于一個(gè)引用網(wǎng)絡(luò)圖片問(wèn)題而導(dǎo)致的,這個(gè)實(shí)在影響太大,包括qq,百度,人人,163郵箱,qq郵箱等著名網(wǎng)站。 那么為什么一個(gè)引用網(wǎng)絡(luò)圖片會(huì)導(dǎo)致這個(gè)認(rèn)證釣魚呢,因?yàn)閔ttp認(rèn)證的關(guān)系,好了,下面具體看圖把。22022/7/

2、27測(cè)試新浪郵箱,欺騙窗口彈出32022/7/27前面一段時(shí)間作為wooyun的一員,一直致力于網(wǎng)絡(luò)安全,發(fā)現(xiàn)各類網(wǎng)站及郵箱都會(huì)有一個(gè)高危漏洞,即認(rèn)證釣魚,包括淘寶論壇,支付寶論壇,百度貼吧,qq空間,163郵箱,qq郵箱等網(wǎng)站,當(dāng)用戶打開頁(yè)面的時(shí)候會(huì)引發(fā)了一個(gè)http認(rèn)證,如果用戶不注意就會(huì)輸入用戶名密碼進(jìn)去,因?yàn)榛趯?duì)網(wǎng)站的信任,這個(gè)時(shí)候黑客就會(huì)受到用戶輸入的用戶名和密碼,即可登錄該網(wǎng)站,危害很大,特別是郵箱那么我就以163郵箱為例演示下這個(gè)過(guò)程吧首先我先寫一封郵件42022/7/2752022/7/27點(diǎn)擊發(fā)送,然后到163郵箱查看收到內(nèi)容,并打開郵件看到62022/7/27這個(gè)時(shí)候不注

3、意的用戶就會(huì)看到提示登錄的彈框,很可能輸入用戶名密碼,那么我輸入下看看,結(jié)果輸入的用戶名密碼發(fā)到了我所對(duì)應(yīng)的地址72022/7/27首先,我先找個(gè)能夠引用網(wǎng)絡(luò)圖片的地方,其實(shí)不引用也可以,只要插如img src=“即可82022/7/27之后刷新看效果吧,因?yàn)橹付ǖ膱D片地址引用了一個(gè)http認(rèn)證92022/7/27這個(gè)時(shí)候重新打開頁(yè)面就會(huì)觸發(fā)一個(gè)釣魚認(rèn)證,沒(méi)有警惕性的用戶發(fā)現(xiàn)是要連接關(guān)于訪問(wèn)網(wǎng)站,就輸入了該網(wǎng)站的用戶名和密碼,點(diǎn)擊確定以后其實(shí)這個(gè)密碼就發(fā)給我了,因?yàn)檫@個(gè)釣魚認(rèn)證是我搞的,好了看看效果把。102022/7/27看來(lái)我已經(jīng)收到有人輸如的oschina的用戶名和密碼了112022/7

4、/27看了真的有人中招了,好了那么登陸發(fā)發(fā)消息看看這個(gè)就是我使用剛才收到的用戶名密碼所發(fā)的一條信息,因?yàn)橹皼](méi)有測(cè)試就聯(lián)系紅薯了,只是他找周公去了,所以發(fā)一條消息再下 。 至此測(cè)試成功,之后就有程序猿發(fā)現(xiàn)了這個(gè)情況并發(fā)帖,看來(lái)程序猿的警惕性還是很高的,不過(guò)也說(shuō)明他們也對(duì)安全性的知識(shí)比較缺乏,并不知道這是一個(gè)認(rèn)證釣魚。122022/7/27132022/7/27就此測(cè)試結(jié)束,第二天聯(lián)系紅薯把事情講清楚后,紅薯特地在首頁(yè)搞了一個(gè)置頂貼,看來(lái)他也認(rèn)識(shí)到了問(wèn)題的嚴(yán)重性,畢竟他的網(wǎng)站至少還是可以的142022/7/27 至此,大家應(yīng)該對(duì)認(rèn)證釣魚這個(gè)有所認(rèn)識(shí),網(wǎng)站安全性問(wèn)題一直層出不窮,這個(gè)不但給黑客有了

5、圖利的機(jī)會(huì),更給用戶很多不安定因素,造成對(duì)網(wǎng)站的不信任。很多東西涉及范圍太廣我們也無(wú)法全部覆蓋到,只能一點(diǎn)點(diǎn)積累。 比如xss這個(gè)問(wèn)題,最簡(jiǎn)單的當(dāng)然使用白名單,但很多時(shí)候是無(wú)法避免一些比如onload的標(biāo)簽的,那么就只能過(guò)濾,這個(gè)時(shí)候問(wèn)題就會(huì)層出不窮,大家有興趣可以看一下騰訊圍脖10+的xss慮全面啊,測(cè)試童鞋很多時(shí)候也無(wú)法全部覆蓋,只有大家通力協(xié)作才能把網(wǎng)站做的更好。 下面就是一個(gè)新蛋的彈窗,只是在這個(gè)地方利用方式比較復(fù)雜,最簡(jiǎn)單的就是你登陸我輸個(gè)代碼cookies就發(fā)到我指定地方了,不過(guò)這個(gè)還是開發(fā)童鞋過(guò)濾不嚴(yán)導(dǎo)致的,千里之堤,潰于蟻穴,安全無(wú)小事啊。152022/7/27162022/7

6、/27172022/7/27或者這樣利用,窗口是模態(tài)的182022/7/27輸入用戶名密碼后的效果192022/7/27 好了,測(cè)試同學(xué)肯定覺(jué)得上面的和自己關(guān)系不是很大,那么下面的內(nèi)容我覺(jué)得是對(duì)于web測(cè)試應(yīng)該掌握的,當(dāng)然開發(fā)同學(xué)肯定要很了解其本質(zhì)。 首先我們必須明晰Session的概念,Session是由服務(wù)器維持的一個(gè)服務(wù)器端的存儲(chǔ)空間,用戶在連接服務(wù)器時(shí),會(huì)由服務(wù)器生成一個(gè)唯一的SessionID,用該SessionID為標(biāo)識(shí)符來(lái)存取服務(wù)器端的Session存儲(chǔ)空間。SessionID可以由cookie保存,用戶訪問(wèn)網(wǎng)站時(shí),SessionID將會(huì)隨cookie提交到服務(wù)器端。服務(wù)器也可以

7、通過(guò)URL重寫的方式來(lái)傳遞SessionID的值,但是在URL中傳遞SessionID是存在很大的安全風(fēng)險(xiǎn)的,黑客可能獲取HTTP請(qǐng)求的來(lái)源信息等手段直接就得到了客戶端的SessionID。 其次我們應(yīng)該認(rèn)識(shí)到cookie和session的區(qū)別,因?yàn)檫@里的概念是混淆和模糊的。HTTP協(xié)議是無(wú)狀態(tài)的,客戶端與服務(wù)端無(wú)法長(zhǎng)期的保存身份認(rèn)證及會(huì)話狀態(tài),所以便需要cookie機(jī)制,在客戶端以文件的形式保存會(huì)話狀態(tài)。而session機(jī)制則是在服務(wù)器端保持狀態(tài),不需要長(zhǎng)期保持會(huì)話狀態(tài),但是服務(wù)器端保持狀態(tài)的同時(shí)在客戶端也需要保存一個(gè)標(biāo)識(shí),前面我提到了使用URL傳遞SessionID的安全風(fēng)險(xiǎn),所以sess

8、ion機(jī)制需要借助于cookie機(jī)制。原理上cookie只是做為SessionID的一個(gè)載體,我們只需要區(qū)分cookie機(jī)制和session機(jī)制即可。202022/7/27 同源策略是被提起比較多的一個(gè)安全概念,這個(gè)策略是瀏覽器的安全基礎(chǔ),cookie做為瀏覽器的一個(gè)功能,自然也考慮到了同源策略,cookie的同源策略分為兩個(gè)方面,第一個(gè)方面涉及到cookie的domain和path兩個(gè)值,瀏覽器根據(jù)這兩個(gè)值判斷什么樣的域名和頁(yè)面能夠讀取cookie。第二個(gè)方面是第一方cookie和第三方cookie兩個(gè)概念,第一方cookie是指當(dāng)前正在查看的網(wǎng)站的cookie,在這個(gè)情況下對(duì)同源的HTTP

9、請(qǐng)求都讀取cookie發(fā)送,自然沒(méi)有任何限制。而第三方cookie來(lái)自當(dāng)前正在查看的網(wǎng)站以外的網(wǎng)站的cookie,第三方cookie可以是會(huì)話cookie和持久化cookie,我們正在查看的網(wǎng)站可能包含了第三方的資源,在這種情況下瀏覽器會(huì)因?yàn)榭紤]到同源策略,而判斷從當(dāng)前瀏覽的網(wǎng)站對(duì)站外的請(qǐng)求是否允許讀取第三方cookie發(fā)送。 cookie的同源策略可能比較晦澀,但是并不難理解,我們拿javascript的同源策略類比,比如AJAX不允許跨域的GET和POST請(qǐng)求,而正常的HTML代碼中帶有文件請(qǐng)求的標(biāo)簽實(shí)際上是屬于GET請(qǐng)求,當(dāng)網(wǎng)站嵌入了第三方的文件資源,也就產(chǎn)生了跨域的請(qǐng)求,同源策略是不可

10、能干預(yù)這類正常的請(qǐng)求的,但是從安全的角度仍然有必要限制第三方cookie的存取。212022/7/27 一個(gè)應(yīng)用程序在設(shè)計(jì)的過(guò)程中,為了實(shí)現(xiàn)對(duì)資源和請(qǐng)求進(jìn)行管理,用戶信息認(rèn)證是非常重要的一環(huán)。由于HTTP請(qǐng)求的無(wú)連接性,一般的應(yīng)用程序都是通過(guò)Cookie或者Session來(lái)完成認(rèn)證工作,通過(guò)將加密的用戶認(rèn)證信息存儲(chǔ)到Cookie中,或者通過(guò)賦予客戶端的一個(gè)Token,通常也就是所說(shuō)的SessionId來(lái)在服務(wù)器端直接完成認(rèn)證和取得用戶的身份信息,不管哪一種方式,實(shí)際上在HTTP協(xié)議里都是通過(guò)Cookie來(lái)實(shí)現(xiàn)的,不同的是Cookie可能可以比較長(zhǎng)期地存儲(chǔ)在客戶端上,而Session往往在會(huì)話結(jié)

11、束之后服務(wù)器監(jiān)視會(huì)話不處于活動(dòng)狀態(tài)而予以銷毀。 有的完全將認(rèn)證信息(用戶密碼信息)加密存儲(chǔ)到客戶端里,只要用戶密碼信息不修改,就可以一直利用這個(gè)認(rèn)證信息來(lái)登錄應(yīng)用程序。也有的是將認(rèn)證通過(guò)后應(yīng)用程序賦予客戶端一個(gè)Token,這個(gè)Token存儲(chǔ)在Cookie里,這樣當(dāng)客戶端登錄的時(shí)候就可以通過(guò)這個(gè)Token獲得對(duì)應(yīng)的身份,這樣只要這個(gè)Cookie不被刪除,就可以永遠(yuǎn)的處于登錄狀態(tài)。而另外的一些應(yīng)用程序?qū)oken放置到Session里,當(dāng)客戶端退出應(yīng)用程序之后或者客戶端在一段時(shí)間無(wú)響應(yīng)之后,服務(wù)器就銷毀這個(gè)Session,而且因?yàn)槭荢ession里,所以客戶端瀏覽器關(guān)閉之后,這個(gè)Session也從

12、瀏覽器內(nèi)存里銷毀了。222022/7/27 譬如163郵箱,譬如baidu的認(rèn)證機(jī)制。我們可以經(jīng)常遇到這樣的情況,我在一個(gè)瀏覽器里開了webmail然后新打開一個(gè)瀏覽器開了webmail,然后我第一個(gè)瀏覽器退出了并不影響第二個(gè)的賬戶,兩者互不影響,其實(shí)是因?yàn)樗麄儷@取到了兩個(gè)SessionId,這在應(yīng)用程序里可能是作為用戶體驗(yàn)考慮的,但是正是這種機(jī)制存在巨大的安全漏洞。Session信息是以一個(gè)SessionId或者表現(xiàn)為臨時(shí)Cookie的Token的形式發(fā)送的,而我們?cè)趯?shí)現(xiàn)了XSS的時(shí)候其實(shí)是可以操作Cookie的了,可以想象,如果我們賦給瀏覽器一個(gè)和Session Cookie名字相同而值不

13、同的Cookie會(huì)怎么樣?通過(guò)我們的測(cè)試發(fā)現(xiàn),實(shí)際上兩個(gè)Cookie都是被發(fā)送出去的,在HTTP頭里表現(xiàn)為出現(xiàn)兩個(gè)一樣的COOKIE,那么服務(wù)器會(huì)選擇哪個(gè)Cookie作為實(shí)際取得的COOKIE變量呢?測(cè)試的時(shí)候發(fā)現(xiàn)實(shí)際上是以第一個(gè)出現(xiàn)的COOKIE為準(zhǔn)的,而不管發(fā)送過(guò)來(lái)的是Session Cookie還是Store Cookie,所以我們就可以利用Javascript改變客戶端的Session Token了。232022/7/27 跨域web攻擊指的是利用網(wǎng)站跨域安全設(shè)置缺陷進(jìn)行的web攻擊,有別于傳統(tǒng)的攻擊,跨域web攻擊可以從網(wǎng)站某個(gè)不重要的業(yè)務(wù)直接攻擊和影響核心業(yè)務(wù)。傳統(tǒng)的安全思維教會(huì)我

14、們按資產(chǎn)、功能等需求劃分核心業(yè)務(wù),優(yōu)先保護(hù)核心業(yè)務(wù)等,非核心業(yè)務(wù)的安全等級(jí)一般沒(méi)有核心業(yè)務(wù)高,給我們錯(cuò)覺(jué)是非核心業(yè)務(wù)受到攻擊的話,所造成損失不會(huì)很大,也不會(huì)影響到核心業(yè)務(wù),所以了解跨域web攻擊這一概念還是非常有意義的。 基于ajax跨域設(shè)置的跨域攻擊 使用ajax技術(shù)讓人頭痛的地方就是如何跨域,受同源策略所限不同域名包括子域名在內(nèi)是無(wú)法進(jìn)行AJAX請(qǐng)求的,隨后衍生出一類技術(shù)可以通過(guò)設(shè)置document.domain實(shí)現(xiàn)跨域。如和,當(dāng)兩個(gè)網(wǎng)站通過(guò)javascript操作DOM接口 document.domain= 將網(wǎng)站的域設(shè)置為后,兩個(gè)網(wǎng)站就處于同一個(gè)域內(nèi),可以進(jìn)行各種跨域操作。在開發(fā)人員方

15、面這是很方便的跨域技術(shù),但是在攻擊者眼中這簡(jiǎn)直就是一個(gè)大后門,黑客只需要找到*.下任意一個(gè)XSS漏洞,在任意一個(gè)子域名里的網(wǎng)頁(yè)都可以跨域攻擊和。 說(shuō)到這里就不得不說(shuō)說(shuō)騰訊的架構(gòu)問(wèn)題,騰訊圍脖和QQ郵箱的cookies都沒(méi)有設(shè)置httponly,現(xiàn)在騰訊業(yè)務(wù)線很長(zhǎng),騰訊網(wǎng)站很多地方程序員都是從 document.cookie里讀取skey來(lái)使用的,一旦http-only的話,很多程序都要修改。 鑒于成本和可能出現(xiàn)的難以預(yù)料的問(wèn)題就沒(méi)有改,但這個(gè)時(shí)候只要先關(guān)騰訊的網(wǎng)站有一個(gè)xss,我們就能夠通過(guò)這個(gè)xss構(gòu)造一個(gè)短地址發(fā)在圍脖或發(fā)給郵箱用戶,只要點(diǎn)擊就會(huì)執(zhí)行第三方腳本,從而導(dǎo)致qq相關(guān)cookie

16、s被竊取,那么所有騰訊網(wǎng)站就都可以登陸了。242022/7/27 上面的基礎(chǔ)知識(shí)不知道童鞋們能體會(huì)多少,現(xiàn)在就到了fiddler工具的使用,這個(gè)就比較實(shí)際了,開發(fā)童鞋應(yīng)該都很熟練了。 當(dāng)今web程序的開發(fā)技術(shù)真是百家爭(zhēng)鳴,ASP.NET, PHP, JSP,Perl, AJAX 等等。 無(wú)論Web技術(shù)在未來(lái)如何發(fā)展,理解Web程序之間通信的基本協(xié)議相當(dāng)重要, 因?yàn)樗屛覀兝斫饬薟eb應(yīng)用程序的內(nèi)部工作。 協(xié)議是指計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或規(guī)則,超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器。

17、目前我們使用的是HTTP/1.1 版本 http協(xié)議是無(wú)狀態(tài)的,同一個(gè)客戶端的這次請(qǐng)求和上次請(qǐng)求是沒(méi)有對(duì)應(yīng)關(guān)系,對(duì)http服務(wù)器來(lái)說(shuō),它并不知道這兩個(gè)請(qǐng)求來(lái)自同一個(gè)客戶端。 為了解決這個(gè)問(wèn)題, Web程序引入了Cookie機(jī)制來(lái)維護(hù)狀態(tài)。252022/7/27262022/7/27 我們?cè)倏碦esponse消息的結(jié)構(gòu), 和Request消息的結(jié)構(gòu)基本一樣。 同樣也分為三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之間也有個(gè)空行, 結(jié)構(gòu)如下圖 HTTP/version-number表示HTTP協(xié)議的版本號(hào),

18、status-code 和message 。 我們用Fiddler 捕捉一個(gè)博客園首頁(yè)的Response然后分析下它的結(jié)構(gòu), 在Inspectors tab下以Raw的方式可以看到完整的Response的消息272022/7/27282022/7/27Get和Post方法的區(qū)別 Http協(xié)議定義了很多與服務(wù)器交互的方法,最基本的有4種,分別是GET,POST,PUT,DELETE. 一個(gè)URL地址用于描述一個(gè)網(wǎng)絡(luò)上的資源,而HTTP中的GET, POST, PUT, DELETE就對(duì)應(yīng)著對(duì)這個(gè)資源的查,改,增,刪4個(gè)操作。 我們最常見(jiàn)的就是GET和POST了。GET一般用于獲取/查詢資源信息,

19、而POST一般用于更新資源信息.我們看看GET和POST的區(qū)別1. GET提交的數(shù)據(jù)會(huì)放在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的數(shù)據(jù)放在HTTP包的Body中.2. GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),而POST方法提交的數(shù)據(jù)沒(méi)有限制.3. GET方式需要使用Request.QueryString來(lái)取得變量的值,而POST方式通過(guò)Request.Form來(lái)獲取變量的值。4. GET方式提交數(shù)據(jù),會(huì)帶來(lái)安全問(wèn)題,比如一個(gè)登錄頁(yè)面,通過(guò)GET方式提交數(shù)據(jù)時(shí),

20、用戶名和密碼將出現(xiàn)在URL上,如果頁(yè)面可以被緩存或者其他人可以訪問(wèn)這臺(tái)機(jī)器,就可以從歷史記錄獲得該用戶的賬號(hào)和密碼.292022/7/27 Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下圖302022/7/27QuickExec命令行的使用Fiddler的左下角有一個(gè)命令行工具叫做QuickExec,允許你直接輸入命令。常見(jiàn)得命令有help 打開官方的使用頁(yè)面介紹,所有的命令都會(huì)列出來(lái)cls 清屏 (Ctrl+x 也可以清屏)select 選擇會(huì)話的命令?.pn

21、g 用來(lái)選擇png后綴的圖片bpu 截獲request312022/7/27Fiddler中設(shè)置斷點(diǎn)修改Request Fiddler最強(qiáng)大的功能莫過(guò)于設(shè)置斷點(diǎn)了,設(shè)置好斷點(diǎn)后,你可以修改httpRequest 的任何信息包括host, cookie或者表單中的數(shù)據(jù)。設(shè)置斷點(diǎn)有兩種方法第一種:打開Fiddler 點(diǎn)擊Rules- Automatic Breakpoint -Before Requests(這種方法會(huì)中斷所有的會(huì)話)如何消除命令呢? 點(diǎn)擊Rules- Automatic Breakpoint -Disabled第二種: 在命令行中輸入命令: bpu (這種方法只會(huì)中斷)如何消除命令呢? 在命令行中輸入命令 bpu322022/7/27332022/7/27Fiddler中設(shè)置斷點(diǎn)修改Response 當(dāng)然Fiddler中也能修改Response第一種:打開Fiddler 點(diǎn)擊Rules- Automatic Breakpoint -After Response

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論