首页
社区
课程
招聘
[求助]libcurl用socket发的https,怎么抓包
发表于: 2016-3-28 15:21 11853

[求助]libcurl用socket发的https,怎么抓包

2016-3-28 15:21
11853
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2


hook!!!
2016-3-28 15:34
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
什么都是HOOK,我也是醉了。。

正确的方式是,装个Fiddler , curl代码设置个代理。
2016-3-28 17:17
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4


遇上HSTS协议Fiddler也没效果啊.

HTTPS严格传输安全加强版
2016-3-28 18:00
0
雪    币: 70
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
Hook connect 转向 本地做过滤应该也没什么不对。
2016-3-28 18:08
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
HTTPS可以搭建HTTPS代理, 当然CONNECT方式实现的代理没有用, 数据还是加密的, 类似工具有burp等
当然, 也可以安装HttpDebugger, 选Advanced模式, 也支持https. 至于你说的加强版, 是指严格认证证书?那没有简单快捷的方案
2016-3-28 18:42
0
雪    币: 19
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
关于HTTPS内容被加密问题,可以使用中间人方式获取
服务端--> 中间人(生成虚假私钥) <---- 客户端

libcurl是开源的 可以直接从代码中看实现原理
2016-3-29 15:32
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
你说的中间人就是我说的, HttpDebugger原理也是这个, 但是不清楚LZ说的证书强校验是什么回事
2016-3-29 20:36
0
雪    币: 19
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
他应该想表达的是 部分浏览器 在被劫持后 检测图表为不可信

此方法可通过 server --> 中间人(转换为HTTP) <--- 客户端
的方式来绕过,毕竟大部分人是不会关注网页是HTTP还是HTTPS
2016-3-30 10:03
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10
HSTS协议用这种中间人方式攻击是无效的.
2016-3-30 10:04
0
雪    币: 19
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
为什么会无效呢?
你可以在百度找相关<https 中间人> or <ssl 中间人攻击>的相关资料 开源的很多

附:http://www.freebuf.com/tools/48016.html
2016-3-30 14:32
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
12
......................
2016-3-30 14:56
0
雪    币: 1886
活跃值: (1881)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
13
为什么HSTS不能抓?
2016-4-18 23:40
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
Fidder可以抓Https的
2016-4-19 09:40
0
雪    币: 1604
活跃值: (640)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
15
视与你通信的远程站点的安全策略而定。比如,普通的 HTTPS 站点都没有部署 HTTPS 严格传输安全(HTTPS Strict-Transport-Security,HSTS),因此,当你使用类似 BurpSuite 等工具在 web 客户端与 HTTPS 站点之间,拦截并转发 HTTPS 流量是可行的。

通常我们会安装 BurpSuite 开发商 PostSwigger CA 的根证书,那么 BurpSuite 作为中间代理,与 HTTPS 站点通信时,接收对方发过来的证书;用自己的 PostSwigger CA 根证书对站点的服务器证书“重签名”,这样,原本签发该站点证书的证书颁发机构,就变成了 PostSwigger CA 。这都是为了取得浏览器的信任,然后浏览器会将 BurpSuite 当成目标站点(接受证书),无顾虑的与其进行 HTTPS 通信。如此一来,BurpSuite 就能够在中间透明地解密,转发 HTTPS 流量,并向用户显示解密后的信息。这就是 SSL 代理能够“剥掉”SSL 流量的原因。
而对于部署了 HSTS 的站点而言,重签名站点证书来伪造站点的身份对某些浏览器已经不管用,因此一些 SSL 代理工具败下阵来。

对于 curl ,首先安装  PostSwigger CA 的根证书,然后用 BurpSuite 拦截 curl 与任意 HTTPS 站点的通信,如果一切正常, BurpSuite 应该能抓取并解密 HTTPS 请求与响应。而 HSTS 会强制要求客户端使用 HTTPS 与其进行通信,而且不能提供给用户忽略有问题的证书的选项,因此对于部署了 HSTS 的站点,如 facebook ,BurpSuite 无法伪造站点的身份取得客户端信任,也就无法抓包分析 HTTPS 流量(甚至不能与客户端进行最初的 TLS 握手,协商并交换密钥等)。

总而言之,要么你只抓取 curl 与普通 HTTPS 站点之间的流量;要么你抓取 IE 浏览器与 HSTS 站点之间的流量(IE 11.0 以下版本没有正确遵守 HSTS 规范的要求,可以绕过),至于抓取工具,用 BurpSuite 或 Fildder 都可以,关键是找对方法!
例如,我用 BurpSuite 成功抓取并解密了 IE 浏览器与 HSTS 站点——facebook 之间的流量,站点的 HTTPS 响应中,有一个 HSTS 响应头,如下图所示,证明通过 IE 可以绕过 HSTS


2016-4-20 00:38
0
雪    币: 7
活跃值: (774)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
https抓包当然懂了,但这个是socket,端口随机,怎么抓
2016-4-20 18:40
0
雪    币: 1604
活跃值: (640)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
17
如果楼主说的 socket 是指传输层套接字,那么试试看 wireshark,它可以抓取从数据链路层到应用层的绝大多数流量,类 UNIX 平台上的 wireshark 依赖于 Libpcap 库,可以通过 yum 或 rpm 软件包安装;
基本上,你可以无视客户端的动态端口。对于 HTTPS 的服务器端进程,一般监听在 TCP 的 443 端口,因为 TCP 通信是双向的,所以你只要在 wireshark 中设置抓包过滤器为 TCP 的目标 443 端口,自然就能抓取到使用 libcurl 库的本机进程与服务器端通信的 HTTPS 流量 。
2016-4-20 22:39
0
雪    币: 255
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
make
2020-2-2 12:10
0
游客
登录 | 注册 方可回帖
返回
//