网页被注入(在线等...) 公司网站被注入,有的是链接,有的是JS,大家有没有什么好的办法防止注入.global.asa文件也被篡改掉。在线等... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是通过string类型的request数据注入的只有参数化是王道比如sql语句中有 select * from 表 where 字段 = request("xx") 把数据库备份下来本地,看看是数据库的数据被注入还是程序的页面被注入了,如果是程序的话把程序覆盖一遍就行了。如果是数据库的话使用sql语句批量替换(网上搜索)。如何防止请参考前人经验http://wenku.baidu.com/view/5ea814da6f1aff00bed51ebe.html 用户输入的 进行 HTMLEncoding request 的 字符替换使用存储过程 可以避免 SQl仿注入文本仿注入还有文件的操作权限等等 参数化 SQLJS防止注入.. 不小心点到丢砖了,抱歉啊我把你那链接的代码一加进了Conn.asp里面去,看下明天还会不会被注入 xss 注入sql注入 楼主貌似是xss注入上百度搜索 一般写入数据库数据时没有按照传参形式进行的话容易被SQL注入,防止的办法就是,在与数据库相互数据传递时要严格,如:insert into Table1(a,b,c) values(1,2,3) 这样直接写就容易被注入。而要写成这样: public static int getBookIdByName(string bookName) { string cmdtxt = "select bookId from BS_bookInfo where bookName=@bookName"; int bookId = 0; SqlParameter[] cmdparas = new SqlParameter[1]; cmdparas[0] = new SqlParameter("@bookName", SqlDbType.VarChar); cmdparas[0].Value = bookName; SqlDataReader sdr = SqlHelper.ExecuteReader(CommandType.Text, cmdtxt, cmdparas); if (sdr.Read()) { bookId = Convert.ToInt32(sdr["bookId"]); } return bookId; } 不管是页面注入还是数据库注入都是不允许的,首先楼主要赶紧把网上程序给弄份最新的上去,接下来楼主要做两件事了第一件:将程序改善,把那些页面传参数的变量首先进行字符过滤,js过滤,写个通用的方法,是什么类型的就是什么类型,字符就必须是字符,整形就必须是数字,然后在做一道程序就是看看被主人的是哪个页面,那些个表,观察观察有那些程序是涉及到这些地方的,将其换成存储过程;第二件:将要上传的文件全部设置为只读属性,尤其是上传图片的文件夹啊,还有什么编辑器之类的文件夹;这是必须的,页面设置为只读,就一定程度上防止了页面插码的风险了,在者就是iis了,设置里面执行语言的那个地方,一层一层的安全设施防护,楼主相信要插马也不是件易事; 有用过cms系统的朋友请指教 知道远程服务器地址和端口,如何mssql2005连接远程数据库?(图) 我的网站为什么更新数据老是失败? 高分请教【Crystal Report XI Desiner】下载地址 【【晕,csdn是不是受到arp攻击了?我一打开asp.net社区,nod32就疯狂报警】】 我们下载的好多源码里面,并不包括cs文件。也就看不到源代码。怎么可以看到原代码呢? 怎么获取当前文件夹的名字??? 发个新做的cms asp.net环境配置XP sp2 在装配件(.dll文件)中定义函数的问题! 如何去掉网址的www.这个前缀? 总报错
只有参数化是王道比如sql语句中有 select * from 表 where 字段 = request("xx")
http://wenku.baidu.com/view/5ea814da6f1aff00bed51ebe.html
使用存储过程 可以避免
文本仿注入
还有文件的操作权限
等等
JS防止注入..
我把你那链接的代码一加进了Conn.asp里面去,看下明天还会不会被注入
楼主貌似是xss注入上百度搜索
而要写成这样: public static int getBookIdByName(string bookName)
{
string cmdtxt = "select bookId from BS_bookInfo where bookName=@bookName";
int bookId = 0;
SqlParameter[] cmdparas = new SqlParameter[1];
cmdparas[0] = new SqlParameter("@bookName", SqlDbType.VarChar);
cmdparas[0].Value = bookName;
SqlDataReader sdr = SqlHelper.ExecuteReader(CommandType.Text, cmdtxt, cmdparas);
if (sdr.Read())
{
bookId = Convert.ToInt32(sdr["bookId"]); }
return bookId;
}
第一件:将程序改善,把那些页面传参数的变量首先进行字符过滤,js过滤,写个通用的方法,是什么类型的就是什么类型,字符就必须是字符,整形就必须是数字,然后在做一道程序就是看看被主人的是哪个页面,那些个表,观察观察有那些程序是涉及到这些地方的,将其换成存储过程;
第二件:将要上传的文件全部设置为只读属性,尤其是上传图片的文件夹啊,还有什么编辑器之类的文件夹;这是必须的,页面设置为只读,就一定程度上防止了页面插码的风险了,在者就是iis了,设置里面执行语言的那个地方,一层一层的安全设施防护,楼主相信要插马也不是件易事;