资源描述:
《cookies注入方法和原理介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、现在很多网站都采用了通用防注入程序,那么对于这种网站,我门是否就束手无策了呢?答案是否定的,因为我们可以采用cookie注入的方法,而很多通用防注入程序对这种注入方式都没有防备。在讲之前,我们还是来回顾下ASP脚本中Request对象的知识吧,上面几讲中都提到Request对象获取客户端提交数据常用的是GET和POST二种方式,同时request对象可以不通过集合来获得数据,即直接使用"request("name")"但它的效率低下,容易出错,当我们省略具体的集合名称时,ASP是按QueryString,from,cookie,servervaria
2、ble,集合的顺序来搜索的,在request对象成员中集合cookies,它的意思是"读取用户系统发送的所有cookie值,我们从第二讲关于"cookies欺骗入侵和原理"中知道,cookies是保存在客户端计算机的一个文本文件,可以进行修改,这样一来,我们就可以使用Request。cookie方式来提交变量的值,从而利用系统的漏洞进行注入攻击。我们首先还是来看看中网景论坛的最新版本"(CNKBBS2007)中网景论坛2007v5.0"官方下载地址"http://www.cnetking.com/websys2.asp?id=26"发布时间是2007
3、-06-06,打开系统的源代码后,在"user_RxMsg_detail.asp"文件中,有如下代码:(调用opendb.asp文件)<%CallCheckUserLogin(username)Dimaction,s,idid=request("id")(获取客户提交的变量,并赋值给id,并没过滤,也没有指定采用那种方式提交)ifid<>""thenCallIsNum(bid)(这是程序员的出现地方,注意bid<>id)conn
4、.execute("updatecnk_Users_RxMsgsetreaded=1whereid="&id)'设置已读rs.open"select*fromcnk_users_RxMsgwhereid="&id,conn,1,3我们再打开"opendb.asp"文件<%OptionExplicitResponse.Buffer=true%>(调用fzr.asp文件)..................以现它是连接数据库的文件,其中调用了fzr.asp文件,我们再打开fzr.asp文件<%'--------版权说明------------------'SQL通用防注入程序'Aseanleung'--------定义部份------------------DimFy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstrDimfso1,all_tree2,file1,files,filez,fs1,zruseripIfRequest.QueryString<>""
6、Then(对Request.QueryString提交(客户采用GET方式提交)的数据进行判断,并没有指明对其它方式提交的数据进行判断)'自定义需要过滤的字串,用"
7、"分隔Fy_In="'
8、;
9、%
10、*
11、and
12、exec
13、insert
14、select
15、delete
16、update
17、count
18、chr
19、mid
20、master
21、truncate
22、char
23、declare
24、script"(阻止了常用的SQL注入的语句)Fy_Inf=split(Fy_In,"
25、")ForEachFy_GetInRequest.QueryStringForFy_Xh=0ToUboun
26、d(Fy_Inf)IfInstr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0Thenzruserip=Request.ServerVariables("HTTP_X_FORWARDED_FOR")Ifzruserip=""Thenzruserip=Request.ServerVariables("REMOTE_ADDR")Response.Write"内容含有非法字符!请不要有'或and或or等字符,请去掉这些字符再发!!
"Response.Write"如是要攻击网站,系统记录了你
27、的操作↓
"Response.Write"操作IP:"&zruserip&"
"Response