referer伪造

2010, June 14, 4:32 PM. 黑友网文
Submitted by admin

来源:bhst.org   wwqwwq

上次分析的那套系统中涉及到referer欺骗的一些只是,莫问老大让我详细说明一下,便有了这片文章,错误之处还望指教。
由于没找到测试的目标所以自己就构造了一个测试的文件,文件内容如下:<%
dim referer
dim web_name
dim n
referer=request.servervariables("http_referer")
web_name=request.servervariables("server_name")
n=instr(referer,web_name)
if n>0 then
response.write "<script>alert(/good/)</script>"
else
response.write "<script>alert(/bad/)</script>"
end if
%>
文件url:[url]http://cr178.com/admin/test.asp[/url]
然后用我自己写的一个小工具测试了一下,结果如图所示:

大小: 64.06 K
尺寸: 400 x 300
浏览: 31 次
点击打开新窗口浏览全图

注意这时候我构造的http头的语句为:
void HttpGetPacket(char *packet,char *url,char *host,char *data)
{
wsprintf(packet,"GET %s%s HTTP/1.1"
  "Accept: */*"
  
  "Accept-Language: zh-cn"
  "Host: %s"
// "Connection: Keep-Alive"
  "",
  url,data,host);
}
,当我将构造http请求的语句修改为这样时:
void HttpGetPacket(char *packet,char *url,char *host,char *data)
{
wsprintf(packet,"GET %s%s HTTP/1.1"
  "Accept: */*"
  "Referer: http://cr178.com/admin/test1.asp."
  "Accept-Language: zh-cn"
  "Host: %s"
// "Connection: Keep-Alive"
  "",
  url,data,host);
}
细心的朋友应该发现了,多了一个字段Referer: http://cr178.com/admin/test1.asp."
编译以后再测试结果为:
大小: 59.88 K
尺寸: 400 x 300
浏览: 21 次
点击打开新窗口浏览全图

其实就是修改了一个http消息头中的字段,同样用NC也可以实现

 

 

============

 

可以使用Mozilla Firefox插件"Tamper Data"来发送通常的HTTP header

Tags: referer

« 上一篇 | 下一篇 »

Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容 (必填):