亚洲男人第一无码av网站,三年片免费观看大全国语动漫,久久99精品久久久久久久不卡,国产精品久久久久久久久岛

防止JavaScript 注入攻擊

2016-03-14 14:03原創(chuàng)HTML5+JS

什么是 JavaScript 注入攻擊?

每當(dāng)接受用戶輸入的內(nèi)容并重新顯示這些內(nèi)容時,網(wǎng)站就很容易遭受 JavaScript 注入攻擊。讓我們研究一個容易遭受 JavaScript 注入攻擊的具體應(yīng)用程序。假設(shè)已經(jīng)創(chuàng)建了一個客戶反饋網(wǎng)站??蛻艨梢栽L問網(wǎng)站并輸入對產(chǎn)品的反饋信息。當(dāng)客戶提交反饋時,反饋信息重新顯示在反饋頁面上。

客戶反饋網(wǎng)站是一個簡單的網(wǎng)站。不幸的是,此網(wǎng)站容易遭受 JavaScript 注入攻擊。

假設(shè)正在將以下文本輸入到客戶反饋表單中:

<script>alert(“Boo!”)</script>

此文本表示顯示警告消息框的 JavaScript 腳本。在某人將此腳本提交到客戶反饋表單后,消息 Boo! 會在將來任何人訪問客戶反饋網(wǎng)站時顯示的攻擊。您可能還認(rèn)為別人不會通過 JavaScript 注入攻擊搞破壞。

現(xiàn)在,您對 JavaScript 注入攻擊的第一反應(yīng)也許是不理會。您可能認(rèn)為 JavaScript 注入攻擊不過是一種 無傷大雅

不幸的是,黑客會通過在網(wǎng)站中注入 JavaScript 進(jìn)行破壞活動。使用 JavaScript 注入攻擊可以執(zhí)行跨站腳本 (XSS) 攻擊。在跨站腳本攻擊中,可以竊取保密的用戶信息并將信息發(fā)送到另一個網(wǎng)站。

例 如,黑客可以使用 JavaScript 注入攻擊竊取來自其他用戶瀏覽器的Cookies 值。如果將敏感信息(如密碼、信用卡帳號或社會保險號碼)保存在瀏覽器Cookies 中,那么黑客可以使用 JavaScript 注入攻擊竊取這些信息?;蛘?,如果用戶將敏感信息輸入到頁面的表單字段中,而頁面受到 JavaScript 攻擊的危害,那么黑客可以使用注入的 JavaScript 獲取表單數(shù)據(jù)并將其發(fā)送到另一個網(wǎng)站。

請高度重視。認(rèn)真對待 JavaScript 注入攻擊并保護(hù)用戶的保密信息。在接下來的兩部分中,我們將討論防止 ASP.NET MVC 應(yīng)用程序受到 JavaScript 注入攻擊的兩種技術(shù)。

 

方法 1:視圖中的 HTML 編碼

 

阻止 JavaScript 注入攻擊的一種簡單方法是重新在視圖中顯示數(shù)據(jù)時,用 HTML 編碼任何網(wǎng)站用戶輸入的數(shù)據(jù)

如:<%=Html.Encode(feedback.Message)%>

使用 HTML 編碼一個字符串的含意是什么呢?使用 HTML 編碼字符串時,危險字符如 < 和 > 被替換為 HTML 實體,如 &lt; 和 &gt;。所以,當(dāng)使用 HTML 編碼字符串 <script>alert(“Boo!”)</script>時,它將轉(zhuǎn)換為 &lt;script&gt;alert(“Boo!”)&lt;/script&gt;。瀏覽器在解析編碼的字符串時不再執(zhí)行 JavaScript 腳本。而是顯示無害的頁面

方法 2:寫入數(shù)據(jù)庫之前的 HTML 編碼

除了在視圖中顯示數(shù)據(jù)時使用 HTML 編碼數(shù)據(jù),還可以在將數(shù)據(jù)提交到數(shù)據(jù)庫之前使用 HTML 編碼數(shù)據(jù)。第二種方法正是程序清單 4 中 controller 的情況。

如:

public ActionResult Create(string message)
{
// Add feedback
var newFeedback = new Feedback();
newFeedback.Message = Server.HtmlEncode(message);
newFeedback.EntryDate = DateTime.Now;
db.Feedbacks.InsertOnSubmit(newFeedback);
db.SubmitChanges(); 

 

// Redirect
return RedirectToAction(“Index”);
}

請注意,Message 的值在提交到數(shù)據(jù)庫之前是在 Create() 操作中經(jīng)過 HTML 編碼的。當(dāng)在視圖中重新顯示 Message 時,Message 被 HTML 編碼,因而不會執(zhí)行任何注入到 Message 中的 JavaScript。

總結(jié)

通常,人們喜歡使用本教程中討論的第一種方法,而不喜歡使用第二種方法。第二種方法的問題在于在數(shù)據(jù)庫中最終會保留 HTML 編碼的數(shù)據(jù)。換言之,數(shù)據(jù)庫中的數(shù)據(jù)會包含奇怪的字符。這有什么壞處呢?如果需要用除網(wǎng)頁以外的形式顯示數(shù)據(jù)庫數(shù)據(jù),則將遇到問題。例如,不能輕易在 Windows Forms 應(yīng)用程序中顯示數(shù)據(jù)。

附加:神一般的注入

這是一個有技術(shù)含量的號牌遮擋。我們先不說其是不是能奏效,不過,這個創(chuàng)意相當(dāng)?shù)腘B啊。當(dāng)你駕車通過某些路口時,被攝像頭捕捉到你的車牌,通過OCR變成文本(圖像識別技術(shù),這里為車牌識別技術(shù)),然后他就DROP掉數(shù)據(jù)庫,于是,上圖的這個車牌就成了SQL注入。

北京鼎盛宏利科技有限公司 | TEL/FAX:010-52237199 | Email:admin@dshlit.com

Copyright ?DSHLIT.COM. All Rights Reserved. | 京ICP備14058301-1號

在線QQ 13683107933
国产日产欧产精品精品软件| 欧美伊人久久大香线蕉综合| 免费国产A国产片高清| AV制服丝袜白丝国产网站| 女人的天堂A国产在线观看| 亚洲人成网站在线观看播放| 亚洲精品乱码久久久久久蜜桃| 极品少妇被猛得白浆直流草莓视频| 亚洲最大无码中文字幕网站| 狼群社区视频免费观看游戏| 久久婷婷人人澡人人喊人人爽| 女邻居丰满的奶水在线观看| 久久精品岛国AV一区二区无码| 成人无码精品一区二区三区| 美女视频在线永久免费观看| 日本又黄又爽GIF动态图| 久久天天躁夜夜躁狠狠| 亚洲av成人无码久久精品老人| 无码国产精品一区二区免费式直播| 国产成人影院一区二区三区| 欧美A级情欲片在线观看免费| 国产精品国产三级国产AV剧情| 久久人妻少妇嫩草av无码专区| 亚洲精品国产VA在线观看| 国产中文欧美日韩在线| 浮妇高潮喷白浆视频| 插b内射18免费视频| 亚洲女子高潮不断爆白浆| 亚洲AV天天做在线观看| 蜜桃AV少妇久久久久久高潮不断| 亚洲性夜夜综合久久7777| 国产亚洲精品国产福APP| 最新无码国产在线视频2021| 国产精品久久久久久久久久直播| 精品国产人妻一区二区三区久久| 中文在线っと好きだった在线| 熟女系列丰满熟妇AV| 青青青青国产免费线在线观看| 国产区女主播在线观看| 亚洲一卡2卡3卡四卡老狼| 国产成人无码区免费内射一片色欲|