• 应该是在 web 服务器配的 ssl 吧? nginx 的话可以 sudo nginx -t -c 你的nginx.conf 看看配置文件什么地方有问题

  • 文本框用什么 at 2013年01月11日

    bbcode 比 markdown 更看不懂还不是一堆论坛在用...

  • 必须 +1

  • Rails 这次漏洞有点严重啊 at 2013年01月11日

    #57 楼 @iBachue 我想说 find_by_xx 是安全漏洞不是简单的注入漏洞,好费劲...

    改成 "没时间仔细看贴,又不升级,就死定了" 才对

  • Rails 这次漏洞有点严重啊 at 2013年01月11日

    #54 楼 @iBachue 你试过了?这个生成的 SQL 是

    select * from users where users.username = 'username' and users.password = 'password or id = xxx'
    

    还是没注入

  • Rails 这次漏洞有点严重啊 at 2013年01月11日

    #55 楼 @iBachue

    GC.stress
    i = 0
    lim = 10**12
    while i < lim
      i.to_s.to_sym
      i += 1
    end
    

    rvm use system 用 1.8.7 执行,内存一直往上长,但是如果把 to_sym 改成 dup, 内存就稳定在 1.9 M.

    附带 1.8 的详细版本

    ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
    
  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #46 楼 @kgen 你有哪些网站,我可以给你演示下... 问题就是嵌入 xml 的 yaml 可以执行某些代码,不用 eval 也可以的,是 yaml 的特性口牙!

    #45 楼 @iBachue 1.8 也不回收 Symbol. Symbol 的问题以前就修过了,解析参数默认是不产生 Symbol 的。Symbol 内存溢出和次的 find_by_id 没有关系...

    造成内存溢出的攻击方法是造 xml 请求,xml 中嵌入 yaml, yaml 中写 Symbol:

    <?xml version="1.0" encoding="UTF-8"?>
    <b type="yaml">
    <![CDATA[---
    :a:
    :ab:
    :ac:
    :ad:
    :ae:
    ...
    ]]></b>
    
  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    @iBachue

    find_by_xxx 就是上次的问题,这里 不能注入, 你试试 User.find_by_id "1'; drop table users;" 就知道了。只是 modle 里写了 scope 的话是可能可以构造出某些条件来篡改数据 (很多人都不知道 scope 是啥呢...). 不是很重要因为这个漏洞很难利用...

    这两个问题和 1.9 关系在哪里...

    @kgen

    这次是可以通过构造一个 xml 请求体进行攻击的问题,比较严重,和 eval 无关,所有请求都有影响,赶紧升级或者加上那两行把选项关掉吧。

  • 你说的是上次的吧?操作系统每隔几天更新一些修复漏洞的补丁,人们就死个好几十次...

  • #12 楼 @keating 你够了... 至于吗

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    有能人士赶紧 0day 哦,不过不了解 ruby 的话仅靠一个 new 啥事都做不了哈。

    #25 楼 @bhuztez ... 我想起以前一个抽查比较,发现 wiki 有 12 处错但大英百科全书只有 6 处错,但是比较完了 wiki 上出的错都修好了...

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #23 楼 @shooter 应该是 post 请求的 content-type (注意不是 accept) 为 xml 而且请求体的 xml 里面又嵌入了 yml 的话,yml 中就可以执行 SomeClass.new 或者 Class.new{include SomeModule}.new

    要修改请求的 content-type 不能在浏览器里上做,大概要这样:

    curl -H'content-type: application/xml' --data '<?xml version="1.0" encoding="UTF-8"?>
    <b type="yaml"><![CDATA[--- !ruby/object:ActiveRecord::Base {}]]></b>' some.site/post-url
    

    当然还要加上 cookie 或者 csrf 等参数,挺麻烦的...

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #25 楼 @bhuztez 其实去掉这类方法是因为新版写起来更简单统一... find_by_xx(xx) 里全部都 xx.to_s 一刀切也毛问题都没有了...

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #21 楼 @bhuztez 关于上一次出的问题,框架翻译过程大概是这样的: find_by_id(x) => where({id: x}).first => 最后得到 prepared statement "select * from foo where id = ?" 和 x, 没处理好的是那个 x, 因为后来给第二步的 where 方法加了可以处理嵌套参数的新功能,x 会影响到那个 prepared statement 而不是像最初那样简单的传给数据库参数了。在 prepared statement 之前的翻译都必须框架自己做啊...

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #19 楼 @bhuztez 哦,你说的"自己"是框架而不是用户... 所谓 ORM 就是框架拼 SQL 而不是用户拼,我还没见过实现中不拼 SQL 的 ORM... 不过底层框架里没处理好某些情况的 escape 被抓住痛脚必须认栽...

  • Rails 这次漏洞有点严重啊 at 2013年01月10日

    #12 楼 @bhuztez

    字符串拼 SQL... 他用的难道是 rails 部的东西而不是 rails? 这个世界上就只有国内某些还在用 ibatis 的大公司还这么做吧...

  • #9 楼 @WolfLee 这是... 为了丰富文章内容,避免过于枯燥而插入的无关内容...

  • 如果看存储格式的话,就只有 psd 等图形处理软件的格式支持 CMYK 存储,一般 gif, jpg, png 都是调色板或者 RGB 存储的。

    如果是说统计像素,分析图片的色彩空间的话,还分为 sRGB, 设备 RGB, 校正 RGB, 设备 CMYK, 非设备 CMYK ... 要看实际情况选用...

  • 使用继承技术的例子? at 2013年01月10日

    把同样的代码放到一个 module 里,include 就好了,不要生搬硬套 Java 思想