V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
simman
V2EX  ›  SSL

HTTPS 问题

  •  
  •   simman · Mar 30, 2015 · 4250 views
    This topic created in 4058 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    抓包软件劫持你的浏览器就可以了
    yaxin
        4
    yaxin  
       Mar 30, 2015
    你用的什么抓包软件啊,如果是http debugger pro的话,默认是直接看到https原文的,而且这时候你在浏览器中看一下你网站的证书的话,你会发现不是正确的证书。
    simman
        5
    simman  
    OP
       Mar 30, 2015
    @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  
       Mar 30, 2015 via Android
    2、不想让别人看到接口传递的明文参数和返回值

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


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

    没有装任何证书,我是用 ipod touch 进行连 Macbook 的网络,然后使用 paros 进行抓包,paros也没有做其他设置。 所以我问抓到了明文包是怎么回事。
    wzxjohn
        11
    wzxjohn  
       Mar 30, 2015 via iPhone
    @simman 进入设置,通用,配置文件看看?
    simman
        12
    simman  
    OP
       Mar 30, 2015
    @wzxjohn 看了,显示目前没有安装描述文件。
    wzxjohn
        13
    wzxjohn  
       Mar 30, 2015
    @simman 你的网络请求确定是写的 HTTPS 开头的地址么?这还真有点奇怪。。。
    neilp
        14
    neilp  
       Mar 30, 2015
    上个截图吧, 一切都明白了。
    simman
        15
    simman  
    OP
       Mar 30, 2015
    @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  
       Mar 30, 2015 via iPhone
    @simman 。。。所以说你的设备已经发现了中间人攻击并且拒绝连接了。。。我们跟你讨论了半天一个完全没有问题的问题ˊ_>ˋ
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4900 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 04:01 · PVG 12:01 · LAX 21:01 · JFK 00:01
    ♥ Do have faith in what you're doing.