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

请教怎么能抓包后修改数据包 然后伪装服务端返回。

  •  
  •   ren2881971 · 2016-01-07 20:34:38 +08:00 · 18163 次点击
    这是一个创建于 3268 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个系统的登录是通过 ajax 返回的数据值。然后判断参数验证权限的。
    我在想如果系统服务端没控制权限的话 仅仅只是客户端通过登陆一次的返回值来控制页面跳转和显示内容的话。 我是不是就可以修改登陆时的返回数据包 然后伪装成服务端返回值 从而入侵系统呢?

    PS: 这是我们公司自己的维护系统。。
    只不过请了安全评测的公司来做测试被爆出漏洞。
    我想重现下漏洞是怎么发现和被进攻的 好向老爷交差,我不是想做坏事啊 5555

    23 条回复    2016-01-08 13:15:45 +08:00
    a342191555
        1
    a342191555  
       2016-01-07 20:38:41 +08:00
    fidder 应该可以满足需求。
    a342191555
        2
    a342191555  
       2016-01-07 20:39:01 +08:00
    sorry , fiddler 。拼错了。
    xifangczy
        3
    xifangczy  
       2016-01-07 20:39:51 +08:00
    Burp Suite
    Fiddler
    Charles
    不谢
    ren2881971
        4
    ren2881971  
    OP
       2016-01-07 20:41:16 +08:00
    @a342191555
    @xifangczy
    谢谢两位。
    另外 两位觉得我说的方法 可行么。。
    a342191555
        5
    a342191555  
       2016-01-07 20:47:51 +08:00
    @ren2881971 感觉可行。而且我觉得如果在上级路由上做一个 iptables 的转发的话甚至可以截取到所有不加密的数据(微博登陆,说你呢!)
    ren2881971
        6
    ren2881971  
    OP
       2016-01-07 20:50:41 +08:00
    @a342191555 哈哈坦白说 没看懂 原谅我的无知 :-O
    ren2881971
        7
    ren2881971  
    OP
       2016-01-07 20:51:12 +08:00
    @a342191555 mac 下有 Charles 下载一个研究下~
    ren2881971
        8
    ren2881971  
    OP
       2016-01-07 20:56:54 +08:00
    @a342191555
    @xifangczy
    感谢两位! 成功入侵 可以交差了。。
    lxy
        9
    lxy  
       2016-01-07 20:59:01 +08:00
    这种低级漏洞不少,比如用来跳过短信验证……
    ren2881971
        10
    ren2881971  
    OP
       2016-01-07 21:03:23 +08:00
    @lxy 涨姿势了。 反思自己以前写的代码漏洞。。
    ren2881971
        11
    ren2881971  
    OP
       2016-01-07 21:07:12 +08:00
    @lxy 请问如何能避免这种渗透方式呢。。 增加服务端返回客户端数据的 复杂方式?
    怎么感觉总会被人分析出来 从而入侵的感觉呢。(突然觉得背后凉飕飕的)
    a342191555
        12
    a342191555  
       2016-01-07 21:11:31 +08:00
    @ren2881971 HTTPS 最简单吧
    ren2881971
        13
    ren2881971  
    OP
       2016-01-07 21:15:53 +08:00
    @a342191555 https 就不会被抓包么?
    a342191555
        14
    a342191555  
       2016-01-07 21:18:01 +08:00
    @ren2881971 与服务器建立握手的时候会给你公钥的,你能用公钥解开的只有服务器用私钥加密过的数据,你用公钥加密过的数据只有服务器的私钥才可以解开。只要在客户端保证第一次发的公钥是来源于正确的服务器并且对应的私钥没有泄漏就可以了
    bdbai
        15
    bdbai  
       2016-01-07 21:19:28 +08:00 via iPhone
    @a342191555 网页上 HTTPS 照样能分析出 js 。
    服务端处理时就要假设传回的数据都是不安全的,然后进行过滤。
    a342191555
        16
    a342191555  
       2016-01-07 21:24:30 +08:00
    @bdbai HTTPS 只能防止中间人攻击。 JS 的东西没办法控制,本来就是运行在客户端中的。 JS 只处理与前端相关的东西,程序本身的逻辑始终放在后端实现。不知道这个理解是否恰当?
    ren2881971
        17
    ren2881971  
    OP
       2016-01-07 21:25:51 +08:00
    @bdbai 数据不能被拦截的话 就算分析 js 也没什么用吧。
    小弟网络安全 菜鸟 请大神指教。
    bdbai
        18
    bdbai  
       2016-01-07 21:28:59 +08:00 via iPhone
    @a342191555 逻辑放哪里不要紧,关键是后端要做好安全措施。
    bdbai
        19
    bdbai  
       2016-01-07 21:33:04 +08:00 via iPhone
    @ren2881971 你现在的主要矛盾在于后端。攻击者完全可以直接访问你的 js 来分析,或者使用浏览器的开发者工具。总之扔给用户的都是不安全的。
    ren2881971
        20
    ren2881971  
    OP
       2016-01-07 21:41:32 +08:00
    @bdbai 哎 说得对。我看了代码 目前的登录是通过 ajax 将用户名和密码数据发送服务端,获取返回数据后直接通过 js 判断 跳转什么路径。。 比如 success.jsp 这种一目了然意图的路径。。
    之后又在 success.jsp 中的 js 中判断参数来处理页面显示内容。。。。
    所以我直接抓包 修改数据再返回客户端的话 就可以直接入侵系统了。。
    明明需要服务端做跳转的。 不知为何要闹这样。。哎 身为背锅侠的我
    imn1
        21
    imn1  
       2016-01-07 22:40:36 +08:00
    登录完不写入 session 么?
    sunsol
        22
    sunsol  
       2016-01-07 23:54:47 +08:00
    @a342191555 HTTPS 双向认证可以确保指定客户端才能使用,正好用于维护系统
    ren2881971
        23
    ren2881971  
    OP
       2016-01-08 13:15:45 +08:00
    @imn1 我没源码 但看着架势 应该是没写入。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5744 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:20 · PVG 11:20 · LAX 19:20 · JFK 22:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.