现在的位置: 首页 > 综合 > 正文

asp中对多余参数的完美过滤

2013年12月02日 ⁄ 综合 ⁄ 共 831字 ⁄ 字号 评论关闭
作者:佚名 文章来源:本站原创 点击数:

68 更新时间:2005-9-10

上次写了一篇关于参数过滤的帖子,记得那时用的是instr函数,只是进行了某个参数的比较,要使能过滤很多的参数,那么要在比较区内加上大量的过滤符号,今天,也就是今天,笔者给大家带来一个更加完美的过滤方式,就是用到微软的VBscript里面的一个isnumeric()函数!好了,废话少说,先来看看他的描述与用法:
IsNumeric 函数 描述
返回 Boolean 值指明表达式的值是否为数字。
语法
IsNumeric(expression)
expression 参数可以是任意表达式。
说明
如果整个 expression 被识别为数字,IsNumeric 函数返回 True;
否则函数返回 False。
如果 expression 是日期表达式,IsNumeric 函数返回 False。
好了,看到这里大家明白了吗?
isnumeric()这个函数就是比较括号里的表达试,看是否为数字,如果为数字这返回true,如果非数字则返回false,基这个原理 ,那么我们就可以用
if not isnumeric(request.querystring("id")) then response.redirect "index.asp"
同样的道理,在then后面你也可以加上你想要的,如果加上别的别忘了加上一个
response.end
表示结束!
现在给大家解析以下,这句话的意思是:如果在IE地址栏上id后面的参数不是数字的话,那么实行then后面的语句!
大家看到了吧,这里就是管家的地方,所以我说是“完美过滤”!
比如大家平时检查时候有漏洞的时候一般就是在id后面加上一些特殊的符号来达到我们想要的目的!而着函数就是我们的天敌了!
只要你在id后面加上,比喻,(‘)或(;)或(,)或( and 1=1)...等等,
都使id已经变为了非数字,也就是使then后面的语句本实行了!
从而达到了我们的过滤目的!
哈哈,好了,参数过滤今天就说到这里!
现在要干活去了:(!

 

抱歉!评论已关闭.