整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS注入實例

          習CSS注入的目的是學習計算機知識,千萬不要做違反法律的事情,不然等待你的是法律的嚴懲。

          CSS僅僅只是一種用來表示樣式的語言嗎?當然不是!CSS就已被安全研究人員運用于滲透測試當中。使用屬性選擇器和iFrame,并通過CSS注入來竊取敏感數據的方法。但由于該方法需要iFrame,而大多數主流站點都不允許該操作,因此這種攻擊方法并不實用。這里為大家詳細介紹一種不需要iframe且只需10秒,就能為獲得CSRF token的方法。

          一、背景

          CSS屬性選擇器開發者可以根據屬性標簽的值匹配子字符串來選擇元素。 這些屬性值選擇器可以做以下操作:

          • 如果字符串以子字符串開頭,則匹配
          • 如果字符串以子字符串結尾,則匹配
          • 如果字符串在任何地方包含子字符串,則匹配

          屬性選擇器能讓開發人員查詢單個屬性的頁面HTML標記,并且匹配它們的值。一個實際的用例是將以“https://example.com”開頭的所有href屬性變為某種特定的顏色。而在實際環境中,一些敏感信息會被存放在HTML標簽內。在大多數情況下CSRF token都是以這種方式被存儲的:即隱藏表單的屬性值中。

          可以將CSS選擇器與表單中的屬性進行匹配,并根據表單是否與起始字符串匹配,加載一個外部資源,例如背景圖片,來嘗試猜測屬性的起始字母。通過這種方式,攻擊者可以進行逐字猜解并最終獲取到完整的敏感數值。想要解決這個問題受害者可以在其服務器實施內容安全策略(CSP),防止攻擊者從外部加載CSS代碼。

          二、無 iFrames

          要做到無iFrame,使用一種方法:創建一個彈窗,然后在設置計時器后更改彈出窗口的位置。使用這種方仍然可以加載受害者的CSS,不再依賴于受害者是否允許iFrame。因為最初的彈出是通過用戶事件觸發的,沒有被瀏覽器阻止。為了強制重載,在CSS注入間彈出一個虛擬窗口,如下:

          但由于CSRF是針對客戶端的攻擊,因此如果能想出一種不需要服務器的方法,那么就可以節省大量的開銷和簡化操作。為了接收客戶端加載資源,可以利用Service Workers來攔截和讀取請求數據。Service Workers目前只適用于同源請求,在演示中受害者和攻擊者頁面已處于同一源上。

          不久后,chrome很可能會合并這個實驗性的功能,允許Service Workers攔截跨域請求。這樣,就可以確保在客戶端的攻擊100%的執行,并強制用戶在10秒內點擊鏈接執行CSRF攻擊,演示如下:

          三、Demo

          如上所述,因為不想運行一個web服務器,所以使用service workers攔截和模擬服務器端組件。目前,該演示只適用于Chrome瀏覽器。首先創建了一個易受攻擊的目標,它存在一個基于DOM的CSS注入漏洞,并在頁面放置了一個敏感token。再對腳本標簽添加了一些保護措施,對左尖括號和右尖括號進行了編碼。

          接下來將強制加載受害者的CSS,并且使用上述方法,可一次竊取(猜解)一個敏感字符。在接收端,定義一個攔截請求的service worker,并通過post-message將它們發送回域,然后將token存儲在本地存儲中以供后續使用。你也可以想象一個后端Web服務器,通過Web套接字或輪詢將CSRF token回發給攻擊者域。

          如果你的瀏覽器支持的話,只需點擊打開頁面任意位置,你將看到CSRF token將逐一被猜解出來。

          四、結束語

          反射型CSS注入實際上比存儲型CSS注入更致命,因為存儲型CSS注入需要一個服務器在受害者渲染之前來更新CSS。一段時間以來,CSS注入在嚴重程度上來回變化。過去IE瀏覽器是允許用戶在CSS中執行Javascript代碼的。這個演示也從某種程度上表明了CSS注入,以及渲染不受信任的CSS仍會導致嚴重的安全問題。所以在設計軟件一定要測試,才能及時發現和修復各種漏洞。

          eb前端教程

          ASP是動態服務器頁面(ActiveServerPage)的英文縮寫。是微軟公司開發的代替CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp。現在常用于各種動態網站中。

          我們在寫asp頁面的時候,常常使用include命令來包含公共文件。由于這個方法用起來非常方便,于是很多人在html頁面里嘗試使用include,但是發現根本就不起作用。這是因為,include是VBScript的命令,因此可以在asp頁面里使用。而HTML靜態頁面被調用的時候并不經過asp解釋器,而是直接發送到用戶瀏覽器,因此include命令就無效了。

          對于信息量較大的網站,通常我們都選擇使用靜態頁面,否則數據庫查詢太頻繁,服務器壓力太大。但是過多的頁面里面,如果不能用調用的方式將公共內容包含進去,那么一旦修改起來就太可怕了。

          include最大的價值就是因重用而易于維護,怎樣才能在靜態頁面里也實現include的功能呢?最簡單的辦法,就是做asp后綴的靜態頁面——內容是靜態的,頁面保存成asp后綴的,這種方式對搜索引擎沒有什么影響,實際運算量也并不大(因為雖然經過asp解釋器,但是實際上幾乎沒有運算量)。如果您一定要做HTM后綴的靜態頁,那么還有下面這些方法可供替代。

          1.IFrame.這個可能是大家最熟悉的

          <iframe.name="neepage"marginwidth="0"marginheight="0"src="import.htm"width="100%"height="30"></iframe>

          加上它的一些屬性可以實現一些透明,無滾動條等具體的效果.大家可以html教程的相關介紹2.Frameset

          這就是大家熟悉的框架了,沒什么好說的,看看html教程就行3.<objecttype="text/x-scriptlet"data="import.htm"width=100%height=30></object>4.Behavior的download方式

          <ie:downloadid="oDownload"></ie:download>

          <script>

          functiononDownloadDone(downDate){

          showImport.innerHTML=downDate

          }

          oDownload.startDownload('import.htm',onDownloadDone)

          </script>5.<script>

          就是把相關的html文件轉化為js文件,再在調用的時候用

          <script.src="import.js"></script>

          很多CMS系統的廣告模塊都是這么實現的。

          這個方法有點要注意的假如你是用來包含象頭部、導航這些的話,建議不要用這個,不利于搜索引擎的搜集。主導航也盡量不要使用js,不利于搜索引擎對你的站點結構建立索引。

          ASP是一種服務器端腳本編寫環境,可以用來創建和運行動態網頁或web應用程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網頁中添加交互式內容(如在線表單),也可以創建使用HTML網頁作為用戶界面的web應用程序。

          用JSP進行開發,需要具備相應的運行環境,即Web瀏覽器、Web服務器、JDK開發工具包、數據庫。

          一、Web瀏覽器

          瀏覽器主要是作為用于客戶端用戶訪問Web應用的工具,與開發JSP應用的關系不大。

          開發JSP對瀏覽器的要求并不是很高,任何支持HTML的瀏覽器都可以。

          二、Web服務器

          Web服務器是運行及發布Web應用的大容器,只有將開發的Web項目放置到該容器中,才能使網絡中的所有用戶通過瀏覽器進行訪問。

          開發JSP應用所采用的的服務器主要是Servlet兼容的Web服務器,比較常用的有WebLogic、WebSphere、Tomcat。

          WebLogic是BEA公司的產品,后被Oracle公司并購,它分為WebLogic Server、WebLogic Enterprise和WebLogic Portal系列,其中WebLogic Server的功能特別強大,它支持企業級的、多層次的和完全分布式的Web應用,并且服務器的配置簡單、界面友好。

          IBM公司的WebSphere是一種功能完善、開放的Web應用程序服務器,它基于Java的應用環境,建立、部署和管理Web應用程序。相對于其他流行的Web服務器而言,應用的數量很少。

          Tomcat服務器最為流行,它是Apache-Jarkarta開源項目中的一個子項目,是一個小型的、輕量級的、支持JSP和Servlet技術的Web服務器。但是Tomcat對靜態文件和高并發的處理能力比較弱。

          三、JDK

          JDK(Java Develop Kit,Java開發工具包)包括運行Java程序所必須得JRE環境及開發過程中常用的庫文件。

          在使用JSP開發網站之前,首先必須安裝JDK。

          四、數據庫

          任何項目的開發幾乎都需要使用數據庫,數據庫用來存儲項目中需要的信息。

          根據項目的規模及業務特點采用合適的數據庫。

          大型項目可采用Oracle數據庫。

          中小型項目可采用MySQL數據庫。

          五、JSP程序開發模式

          1、單純的JSP頁面編程

          通過應用JSP中的腳本標志,可直接在JSP頁面中實現各種功能。

          但是這種方式將大部分的Java代碼與HTML代碼混淆在一起,會給程序的維護和調試帶來很多的困難。就好比將負責不同任務的所有員工都安排在一起工作,勢必混亂不堪。

          2、JSP + JavaBean編程

          該模式是JSP程序開發經典設計模式之一,適合小型或中型網站開發。

          JavaBean是一個遵循了一定規則的Java類,在程序的開發中,將要進行的業務邏輯封裝到這個類中,在JSP頁面中通過動作標簽來調用這個類,從而執行這個業務邏輯。

          此時的JSP除了負責部分流程的控制外,大部分用來進行頁面的顯示。JavaBean則負責業務邏輯的處理。

          第一步:用戶通過客戶端瀏覽器請求服務器。

          第二步:服務器接收用戶請求后調用JSP頁面;

          第三步:在JSP頁面中調用JavaBean。

          第四步:在JavaBean中連接及操作數據庫,或實現其他業務邏輯。

          第五步:JavaBean將執行的結果返回JSP頁面。

          第六步:服務器讀取JSP頁面中的內容,將JSP中的靜態內容和動態內容相結合。

          最后服務器將最終的結果返回給客戶端瀏覽器進行顯示。


          主站蜘蛛池模板: 日本欧洲视频一区| 国产免费一区二区三区不卡| 中文字幕精品亚洲无线码一区应用| 国产一区二区三区高清在线观看| 精品人妻系列无码一区二区三区| 一区二区三区四区在线观看视频 | 亚洲av无码一区二区三区不卡 | 日韩一区二区三区射精| 亚洲无人区一区二区三区| 国产传媒一区二区三区呀| 97av麻豆蜜桃一区二区| 中文字幕色AV一区二区三区| 精品在线一区二区三区| 亚洲av无码一区二区三区四区| 国产麻豆精品一区二区三区v视界 国产美女精品一区二区三区 | 亚洲色精品aⅴ一区区三区| 国产成人精品一区二区三在线观看| 久久一区二区三区精品| 中文字幕在线一区二区三区| 国产一区美女视频| 国产大秀视频一区二区三区| 亚洲日韩中文字幕一区| 无码福利一区二区三区| 亚洲国产美女福利直播秀一区二区| 日本一区午夜艳熟免费| 久久精品国产一区二区 | 国产日本亚洲一区二区三区| 久久免费区一区二区三波多野| 亲子乱AV视频一区二区| 亚洲日本一区二区三区在线不卡| 无码日韩AV一区二区三区| 国产成人欧美一区二区三区| 国产精品高清视亚洲一区二区 | 成人在线一区二区| 精品天海翼一区二区| 亚洲日本中文字幕一区二区三区| 国产一区二区三区内射高清| 一区二区三区高清在线| 国产精品自在拍一区二区不卡| 国产伦精品一区二区三区视频猫咪 | 亚洲sm另类一区二区三区|