if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!'); } if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){ echo"you are going to the next ~"; }
str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' str2='' str3 = str1[::-1] length = len(str2) res='' for i in range(len(str2)): for j in range(len(str1)): if str2[i] == str1[j]: res+=str(j)+' '+str(j)+' '+'0'+' '+str(len(str1)-1)+' ' break print(res)
<?php /* Congratulation, you can read this file, but this is not the end of our journey. - Thanks to cutz for the QA. - Thanks to blotus for finding a (now fixed) weakness in the "encryption" function. - Thanks to nurfed for nagging us about a cheat */
if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') { if ($_SERVER['HTTP_USER_AGENT'] !== $key) { die ("Cheating is bad, m'kay?"); }
$i = 0; $flag = ''; foreach (str_split (base64_decode ($text)) as $letter) { $flag .= chr (ord ($key[$i++]) ^ ord ($letter)); } die ($flag); } ?>
接下来就是获取key了
借助SplFileObject的特性,访问我们的IP,监听获取use_agent,也就是key
加一个\就可以绕过……:
Without any namespace definition, all class and function definitions are placed into the global space - as it was in PHP before namespaces were supported. Prefixing a name with \ will specify that the name is required from the global space even in the context of the namespace.
环境变量暂时未配置成功,但仍可使用,此时: sudo which nc 应可以看到 bin/nc 使用bin/nc即可使用nc命令
或者: wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz tar zxvf netcat-0.7.1.tar.gz cd netcat-0.7.1 ./configure --enable-DGAPING_SECURITY_HOLE make make install