當前位置:首頁 » 編程軟體 » js腳本注入

js腳本注入

發布時間: 2022-01-12 04:21:45

① 如何將自己寫的js注入到網站網頁中

首先你要確認你的是js碼,只有js代碼才能被調用。
將寫好的js代碼復制到txt文件中,另存為.js文件,保存在你的網站目錄下。我保存在桌面上。(注在網頁上調用一定要保存在網頁上)
保存好了之後,我的桌面就有一個新建.js的介紹文件,現在看看效果吧。隨便新建一個網頁,在<body></body>(注我演示的沒有body,是最簡單的網頁)之間插入<script
language="javascript"
src="js文件地址"></script>,我的是放在桌面上的,所以地址是下面的這個
保存為html文件之後,打開來看看效果吧。
如上圖所示,在網頁的源文件裡面,顯示的不是
<input
type=button
name="Submit1"
value="郭強"
size=10
class=s02
style="background-color:rgb(235,207,22)">而是這段代碼轉換成js後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
實體,如 < 和 >。所以,當使用 HTML 編碼字元串
<script>alert(「Boo!」)</script>時,它將轉換為
<script>alert(「Boo!」)</script>。瀏覽器在解析編碼的字元串時不再執行 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 應用程序中顯示數據。

③ 如何向iframe中寫入js代碼讓js在iframe中執行

1、首先,新建一個網頁。

④ 什麼是javascript注入攻擊

Javascript注入攻擊指的是通過在網頁地址後加JavaScript代碼,影響系統運作。
JavaScript注入漏洞能發生作用主要依賴兩個關鍵的動作,一個是用戶要能從界面中注入JavaScript到系統的內存或者後台存儲系統中;二是系統中存在一些UI會展示用戶注入的數據。
比如注入漏洞最常見的就是發生在各種類型的名字中,比如系統中的人名等等,因為名字往往會在各種系統上顯示,如果在某個用戶輸入名字的時候注入了腳本,那麼受其影響的各個系統都有發生注入漏洞的風險。

⑤ java web如何防止html,js注入

在java Web體系中,可以寫自定義標簽,過濾用戶輸入,也可以寫一個filter過濾器。比如說自定義標簽。

開發步驟:

1 寫一個標簽處理類

2在/WEB-INF/目錄下,寫一個*.tld文件,目的是讓Web容器知道自定義標簽和標簽處理類的對應關系

3 在JSP頁面中,通過<%@taglib%>指令引用標簽庫.

4 部署web應用,訪問simple.jsp即可

其中,標簽處理類可以這樣寫,轉義大於號,小於號等特殊符號。

packagecn.itcast.web.jsp.tag;

importjava.io.IOException;
importjava.io.StringWriter;

importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.PageContext;
importjavax.servlet.jsp.tagext.JspFragment;
importjavax.servlet.jsp.tagext.SimpleTagSupport;

//<simple:filter>標簽處理類
{
publicvoiddoTag()throwsJspException,IOException{
JspFragmentjspFragment=this.getJspBody();
StringWriterwriter=newStringWriter();
jspFragment.invoke(writer);
Stringtemp=writer.getBuffer().toString();
//結果必定是轉義後的字元串
temp=filter(temp);
PageContextpageContext=(PageContext)this.getJspContext();
pageContext.getOut().write(temp);
}
publicStringfilter(Stringmessage){
if(message==null)
return(null);
charcontent[]=newchar[message.length()];
message.getChars(0,message.length(),content,0);
StringBufferresult=newStringBuffer(content.length+50);
for(inti=0;i<content.length;i++){
switch(content[i]){
case'<':
result.append("&lt;");
break;
case'>':
result.append("&gt;");
break;
case'&':
result.append("&amp;");
break;
case'"':
result.append("&quot;");
break;
default:
result.append(content[i]);
}
}
return(result.toString());
}
}

⑥ 如何利用Javascript注入來入侵網站

制它們到地址欄:
[code]javascript:alert(window.c=functiona(n,v,nv){c=document.cookie;c=c.substring(c.indexOf(n)+n.length,c.length);c=c.substring(1,((c.indexOf(";")>-1)?c.indexOf(";") :c.length));nc=unescape(c).replace(v,nv);document.cookie=n+"="+escape(nc);return unescape(document.cookie);});alert(''The cookie is: "''+document.cookie+''"'');alert(c(prompt("The name of the cookie:",""),prompt("Change this value:",""),prompt("with this:","")));[/code]

⑦ 網頁文件被注入js腳本

網站有漏洞就被注入了,這個還需要問為什麼?說明網站早就被人登陸過後台並且上傳了木馬,整個網站源碼已經被人下載走了,然後在頁面掛了木馬

⑧ 什麼是js注入

JavaScript注入就是在瀏覽器地址欄中輸入一段js代碼,用來改變頁面js變數、頁面標簽的內容。
使用Javascript注入,用戶不需要關閉或保存網頁就可以改變其內容,這是在瀏覽器的地址欄上完成的。命令的語法如下:
javascript:alert(#command#)

⑨ js腳本注入

你說的是 防止xss腳本注入攻擊吧。要麼選擇後端直接過濾掉這種類似的<script>alert()</script>字元串,但是這對客戶而言又不太友好。我用的最直接的方法,取得這樣的數據在前端顯示的時候用

vara="<xmp>"+"<script>alert()</script>"+"</xmp>";

再把a加到你要展示的地方,瀏覽器就不會識別它成js代碼去執行了。

僅做參考,按你的實際情況做選擇吧

⑩ 如何向網頁注入js腳本

清除緩存做不到
刷新 window.location.reload();
點贊要看該網頁的設計

熱點內容
迴流量演算法 發布:2024-11-13 15:17:52 瀏覽:768
premiere壓縮視頻 發布:2024-11-13 15:17:48 瀏覽:158
linux的遠程登錄 發布:2024-11-13 15:12:09 瀏覽:526
mysql存儲過程字元串參數 發布:2024-11-13 15:07:46 瀏覽:492
玩手機你能編譯 發布:2024-11-13 15:01:49 瀏覽:872
vfpsql命令是 發布:2024-11-13 14:55:48 瀏覽:52
我的世界好玩伺服器地下城 發布:2024-11-13 14:55:14 瀏覽:836
影之詩安卓和iOS玩哪個 發布:2024-11-13 14:51:24 瀏覽:93
我的世界電腦如何玩EC伺服器 發布:2024-11-13 14:39:56 瀏覽:88
mybatis生成sql 發布:2024-11-13 14:39:04 瀏覽:923