网络编程
位置:首页>> 网络编程>> Asp编程>> web脚本程序攻击的防范(2)

web脚本程序攻击的防范(2)

作者:lanker 来源:cnwill.com 发布时间:2007-10-18 13:29:00 

标签:攻击,脚本,漏洞

要说COOKIES是容易忽略的地方,User-Agent 注入会另你意想不到,在HTTP1.1规范就定义了一个“User-Agent”头标,我们抓个包看看:


GET /bbsxp/images/skins/1/T_bg.gif HTTP/1.1 
Accept: */* 
Referer: http://localhost/bbsxp/Default.asp 
Accept-Language: zh-cn 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) 
Host: localhost 
Connection: Keep-Alive 
Cookie: eremite=0; member_id=1; pass_hash=5140c3b61780e904b05d44f8d3193564; skins=1; ASPSESSIONIDQADBTQQA=AGIPJKACPGNICLMHAFEOBHKA; username=lanker; userpass=E10ADC3949BA59ABBE56E057F20F883E; onlinetime=2003%2D7%2D9+22%3A20%3A13; addmin=10 


“User-Agent”用来鉴别浏览器。你在这个字符串中经常可以看到“Mozilla”的一些表单。应用程序使用“User-Agent”字符串来适应浏览器的特殊性,可以允许你指定特殊的字符串这就给我们注射的机会。动网的 User-Agent 注入是最好的说明和实例了。不明白的朋友可以看看 “动网论坛DVBBS漏洞及入侵一则”和“深入分析DVBBS7 User-Agent注入”这两篇文章。这可能就属于他们所说的包注入了。

然而对与一些纯数字的过滤最好莫过于用脚本语言的本身函数:

比如 asp 脚本可以用 cint,clong,isNumeric 这样的过滤可以说是最严格的一种了。PHP脚本里可以用intval 这样的函数。

对于不能过滤“<”和“>”情况下跨站的脚本的防范手段是,将所有的尖扩号都转化成对应的HTML编码。对于“<”表示成“&lt” 对与“>” 表示成“&gt” 需要特别注意的是对于上面所有的输入过滤都要在服务端进行,客户端的所有验证都会等于徒劳无用,可以很轻松的绕过。

好了上面的已经过滤的差不多了,是不是现在就万事大吉了呢?答案是否定的,对于一些数字字段还有许多潜在的错误使用方法。即使我们限制了数据必须是数字的值,还是会引起一些错误,所以我们下面要做的是边界的检查,你不要小视边界检查哦,某些时候他会暴出你的绝对路径来地。
一般需要我们注意检查的有:布尔值,数字,和字符串的长度。

最后一个编写程序中注意的就是要有恰当的错误捕捉机制,无论采用什么样的语言编写程序,都应该有象C#,JAVA中的Try,Catch机智来捕获出错信息。对于程序遇到异常错误时能够正常终止运行。在出错的提示页中应该尽量不要包含系统的信息。

总结:上面是我个人在学习中总结的一些经验,希望能对编程人员编写安全健壮的代码有一定把帮助,如有错误的地方还请指教。

0
投稿

猜你喜欢

  • 书    名:细节决定交互设计的成败国际书号:ISBN 978-7-121-08232-0作 &nb
  • 天冷,人懒,事多,我就不全文翻译了。只列几个标题,很多内容完全按照我自己的理解写了一下。想读原汁原味的请移步:Icon design tre
  • 你已经在上面取出w打头记录的例子中看到了LIKE的用法。LIKE判定词是一个非常有用的符号。不过,在很多情况下用了它可能会带给你太多的数据,
  • 上一篇介绍了 HTML5 中 Canvas 的基本概念,这篇将要介绍一下 Canvas&n
  • 想做个和IBM公司一样的网站LOGO,试了半天也没有做出来,郁闷之下,只好求高手帮助!先在这里谢谢了!方法一1、写上IBM,调节字号颜色2、
  • W3C(万维网联盟)日前发布了HTML 5公共草案,这是10年来对HTML的一次主要升级。据国外媒体报道,W3C HTML5草案于本周二发布
  • 昨时要导一些数据,从网上搜到的。字段多时insert 语句生成的不完整了,还没有找到原因..有个缺点……就是标识种子的列 也insert了c
  • 最近在网上经常看到朋友们聊到UEO,我就想哈UEO是啥东西啊,我去找啦些资料看,他们都说将来UEO发展一定会比较好,我也说这是肯定的.我为什
  • 阅读《YUI学习笔记(1)》YAHOO.lang.dump 与 YAHOO.lang.substitute。1.&nbs
  • 金额大小写转换的asp完全无错版本,  这个版本解决了小数位不能到分的问题,处理方式符合会计方式,值得推荐!<!--#inc
  • 因为要用到过滤一组中重复的数据,使之变成没有重复的一组数据的功能,百度了一下,居然有朋友乱写,而且比较多,都没有认真测试过,只对字符可以,但
  • 扪心自问,你真正了解你卖给用户的是什么玩意么?你所认为革命性的,一定会震惊世界的功能、特色,用户真的买单么?我的意思是,我们总是习惯性的忘记
  • 用采集程序的优点有:无须维护网站,因为采集程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般采集程序就几个文件,
  • 最近关心电子商务比较多,阿里系产品目前还是业内标杆,值得学习的对象。前几天Jack Ma对支付宝用户体验的严厉批评,成为业内交流热点,据说原
  • 身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号、敏感字符转
  • 日期和时间类型MySQL有多个表示各种日期和时间值的数据类型, 比如YEAR和DATE. MySQL存储时间的最精确粒度是秒。 然而, 能做
  • 网页设计是由很多个不同的元素构成的,而这些元素的重要性都不同,并且有些元素还需要尤为的突出.有些元素彼此之间存在着联系,而另外的元素之间则一
  • 刚刚有人问我二年前写的那个小三角的效果还能作出什么样的效果,我正在看电视,画面上出现了这样一个小灯笼,于是,我就说,可以作个小灯笼玩玩。于是
  • 这是我以前发表在经典论坛的帖子,现在转贴回来。仿淘宝网站的导航效果。此方法有几个优点:根据字数自适应项目长度不同的项目使用不同的颜色来区分无
  • 这篇论坛文章主要介绍了SQL Server 2005数据库镜像的配置脚本,详细内容请大家参考下文:SQL Server 2005数据库镜像配
手机版 网络编程 asp之家 www.aspxhome.com