C4r1st 发表于 2014-6-12 10:58:23

CSDJCMS 程式舞曲 最新版 Sql 一枚 (test demo success).

本帖最后由 C4r1st 于 2014-6-12 10:59 编辑

发现过滤了zj.php中的key

但是app/controllers/dance.php中 没过滤。

<pre><code>public function so()
    {
            $data='';$data_content='';
            $fid = $this-&gt;security-&gt;xss_clean($this-&gt;uri-&gt;segment(3));   //方式
            $key = $this-&gt;security-&gt;xss_clean($this-&gt;input-&gt;get_post('key', TRUE));   //关键字
            $page= intval($this-&gt;input-&gt;get('p', TRUE));   //页数
            if($page==0) $page=1;
            $key=$this-&gt;CsdjSkins-&gt;rurlencode($key);
            if($fid=='zm' &amp;&amp; empty($key)){
               $key=$this-&gt;security-&gt;xss_clean($this-&gt;uri-&gt;segment(4));
            }

      $cache_id ="dance_so_".$fid."_".$key."_".$page;</code></pre>

<pre><code>function rurlencode($string) {
               $key=rawurldecode($string);
               if($this-&gt;is_utf8($key)){
                  $key=iconv('UTF-8', 'GB2312', $key);
               }
             return $key;
         }</code></pre>
解码一个。

&nbsp;
<pre><code>function Safe($arr){
      //
      $getfilter = "'|&lt;[^&gt;]*?&gt;|^\\+\/v(8|9)|\\b(and|or)\\b.+?(&gt;|&lt;|=|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|&lt;\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
      $postfilter = "^\\+\/v(8|9)|\\b(and|or)\\b.{1,6}?(=|&gt;|&lt;|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|&lt;\\s*script\\b|&lt;\\s*img\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";

      if (preg_match ( "/" . $getfilter . "/is", $arr ) == 1) { //GET
            $arr='';
      }
      if (preg_match ( "/" . $postfilter . "/is", $arr ) == 1) { //POST
            $arr='';
      }
               
      return $this-&gt;chkSql($arr);
    }

    function chkSql($str,$flag=false){

      $checkStr="&lt;|&gt;|%|%27|'|''|;|*|onfocusin|autofocus|and|exec|dbcc|alter|drop|insert|select|update|delete|count|master|truncate|char|declare|where|set|declare|mid|chr";
      if (empty($str)){ return ""; }
      $arr=explode("|",$checkStr);
         

      for ($i=0;$i&lt;count($arr);$i++){
            if (strpos(strtolower($str),$arr[$i]) &gt;0){
                if ($flag==false){
                  switch ($arr[$i]){
                        case "&lt;":$re="&amp;lt;";break;
                        case "&gt;":$re="&amp;gt;";break;
                        case "'":
                        case "\"":$re="&amp;quot;";break;
                        case ";":$re="";break;
                        default:$re="";break;
                  }
                  $str=str_replace($arr[$i],$re,$str);
                } else{
                  exit("ϵͳʾ,аǷַ");
                }
            }
      }
      return $str;</code></pre>


这里过滤。

编码绕过。



EXP:
**** Hidden Message *****

a13775647904 发表于 2014-6-12 12:57:22

给力啊,看看审计

csadsl 发表于 2014-6-12 13:27:06

看看都有什么

蓝色_ 发表于 2014-6-12 15:12:36

EXP如上!

五色花 发表于 2014-6-12 17:33:08

huise 发表于 2014-6-12 17:46:30

看看exp{:3_48:}

神风 发表于 2014-6-12 17:54:27

大牛 还是给力啊

Petrel 发表于 2014-6-12 18:45:34

exp

看看 啦

冷丶yu 发表于 2014-6-12 20:58:15

看看。拿走啦。

LostSoul 发表于 2014-6-13 06:12:02

exp最喜欢的
页: [1] 2 3 4 5
查看完整版本: CSDJCMS 程式舞曲 最新版 Sql 一枚 (test demo success).