Idhttp伪造来源地址、Cookie欺骗、通过代理访问

1、伪造来源地址:使用IdHttp可以伪造这个来源地址,而且很简单,只要在访问某地之前加上一句:
IdHttp1.Request.Referer := ‘http://www.7747.net/’;那么来源地址就变成了http://www.7747.net/而不是你实际的来源地址了。

2、Cookie欺骗:
如何用idhttp提交自己构造过的Cookie
我不知道的是:如果把自己构造过的Cookie传给idhttp让它提交。
比如站点 http://www.aaa.com 是要cookie的。
我已经在程序上放了idhttp和IdCookieManager。
我get http://www.aaa.com 后,idhttp通过IdCookieManager已经得到当前站点的Cookie了。
我可以用
for i := 0 to IdCookieManager1.CookieCollection.Count – 1 do
memo1.Lines.Add(IdCookieManager1.CookieCollection.Items[i].CookieText);
得到。

现在,如果我想更改这个cookie,或者说我想按这个Cookie的格式重新写一个,再用idhttp进行post。我应该怎么做?用途是Cookie欺骗等。
如:得到的Cookie为:skin=2; ASPSESSIONIDSQTSABQD=IEMKPIDBKKMEEKEHLLOIJJON; UserCode=3CA001D63984E6115FE55681%2E95
我更改为:skin=123; ASPSESSIONIDSQTSABQD=IEMKPIDBKKMEEKEHLLOIJJON; UserCode=3CA001D63984E6115FE55681%2E95
我再post

****************************************************************************************************

在Idhttp中,要想修改Cookie的代码,就要用到Request的RawHeaders中的Values值。
这个值怎么用呢?
Values接受一个string的值,该值指定了所访问的变量。
如HTTP头是这样定义的(其中一些):
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;
Cookie: JSESSIONID=aoOYvjM-IKzh
而Values的值就可以是Cookie,User-Agent,Accept-Encoding……等等。

RawHeaders必须初始化后才可用。

正确的代码应该是这样:
try
idhttp1.Request.SetHeaders; //最重要的初始化。
idhttp1.Request.RawHeaders.Values[‘Cookie’] := ‘这里是cookie的值’;
idhttp1.Post(‘/webmail/login.jsp’,data1,data2);
except
idhttp1.Get(idhttp1.Response.Location, data1);
end;

3、代理服务器:

使用idhttp控件,调整代理服务器参数也可以实现通过代理服务器访问。

idhttp1.ProxyParams.ProxyServer :=proxyip.Text ;//代理地址
idhttp1.ProxyParams.ProxyPort :=StrToInt(port.text);//端口
//如果代理需要验证
idhttp1.ProxyParams.ProxyUsername:=uname.Text ;//用户名
idhttp1.ProxyParams.ProxyPassword:=pw.Text ; //密码

如果是在局域网内,代理不成功。



发表评论

您的电子邮箱地址不会被公开。

+ 15 = 23