海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com
【字体设置:大 中 小】
让我们看一段 ASP 代码先
Function getIP()
Dim strIPAddr as string
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" or InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
这段代码的功能是得到客户端真实ip,也就是当客户端使用了透明HTTP代理的时候取得真正的客户端ip;匿名代理返回代理ip;无代理返回客户端ip。
想一下,为什么该代码能够从透明代理那里得到真实的ip呢?莫非透明代理服务器会发送我们的真ip?本地搭建一个透明代理,抓包分析之
GET /test/ipSpoof/test.asp HTTP/1.1
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: localhost
Connection: Keep-Alive
Cookie: tc_total_cookie_datetime_14734=2006-5-29%2010%3A45%3A26; PJBlog25Setting=ViewType=list; ASPSESSIONIDQQQGQMDQ=HLGHFEADMMDPHAFJDHBLBOPD
X-Forwarded-For: 10.0.0.54
哈哈,原来我们的真正ip被服务器发送出去了,那么,如果我们修改X-Forwarded-For的值再提交的话……嘿嘿,这样就可以伪造任意的“真实”ip啦。
伪造了“真实”ip,可以做很多事情,最简单就是以任意ip发表评论,要是管理员看到一个123.456.789.000的ip一定会被你郁闷到的。
更高级点,应该可以实现突破ip限制、跨站和SQL注射,当然需要结合具体的程序代码来看了
发表评论 - 不要忘了输入验证码哦!