“Data-Clone” — a new way to attack android apps

“Data-Clone” -- a new way to attack android apps

Author: SuperHei@www.knownsec.com [Email:5up3rh3i#gmail.com]
Release Date: 2013/03/16
Update Date: 2013/03/18
References: http://www.80vul.com/android/data-clone.txt
Chinese Version: http://blog.knownsec.com/2013/03/attack-your-android-apps-by-webview/

发表在 Mobile | 评论关闭

Ph4nt0m Webzine 0×07 再次征稿

真不希望这期又难产!!!!!!!!!

Ph4nt0m Webzine 0×07 Call for Papers

“最后感谢那些一直在坚持,一直在分享的好人们。希望我们还有下一期!!” 这是上一期的webzine 0×06首篇《Introduction》里最后一句话,希望别人“坚持”的同时,首先要展示我们自己的“坚持” 。于是有了今天的CFP ……

关于 webzine:

Ph4nt0m Webzine的主题将关注于于漏洞分析、加密解密、协议安全分析、后门与rootkit技术、web应用安全、系统底层分析、操作系统安全性、企业安全防护方案等等。要求文章的内容新颖或者有创意。

目前webzine已经成功发行了6期。现在新的一期开始面向公众征稿。任何有兴趣的朋友,都可以将你的稿件投递到

mail:5up3rh3i@gmail.com

当然有我qq的朋友,可以直接通过qq联系。我们将对您的稿件进行审阅,并发送反馈。您有任何问题,也可以来信咨询。

另外本期我们将与 腾讯安全应急响应中心(TSRC)合作,并得他们的大力赞助,稿件一旦采用将获得又腾讯公司提供的 小Q机器人一个 。

这里再次感谢 腾讯安全应急响应中心(TSRC)的朋友们,尤其是lake2同学,支持“坚持分享”的公司及团队是值得我们尊敬的!

发表在 News | 2 条评论

Spring framework(cve-2010-1622)漏洞利用指南

http://www.80vul.com/java/Spring%20framework%EF%BC%88cve-2010-1622%EF%BC%89%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8%E6%8C%87%E5%8D%97%20.docx

发表在 Web | 评论关闭

PHPCMS V9 sys_auth() 设计缺陷导致多个SQL注入漏洞

一、描叙:

phpcms 使用sys_auth函数加解密cookie信息,系统中多个文件直接从cookie中获取变量进入程序流程。 由于sys_auth函数在设计和使用过程中存在缺陷,导致注册用户可以伪造cookie数据,触发SQL注入等多个二次攻击。

二、分析 :

看sys_auth函数代码

//libs/functions/global.func.php
function sys_auth($txt, $operation = 'ENCODE', $key = '') {
    $key    = $key ? $key : pc_base::load_config('system', 'auth_key');

    $txt    = $operation == 'ENCODE' ? (string)$txt : base64_decode($txt);
    $len    = strlen($key);
    $code    = '';
    for($i=0; $i<strlen($txt); $i++){

        $k        = $i % $len;
        $code  .= $txt[$i] ^ $key[$k];
    }
    $code = $operation == 'DECODE' ? $code : base64_encode($code);
    return $code;
}

通过于$auth_key进行^运算达到加密的目的,$auth_key是系统安装时随机生成的一个长度为20的字符串。 要伪造cookie变量需要知道$auth_key,我们看看如何来获取。

注册用户登录过程

//phpcms/modules/member/index.php
public function login() {
……
    param::set_cookie('auth', $phpcms_auth, $cookietime);
    param::set_cookie('_userid', $userid, $cookietime);
    param::set_cookie('_username', $username, $cookietime);
    param::set_cookie('_groupid', $groupid, $cookietime);
    param::set_cookie('_nickname', $nickname, $cookietime);
    param::set_cookie('cookietime', $_cookietime, $cookietime);
……

//phpcms/libs/classes/param.class.php   

    public static function set_cookie($var, $value = '', $time = 0) {
        $time = $time > 0 ? $time : ($value == '' ? SYS_TIME - 3600 : 0);
        $s = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;
        $var = pc_base::load_config('system','cookie_pre').$var;
        $_COOKIE[$var] = $value;
        if (is_array($value)) {
            foreach($value as $k=>$v) {
                setcookie($var.'['.$k.']', sys_auth($v, 'ENCODE'), $time, pc_base::load_config('system','cookie_path'), pc_base::load_config('system','cookie_domain'), $s);
            }
        } else {
            setcookie($var, sys_auth($value, 'ENCODE'), $time, pc_base::load_config('system','cookie_path'), pc_base::load_config('system','cookie_domain'), $s);
        }
    }

明显可以看出,登陆的时候 $username通过sys_auth函数处理后赋值到了cookie。 好了,下面去注册一个用户名长度为19字符的(最长为20,但是需要有一个\0,所以实际上只能是19)用户。 登陆系统后获取cookie里面对应的值,就可以逆向推算出$auth_key的前19位。

逆推函数如下

function antisys_auth() {
    $txt = base64_decode(urldecode("你cookie里面的值"));
    $name = "你的用户名";
    $len    = 20;
    $key    = '';
    for($i=0; $i<strlen($txt); $i++){
        $k        = $i % $len;
        $key  .= $txt[$i] ^ $name[$k];
    }
    return $key;
}

$auth_key剩下的最后一位如何获取? 这个就很简单了,找到任意一个使用get_cookie()获取变量然后进入sql流程的地方, 利用phpcms的sql错误机制,可以很容易的判断暴力破解出最后一位。

public function halt($message = '', $sql = '') {
  $this->errormsg = "<b>MySQL Query : </b> $sql <br /><b> MySQL Error : </b>".$this->error()." <br /> <b>MySQL Errno : </b>".$this->errno()." <br /><b> Message : </b> $message <br /><a href='http://faq.phpcms.cn/?errno=".$this->errno()."&msg=".urlencode($this->error())."' target='_blank' style='color:red'>Need Help?</a>";
  $msg = $this->errormsg;
   echo '<div style="font-size:12px;text-align:left; border:1px solid #9cc9e0; padding:1px 4px;color:#000000;font-family:Arial, Helvetica,sans-serif;"><span>'.$msg.'</span></div>';
   exit;
 }

三、利用 :

EXP:缺

四、补丁

已经通知官方,等待补丁

发表在 Web | 评论关闭

UC接口带来的安全隐患

http://www.80vul.com/paper/UC接口带来的安全隐患.pdf

发表在 Web | 评论关闭