本文目錄一覽:
- 1、如何有效防止XSS攻擊/AJAX跨域攻擊
- 2、360檢測出惡意程序js.Crypt.h 這是什麼惡意程序,屬於病毒嗎
- 3、如何防範上傳的圖片包含惡意代碼
- 4、網頁老是出現js惡意代碼.怎麼解決
- 5、我的網站老是被添加JS惡意代碼
- 6、求js惡意代碼,要能防瀏覽器攔截的代碼!懸賞1000都可以!
如何有效防止XSS攻擊/AJAX跨域攻擊
1,利用字元過濾漏洞,提交惡意js代碼,當用戶打開頁面時執行
2,需要填寫圖片地址或css等直接在頁面載入時執行的地方,填寫惡意js [javascript:xxxx],當用戶打開包含圖片的頁面時,可以執行js。比如GET s1.game.com/fight/:id 表示發兵到某個用戶,雖然做了用戶驗證,但沒做來源驗證,用戶只需將這個地址發到同用戶的論壇作為圖片地址即可執行
3,通過跳轉頁面漏洞,比如 refer.php?message=xxxx ,頁面上直接用 $_GET[‘message’] 的話,就會造成xss漏洞,把message的參數換成js代碼或惡意網址,即可盜取用戶cookie,或執行惡意js,或跳轉到釣魚頁面等
4,利用瀏覽器或伺服器0day漏洞
1,XSS主要是你的頁面可以運行用戶寫的js,所以對所有的用戶提交的數據進行過濾,對於判斷用戶是否登錄狀態的cookie信息進行加密,並且加上Ip信息,這樣基本被盜取也無法獲取登錄許可權
2,對update或delete的操作採用post方式提交,每次form里加一個唯一驗證字元串,用hiden方式提交,用於伺服器驗證是否來自用戶客戶端
3,跳轉程序需要對傳遞的url進行匹配判斷,只允許特定的格式
4,時常關注安全方面的消息,一有漏洞即刻不上
360檢測出惡意程序js.Crypt.h 這是什麼惡意程序,屬於病毒嗎
JS病毒是一個利用ani漏洞的圖片木馬,裡面可能包含一些病毒的代碼,並不能真正意義算一個實際的病毒,朋友可以使用360來清除掉就可以了。
如何防範上傳的圖片包含惡意代碼
可以防止,第一種就是用文件頭的方式驗證,代碼如下:
private bool IsAllowedExtension(HttpPostedFile hifile)
{
bool result = false;
FileStream strFile = new FileStream(hifile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
BinaryReader bReader = new BinaryReader(strFile);
string fileclass = “”;
byte buffer;
try
{
buffer = bReader.ReadByte();
fileclass = buffer.ToString();
buffer = bReader.ReadByte();
fileclass += buffer.ToString();
}
catch
{
return false;
}
bReader.Close();
strFile.Close();
/*文件擴展名說明
*4946/104116 txt
*7173 gif
*255216 jpg
*13780 png
*6677 bmp
*239187 txt,aspx,asp,sql
*208207 xls.doc.ppt
*6063 xml
*6033 htm,html
*4742 js
*8075 xlsx,zip,pptx,mmap,zip
*8297 rar
*01 accdb,mdb
*/
//純圖片
String[] fileType = {
“7173”, //gif
“255216”, //jpg
“13780” //png
};
for (int i = 0; i fileType.Length; i++)
{
if (fileclass == fileType[i])
{
result = true;
break;
}
}
Response.Write(fileclass);
return result;
}
protected void btnOk_Click(object sender, EventArgs e)
{
if (IsAllowedExtension(uFile.PostedFile))
{
Response.Write(“scriptalert(‘OK’)/script”);
}
}
第二種用文件流的方式驗證
/// summary
/// 驗證流
/// /summary
/// param name=”UpFile”上傳控制項(HttpPostedFile 或 HtmlInputFile)/param
/// param name=”_extensions”擴展名(數組)/param
/// param name=”SavePath”保存路徑(絕對路徑)/param
/// param name=”size”文件大小單位(KB)/param
/// param name=”err”錯誤信息/param
/// param name=”SourcePage”源頁面/param
/// returns返回新文件名/returns
public static string UpLoadFileImg(HtmlInputFile UpFile, string[] _extensions, string SavePath, int size,
out string err, System.Web.UI.Page SourcePage)
{
//鎖定頁面
SourcePage.Application.Lock();
string error = String.Empty;//錯誤信息
string Img = UpFile.PostedFile.FileName.Trim();//獲取文件名
string Exten = Path.GetExtension(UpFile.PostedFile.FileName).ToLower();//獲取文件的擴展名
bool IsExtension = false;//是否存在該擴展名
string FileType = UpFile.PostedFile.ContentType.ToLower();//獲取文件的類型
if (Img != “”)
{
//判斷圖片擴展名和類型驗證
for (int i = 0; i _extensions.Length; i++)
{
if (Exten == _extensions[i].ToString())
{
IsExtension = true;
break;
}
}
if (!IsExtension (FileType != “image/gif” || FileType != “image/x-png” || FileType != “image/pjpeg”
|| FileType != “image/bmp”))
{
error = “對不起,您不能上傳該類型的文件!”;
err = error;
return Img;
}
if (UpFile.PostedFile.ContentLength (size * 1024))
{
error = “對不起,文件大小不能大於” + size + “KB!”;
err = error;
return Img;
}
try
{
Img = DateTime.Now.Ticks + Exten;//重新給文件命名
//上傳文件
UpFile.PostedFile.SaveAs(SavePath + Img);
//最後一步高級驗證,圖片上傳後的操作,判斷是否存在危險
StreamReader sr = new StreamReader(SavePath + Img, Encoding.Default);
string strContent = sr.ReadToEnd();
sr.Close();
string str = “request|.getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas”;
str+=”|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=”;
foreach (string s in str.Split(‘|’))
{
if (strContent.IndexOf(s) != -1)
{
File.Delete(SavePath + Img);
error = “對不起,該文件內容存在風險,禁止上傳!”;
err = error;
return Img;
}
}
}
catch
{
error = “系統錯誤,上傳失敗!”;
}
}
else
error = “對不起,請選擇要上傳的文件!”;
//取消鎖定頁面
SourcePage.Application.UnLock();
err = error;
return Img;
}
網頁老是出現js惡意代碼.怎麼解決
你進入的是什麼網頁,如果是惡意網站就不稀奇了,如果不是可能是你家機子本身問題,有毒什麼的,殺殺差不多,然後修復下IE吧
我的網站老是被添加JS惡意代碼
ASP漏洞…
應該是上傳漏洞… 首先上傳一張小木馬圖片..然後再通過小馬上傳大馬..
然後大馬就把每個頁面都掛上馬
求js惡意代碼,要能防瀏覽器攔截的代碼!懸賞1000都可以!
JS做關機,內存等是實現不了,因為JS代碼最終還是依靠瀏覽器來執行輸出。
做循環彈出是可以的,但是防假死的瀏覽器同樣可以關閉掉。
測試:循環彈出。
script
setInterval(‘alert(“來了就別走了”)’,50);
/script
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193999.html