理论教育 Cookie注入曝光引发最新黑客攻防

Cookie注入曝光引发最新黑客攻防

时间:2023-11-24 理论教育 版权反馈
【摘要】:现在很多网站都采用了通用防注入程序,对于这种网站可采用Cookie注入的方法,而很多通用防注入程序对这种注入方式都没有防备。而Cookie是保存在客户端的一个文本文件,可对其进行修改,利用Request.cookie方式来提交变量的值,从而实现注入攻击。使用到的ASP代码如下:只要通过专门的Cookie修改工具把Cookies["uid"]的值改成“40or 1=1”或其他注入代码,就可以实现Cookies注入攻击了。另外,还可通过Cookie注入工具直接注入,“COOKIES注入器”就是其中最常见的一款。

Cookie注入曝光引发最新黑客攻防

现在很多网站都采用了通用防注入程序,对于这种网站可采用Cookie注入的方法,而很多通用防注入程序对这种注入方式都没有防备。

在ASP中,request对象获取客户端提交数据常用get和post两种方式,同时,request对象可以不通过集合来获得数据,即直接使用“request("name")”。但它效率低下,容易出错,当省略具体的集合名称时,ASP是按QueryString(get),Form(post),Cookie,Severvariable集合的顺序来搜索的。而Cookie是保存在客户端的一个文本文件,可对其进行修改,利用Request.cookie方式来提交变量的值,从而实现注入攻击。其格式为:

Response.Cookies["uid"].Value=uid;

Cookie记录了用户的ID号,当需要用到UID时,就通过Cookie搜索用户信息。使用到的ASP代码如下:

只要通过专门的Cookie修改工具(如IECookiesView)把Cookies["uid"]的值改成“40or 1=1”或其他注入代码,就可以实现Cookies注入攻击了。另外,还可通过Cookie注入工具直接注入,“COOKIES注入器”就是其中最常见的一款。(www.daowen.com)

“COOKIES注入器”可以快速生成注入的ASP脚本,其界面如下图所示。

如要预防Cookie注入的发生,只要在获得参数UID后,对其进行过滤,通过创建一个类来判断数字参数是否为数字,其代码如下:

其中“isnumeric cooidesID=new isnumeric();”语句的作用是创建一个类,再使用一个判断语句“if(cooidesID.reIsnumeric(ruid))”来判断数字参数是否为数字,如果是数字,则执行“string str="select*from userTable where id="+uid;”代码行对获得的参数进行过滤。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈