关于 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")