寫在前面的話
當PornHub公布了他們的公開漏洞獎勵計劃之後,我敢肯定的是該網站之前存在的一些低級漏洞或比較容易發現的漏洞都已經被別人挖出來了。
但是當我開始著手挖PornHub的漏洞時,我卻在15分鐘之內就發現了第一個漏洞,而在幾分鐘之後我又找出了第二個漏洞。
在我整個挖洞生涯中,我從來沒有以這麼快的速度挖出過漏洞,所以我覺得非常的激動!
作為回報,我收到了PornHub所提供的總共500美金的漏洞獎勵,外加一件非常炫酷的T恤衫,衣服的圖片我已經發到Reddit上了,如下圖所示:
當我將這張照片發到Reddit上之後,我壓根沒想到它會受到如此多的關注,而且很多人都向我私信並問我有關挖洞的事情。
「你是怎樣完成攻擊的?」以及「你為什麼要攻擊PornHub?」等等。
由於要遵守漏洞獎勵計劃的規定,我當時並不能給大家回答這些問題。
但是現在這些漏洞已經被修復了,所以我打算在這篇文章中跟大家描述一下挖洞的整個經過。
挖洞過程
我當時正在使用瀏覽器瀏覽PornHub Premium網站,而我僅在20分鐘之內就發現並報告了兩個反射型跨站腳本(XSS)漏洞。
跨站腳本漏洞將允許攻擊者在一個網站中執行惡意腳本,OWASP給出的XSS漏洞定義如下:
一名攻擊者可以利用XSS漏洞向不知情的用戶發送惡意腳本。
終端用戶的瀏覽器無法確定這些腳本是否可信任,並且會自動運行這些惡意腳本。
因為它會認為這個腳本來自一個可信任的源,而惡意腳本將訪問瀏覽器中保存的cookie、會話token或其他的敏感信息,並利用這些信息來完成其他的惡意目的,而有些腳本甚至還可以修改頁面的HTML代碼。
我所發現的第一個漏洞存在於網站的「兌換碼」區域,這個文本框並不會對用戶的輸入數據進行檢測,而我們就可以在這個輸入框中輸入攻擊payload了,於是我就可以用下面給出的payload來讓頁面顯示我們的腳本信息:
PAYLOAD+STACK++%3E%27" /Autofocus/Onfocus=confirm`1`//&error=1
這個payload的第一部分「PAYLOAD STACK」用於確保我們的payload可以被正常發送。
如果我輸入的是:
++%3E%27" /Autofocus/Onfocus=confirm`1`//&error=1
如果沒有輸入剛才的「PAYLOAD STACK」,那麼Web應用將會屏蔽我所輸入的內容,此時頁面就不會顯示任何腳本內容了。
在payload前面輸入一些無害內容可以欺騙網站的驗證器,而我們的payload就可以正常執行了。
我所發現的第二個漏洞同樣是一個XSS漏洞,這個漏洞的發現過程就更簡單了。
我當時發現了一個只會對新用戶顯示一次的URL參數,當我在這個參數中輸入了一個payload之後就成功觸發了網站的XSS漏洞,也許這就是該漏洞為何遲遲沒有被發現的原因吧。
大多數漏洞獵人會在開始挖洞之前先熟悉一下目標站點,有些人甚至會憑感覺來嘗試找出漏洞,但是我一般採用的是一種不同的方法。
我個人比較喜歡從匿名窗口入手,此時網站通常會認為我之前從未訪問過它,而這些窗口中一般都會存在安全漏洞。
我發現如果我沒有付費的話,我基本上是無法查看PornHub Premium的網站內容的。
但是在我支付之前,網站會彈出一個窗口並告知用戶當前正在訪問色情網站,用戶需要點擊窗口中的按鈕來確定是否急需訪問。
除此之外我還發現,當我點擊了「Enter」(進入)按鈕之後,網站URL地址的其中一部分會發生改變並增加了一個參數。
這個存在漏洞的參數就是
「&compliancePop=no_gateway」,
而我就可以在這個參數中輸入下面給出的payload:
&compliancePop=no_gateway%22-confirm`1`-%22
載入了這個payload之後,我就可以讓網站顯示出「1」,也就是我們payload中的信息,而這就意味著這裡存在一個XSS漏洞。
總結
我將這兩個漏洞都上報給了PornHub,他們也在24小時之內對漏洞進行了審核確認。
我很感謝PornHub的工作人員給我們提供了一個非常公平的漏洞獎勵計劃,而且我也要為他們的工作效率和快速響應能力點個贊。
更重要的是,他們非常在意用戶的安全,這也是很多其他的網站應該學習的地方。
* 參考來源:
jonbottarini
, FB小編Alpha_h4ck編譯,轉載請註明來自
FreeBuf.COM
喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!
本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧! 請您繼續閱讀更多來自 FreeBuf 的精彩文章: