关于Cookies注入防范

Cookies注入原理:

ASP中的Request对象可以接受GET、POST、COOKIES请求,有时程序员偷懒,将其简化写成**=Request("参数")的格式接受数据,此时WEB接受数据时先以GET方式接受,如果不匹配再以POST方式接受,最后再以Cookies方式接受,即使防注入系统过滤了GET和POST注入,如果接受方式没有指定,造成了Cookies注入,这样简化写代码同时还会影响处理的速度。

Cookies注入防范:

为了更好的理解,来段代码,文件名Articles.asp:

id=request("id")
sql="select * from Articles where id="&id&""
set rs=conn.execute(sql)

其中id没有指定接受方式直接接受传递过来的id值,然后带入SQL语句中,如果程序中包含了防GET、POST注入,那么GET、POST注入无效,但是可以使用Cookies来注入,将接受id值指定接受GET方式,指定后就不能用POST和Cookies来接受参数了,即可达到防注入,代码如下:

id=request.QueryString("id")