修改http头请求包实现网址重定位?

小小爬虾 2014-10-09 10:44:16
各位大侠,我想通过修改http的请求头来实现网址的重定位,这种思路可行吗?
我通过hook获取了http请求报的内容buffer,然后修改或者替换这个buffer。HOST地址很明显的可以进行修改。但有人说
就算HOST字段修改成功了,那么目标的IP地址也要修改。不然人家的IP地址上面没有你这个HOST 也是白搭 。
这该如何处理呢?


比如:我想在地址栏实现输入www.google.com,实际跳转到www.baidu.com 。这是我重写的跳转到www.baidu.com的http请求包的buffer内容。

GET / HTTP/1.1\r\nAccept: */*\r\nReferer: http://hao.360.cn/?1004\r\nAccept-Language: zh-CN\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\r\nAccept-Encoding: gzip, deflate\r\nHost: www.baidu.com\r\nConnection: Keep-Alive\r\nCookie: _med=dw:1366&dh:768&pw:1366&ph:768&ist:0; cna=Sni9DA9PGAcCAXvqW/pwGeSC; t=1f8e4b2b2bd7ed5c1453d84d7448402a; isg=650EF2B45461C98EA69AA0FF57A709B6; mt=ci%3D-1_0\r\n\r\n

...全文
501 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小爬虾 2014-10-15
  • 打赏
  • 举报
回复
引用 13 楼 zwfgdlc 的回复:
http://wenku.baidu.com/link?url=lzJ6pI074UNgi0wH8FlFG4lWmzLa0i_N_afe2plAx2NNtVO5zNfGGZigozMyKj0VI7s0S19d6ELmKOxichgO8DIrHwP-UViLqc0w6ZRBHna
此文已分析。它只是简单的获取了数据包的内容,但没有涉及修改数据包的问题。
小小爬虾 2014-10-14
  • 打赏
  • 举报
回复
引用 10 楼 zwfgdlc 的回复:
那试下hook NtDeviceIoControlFile函数
而且NtDeviceIoControlFile有有关于ip和端口的信息吗?因为即使通过修改请求buffer里面的HOST:,但是不能改变IP,也是无法正常连接到指定网址的。
小小爬虾 2014-10-14
  • 打赏
  • 举报
回复
引用 10 楼 zwfgdlc 的回复:
那试下hook NtDeviceIoControlFile函数
小弟已经hook NtDeviceIoControlFile,得到了send和recv的buffer,但是不知道如何修改。。。。
小小爬虾 2014-10-11
  • 打赏
  • 举报
回复
引用 6 楼 oyljerry 的回复:
本地搞一个proxy server,然后redirect 网络流量到web server,然后proxy server将www.google.com redirect到www.baidu.com
谢谢版主的思路!
zwfgdlc 2014-10-11
  • 打赏
  • 举报
回复
那试下hook NtDeviceIoControlFile函数
小小爬虾 2014-10-11
  • 打赏
  • 举报
回复
引用 8 楼 zwfgdlc 的回复:
hook InternetConnectW (Unicode) 或者 InternetConnectA (ANSI).
谢谢。但是360等浏览器没有使用这个函数。
zwfgdlc 2014-10-11
  • 打赏
  • 举报
回复
hook InternetConnectW (Unicode) 或者 InternetConnectA (ANSI).
jierandefeng 2014-10-10
  • 打赏
  • 举报
回复
引用 3 楼 kxltsuperr 的回复:
[quote=引用 1 楼 jierandefeng 的回复:] 你这个问题分几种情况啊: 1。如果只是本机的话,你大可以只HOOK浏览器的地址栏。 2。如果是本机,也可以修改 host文件。 3。如果是本局域网其它机器,那就需要搞中间人了,这个可以参考:https://github.com/byt3bl33d3r/MITMf 我了解的也只有这么多了,你说的这个直接修改请求的好像确实行不通,我个人猜测可能的原因如下: 因为http包其实是基于 ip包的,也就是IP包里的那个目的地址 IP是根据你提供的:Host: www.baidu.com 这个来获取的。 如果有错勿喷……
对于HOOK浏览器的地址栏的方法,IE可行,但360浏览器好像连地址栏的句柄都抓不到...[/quote] 附上那个视频的地址: http://c.itcast.cn/news/20140724/11161930473.shtml
jierandefeng 2014-10-10
  • 打赏
  • 举报
回复
引用 3 楼 kxltsuperr 的回复:
[quote=引用 1 楼 jierandefeng 的回复:]
你这个问题分几种情况啊:
1。如果只是本机的话,你大可以只HOOK浏览器的地址栏。
2。如果是本机,也可以修改 host文件。
3。如果是本局域网其它机器,那就需要搞中间人了,这个可以参考:https://github.com/byt3bl33d3r/MITMf
我了解的也只有这么多了,你说的这个直接修改请求的好像确实行不通,我个人猜测可能的原因如下:
因为http包其实是基于 ip包的,也就是IP包里的那个目的地址 IP是根据你提供的:Host: www.baidu.com 这个来获取的。
如果有错勿喷……

对于HOOK浏览器的地址栏的方法,IE可行,但360浏览器好像连地址栏的句柄都抓不到...[/quote]

这个360浏览器的话,可以看下 传智播客C++学院那个广告了,里面碰巧有这么个东西:

以上不是个广告……我不是传智播客的人……只是觉得人家确实实现了……
小小爬虾 2014-10-10
  • 打赏
  • 举报
回复
引用 1 楼 jierandefeng 的回复:
你这个问题分几种情况啊: 1。如果只是本机的话,你大可以只HOOK浏览器的地址栏。 2。如果是本机,也可以修改 host文件。 3。如果是本局域网其它机器,那就需要搞中间人了,这个可以参考:https://github.com/byt3bl33d3r/MITMf 我了解的也只有这么多了,你说的这个直接修改请求的好像确实行不通,我个人猜测可能的原因如下: 因为http包其实是基于 ip包的,也就是IP包里的那个目的地址 IP是根据你提供的:Host: www.baidu.com 这个来获取的。 如果有错勿喷……
对于HOOK浏览器的地址栏的方法,IE可行,但360浏览器好像连地址栏的句柄都抓不到...
小小爬虾 2014-10-10
  • 打赏
  • 举报
回复
引用 1 楼 jierandefeng 的回复:
你这个问题分几种情况啊: 1。如果只是本机的话,你大可以只HOOK浏览器的地址栏。 2。如果是本机,也可以修改 host文件。 3。如果是本局域网其它机器,那就需要搞中间人了,这个可以参考:https://github.com/byt3bl33d3r/MITMf 我了解的也只有这么多了,你说的这个直接修改请求的好像确实行不通,我个人猜测可能的原因如下: 因为http包其实是基于 ip包的,也就是IP包里的那个目的地址 IP是根据你提供的:Host: www.baidu.com 这个来获取的。 如果有错勿喷……
感谢!
jierandefeng 2014-10-10
  • 打赏
  • 举报
回复
你这个问题分几种情况啊: 1。如果只是本机的话,你大可以只HOOK浏览器的地址栏。 2。如果是本机,也可以修改 host文件。 3。如果是本局域网其它机器,那就需要搞中间人了,这个可以参考:https://github.com/byt3bl33d3r/MITMf 我了解的也只有这么多了,你说的这个直接修改请求的好像确实行不通,我个人猜测可能的原因如下: 因为http包其实是基于 ip包的,也就是IP包里的那个目的地址 IP是根据你提供的:Host: www.baidu.com 这个来获取的。 如果有错勿喷……
oyljerry 2014-10-10
  • 打赏
  • 举报
回复
本地搞一个proxy server,然后redirect 网络流量到web server,然后proxy server将www.google.com redirect到www.baidu.com

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧