在线客服
24小时免费咨询电话:18978941786
客服时间:上午9:30~下午6点
ASP里Request对象的探讨
收藏 分享 发布日期:2012-2-12 16:30:50 编辑:admin 文章来源: 点击率:
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; TencentTraveler ; .NET CLR 1.1.4322)
Host: 127.0.0.1
Connection: Keep-Alive
Cookie: b=lake2 , Success !
在一堆服务器响应数据之后,我们看到了"lake2,Success!"(Q:为什么空格不见了?A:因为未对提交的空格进行URL编码)。 到此,我们已理论和实际相结合的证明了Cookies可以拿来传递数据。 Request对象与SQL注入 现在把话题转一下,我们来说说SQL Injection。 SQL注入攻击是由于Web应用程序没有过滤用户所提交的有害数据而导致危害服务器的一种攻击手法。注意咯,这里涉及到提交数据,自然要跟刚才说了一大堆的request联系上啊。 归根结底,ASP下面的SQL注入都是由于request的参数没有过滤或者过滤不严。当然,程序员不是安全专家,他们可能不知道如何过滤。 于是,网络上就出现了通用的防注入ASP程序——"SQL通用防注入系统"。经过一段时间和几个作者的改进,该程序已经比较完善了,基本上可以拦截SQL注入(但是,个人认为它的过滤方式太严,造成许多不便)。"SQL通用防注入系统"是个asp文件,只需在有参数提交的文件中include它就是了。程序过滤的原理是遍历GET和POST参数的值,发现SQL注入关键字(如and、select)就停止正常文件执行。 嘿嘿,它遍历GET和POST,也就是Request对象的QueryString和From集合,忽略了Cookies。 现在,我们假设有一个SQL Injection漏洞百出的ASP程序,具备网络安全知识的管理员同学在网上下载并使用了传说中的"SQL通用防注入系统",但是很不幸,ASP程序中所有获取参数都是使用的request(key)……(呵呵,眼看着一个个封锁被突破,那是很enjoy的事情^_^) 这里仅仅是假设而已,至于实际中到底有多少ASP程序员喜欢用request(key) 来获取数据就不得而知咯。
本文章由南宁网站建设、南宁网站优化、南宁网络公司整理,转载请注明出处:http://www.xqgg.net/
