本文目录一览:
- 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