国产一区二区亚洲精品-国产一区二区影视-国产一区二区影院-国产一区二区在线不卡-国产一区二区在线观看免费

防止JavaScript 注入攻擊

2016-03-14 14:03原創HTML5+JS

什么是 JavaScript 注入攻擊?

每當接受用戶輸入的內容并重新顯示這些內容時,網站就很容易遭受 JavaScript 注入攻擊。讓我們研究一個容易遭受 JavaScript 注入攻擊的具體應用程序。假設已經創建了一個客戶反饋網站。客戶可以訪問網站并輸入對產品的反饋信息。當客戶提交反饋時,反饋信息重新顯示在反饋頁面上。

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

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

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

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

現在,您對 JavaScript 注入攻擊的第一反應也許是不理會。您可能認為 JavaScript 注入攻擊不過是一種 無傷大雅

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

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

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

 

方法 1:視圖中的 HTML 編碼

 

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

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

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

方法 2:寫入數據庫之前的 HTML 編碼

除了在視圖中顯示數據時使用 HTML 編碼數據,還可以在將數據提交到數據庫之前使用 HTML 編碼數據。第二種方法正是程序清單 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 的值在提交到數據庫之前是在 Create() 操作中經過 HTML 編碼的。當在視圖中重新顯示 Message 時,Message 被 HTML 編碼,因而不會執行任何注入到 Message 中的 JavaScript。

總結

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

附加:神一般的注入

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

北京鼎盛宏利科技有限公司 | TEL/FAX:010-52237199 | Email:[email protected]

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

在線QQ 13683107933
主站蜘蛛池模板: 欧美一级片网站 | 日本高清在线一区二区三区 | 精品视频一区二区三区四区五区 | 亚洲欧美日韩在线不卡 | 青草免费免费观看视频在线 | 亚洲一区二区欧美 | 欧美大黄特黄一级毛片 | 亚洲一区毛片 | 国产在线视精品麻豆 | 精品国产日韩久久亚洲 | 免费福利网络在线 | 在线观看91香蕉国产免费 | 亚洲国产精品久久精品怡红院 | 91日本在线精品高清观看 | 娇喘嗯嗯~轻点啊视频福利 | 91久久国产露脸精品免费 | 日本r级在线中文在线播放 日本tv欧美tv天堂 | 日本一级特黄刺激爽大片 | 成人区在线观看免费视频 | 免费观看日本人成影片 | 日韩毛片高清免费 | 国产综合欧美日韩视频一区 | 福利精品一区 | 国产一二三四五路线 | 图片区 日韩 欧美 亚洲 | 国产一区二区精品久久 | 成年午夜视频免费观看视频 | 中文字幕无线码中文字幕网站 | 欧美一级特黄特黄毛片 | 91精品综合国产在线观看 | 99青青草 | 经典三级一区二区三区视频 | 91视频最新地址 | 精品久久香蕉国产线看观看亚洲 | 国产精品视频二区不卡 | 国产精品免费网站 | 青草视频免费在线观看 | 成人三级在线 | www.成人在线 | 不卡中文字幕在线观看 | 国产成人亚洲精品乱码在线观看 |