V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
simman
V2EX  ›  SSL

HTTPS 问题

  •  
  •   simman · 2015-03-30 00:52:07 +08:00 · 3657 次点击
    这是一个创建于 3525 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 沃通wosign 申请了免费的SSL,然后使用nginx配置好了,一切正常,然后使用移动端调用https的接口,也可以正常使用。

    但我使用抓包软件发现,不管是发送的数据还是接收到的数据都是明文的,请问应该怎么加密?

    16 条回复    2015-03-30 14:47:46 +08:00
    mornlight
        1
    mornlight  
       2015-03-30 01:20:06 +08:00 via Android
    如果是正常的安全环境,你抓的https包不会是明文。
    不知道你抓包怎么实现的,如果是Fiddler,它会在系统里安装CA,你虽然走https 但其实验证的是Fiddler 提供的证书它能解密。

    回答你的问题:如果服务端设置正确,客户端没有信任乱七八糟的CA,你们的https通信就是加密的。
    66CCFF
        2
    66CCFF  
       2015-03-30 02:43:42 +08:00 via iPhone
    说不定是因为装了阿里的安全控件
    NewYear
        3
    NewYear  
       2015-03-30 07:44:29 +08:00 via Android
    抓包软件太无辜了 不给你解密https一定很多人问怎么解 解开了你又问如何加密。

    抓包只能在本机给你解开 https防的也是中间人不是本机 因为本机再怎样浏览器还是要解密 才能展示给你看啊

    抓包软件劫持你的浏览器就可以了
    yaxin
        4
    yaxin  
       2015-03-30 08:26:41 +08:00
    你用的什么抓包软件啊,如果是http debugger pro的话,默认是直接看到https原文的,而且这时候你在浏览器中看一下你网站的证书的话,你会发现不是正确的证书。
    simman
        5
    simman  
    OP
       2015-03-30 09:03:25 +08:00
    @mornlight
    @66CCFF
    @NewYear
    @yaxin

    谢谢各位,我再说一下具体环境。

    1、证书:沃通wosign 的免费SSL
    2、服务器:apache
    3、客户端:IOS(使用AFN网络请求)
    4、抓包软件:paros for mac

    证书配置的应该没错,因为我使用chrome访问是可以正常识别绿色的可信证书的。为了确认不是我的证书的问题、服务器配置问题,我使用的 `v2ex`的 https api 接口,然后进行 3、4,发现也是可以正常抓取明文包的,难道是我对https的理解有误?

    其实我想达到的效果就是:

    1、安全。
    2、不想让别人看到接口传递的明文参数和返回值

    还是说如果要实现2的话,我需要单独的把参数进行加密?
    Slienc7
        6
    Slienc7  
       2015-03-30 09:30:01 +08:00 via Android
    2、不想让别人看到接口传递的明文参数和返回值

    你是指不想用户看到吧? 这和https一点关系都没有
    simman
        7
    simman  
    OP
       2015-03-30 09:33:49 +08:00
    @xgowex 不想让其他人通过简单的抓包软件看到。
    wzxjohn
        8
    wzxjohn  
       2015-03-30 09:36:59 +08:00 via iPhone
    你使用的這個工具可以通過安裝自簽名證書的方式解密 HTTPS ,仔細看看你的客戶端,是不是你以前調試的時候裝了證書。。。
    Slienc7
        9
    Slienc7  
       2015-03-30 09:42:40 +08:00 via Android
    @simman 本机抓包,绝对能看到的,这个和https没什么关系。
    就算不用上面说的换了证书抓包,直接浏览器抓包还是能看到,因为https加密过程全在浏览器中进行


    只能在页面上另行加密混淆参数,但是达不到绝对加密效果,因为所有代码都是公开的,只能加大工作量
    simman
        10
    simman  
    OP
       2015-03-30 11:07:05 +08:00
    @wzxjohn
    @xgowex

    没有装任何证书,我是用 ipod touch 进行连 Macbook 的网络,然后使用 paros 进行抓包,paros也没有做其他设置。 所以我问抓到了明文包是怎么回事。
    wzxjohn
        11
    wzxjohn  
       2015-03-30 11:08:44 +08:00 via iPhone
    @simman 进入设置,通用,配置文件看看?
    simman
        12
    simman  
    OP
       2015-03-30 11:16:20 +08:00
    @wzxjohn 看了,显示目前没有安装描述文件。
    wzxjohn
        13
    wzxjohn  
       2015-03-30 11:34:17 +08:00
    @simman 你的网络请求确定是写的 HTTPS 开头的地址么?这还真有点奇怪。。。
    neilp
        14
    neilp  
       2015-03-30 13:26:31 +08:00
    上个截图吧, 一切都明白了。
    simman
        15
    simman  
    OP
       2015-03-30 14:37:33 +08:00
    @wzxjohn
    @neilp

    感谢已经解决,起始也不是解决,使用 wireshark、charles 抓包可以看到都是加密的了,但是如果使用 paros 进行抓包,IOS会报错:

    2015-03-30 14:37:02.478 testsss[3935:652440] error: Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x16571a10 {NSErrorFailingURLKey=https://xxxx.cc/, NSErrorFailingURLStringKey=https://xxxx.cc/, NSLocalizedDescription=cancelled}
    wzxjohn
        16
    wzxjohn  
       2015-03-30 14:47:46 +08:00 via iPhone
    @simman 。。。所以说你的设备已经发现了中间人攻击并且拒绝连接了。。。我们跟你讨论了半天一个完全没有问题的问题ˊ_>ˋ
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2705 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:54 · PVG 22:54 · LAX 06:54 · JFK 09:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.