噗,纪念一下我(在队长指导下)做出的第一道ctf签到题(逃)——下载下载
其他大佬的wp:http://www.safe-w22.com/index.php/archives/741 安卓之类的(zip)
https://url.cn/5PyIddy WEB题
2019掘安杯,某国家题:下载下载
我一开始= = 太naive,下载了这个蓝色链接的文件,打开是这样的。(大佬直接burp拿到flag文件)
虽然我完全是萌新,不过基础操作还是会一点的。F12查看网页源代码。发现注释了几行。
右键蓝色链接 复制链接,粘贴到地址栏,把txt改成php,下载php文件。
1 <?php 2 header('Content-Type: text/html; charset=utf-8'); //网页编码 3 function encrypt($data, $key) { 4 $key = md5 ( $key ); 5 $x = 0; 6 $len = strlen ( $data ); 7 $l = strlen ( $key ); 8 for($i = 0; $i < $len; $i ++) { 9 if ($x == $l) { 10 $x = 0; 11 } 12 $char .= $key {$x}; 13 $x ++; 14 } 15 for($i = 0; $i < $len; $i ++) { 16 $str .= chr ( ord ( $data {$i} ) + (ord ( $char {$i} )) % 256 ); 17 } 18 return base64_encode ( $str ); 19 } 20 21 function decrypt($data, $key) { 22 $key = md5 ( $key ); 23 $x = 0; 24 $data = base64_decode ( $data ); 25 $len = strlen ( $data ); 26 $l = strlen ( $key ); 27 for($i = 0; $i < $len; $i ++) { 28 if ($x == $l) { 29 $x = 0; 30 } 31 $char .= substr ( $key, $x, 1 ); 32 $x ++; 33 } 34 for($i = 0; $i < $len; $i ++) { 35 if (ord ( substr ( $data, $i, 1 ) ) < ord ( substr ( $char, $i, 1 ) )) { 36 $str .= chr ( (ord ( substr ( $data, $i, 1 ) ) + 256) - ord ( substr ( $char, $i, 1 ) ) ); 37 } else { 38 $str .= chr ( ord ( substr ( $data, $i, 1 ) ) - ord ( substr ( $char, $i, 1 ) ) ); 39 } 40 } 41 return $str; 42 } 43 44 $key="MyCTF"; 45 $flag="o6lziae0xtaqoqCtmWqcaZuZfrd5pbI=";//encrypt($flag,$key) 46 ?>
我没学过php,直接看别的无关的php代码,大概知道怎么输出结果,修改了一下。
1 <?php 2 header('Content-Type: text/html; charset=utf-8'); //网页编码 3 function encrypt($data, $key) { 4 $key = md5 ( $key );//MyCTF: 5 $x = 0; 6 $len = strlen ( $data ); 7 $l = strlen ( $key ); 8 for($i = 0; $i < $len; $i ++) { 9 if ($x == $l) { 10 $x = 0; 11 } 12 $char .= $key {$x}; 13 $x ++; 14 } 15 for($i = 0; $i < $len; $i ++) { 16 $str .= chr ( ord ( $data {$i} ) + (ord ( $char {$i} )) % 256 ); 17 } 18 return base64_encode ( $str ); 19 } 20 21 function decrypt($data, $key) { 22 $key = md5 ( $key ); 23 $x = 0; 24 $data = base64_decode ( $data ); 25 $len = strlen ( $data ); 26 $l = strlen ( $key ); 27 for($i = 0; $i < $len; $i ++) { 28 if ($x == $l) { 29 $x = 0; 30 } 31 $char .= substr ( $key, $x, 1 ); 32 $x ++; 33 } 34 for($i = 0; $i < $len; $i ++) { 35 if (ord ( substr ( $data, $i, 1 ) ) < ord ( substr ( $char, $i, 1 ) )) { 36 $str .= chr ( (ord ( substr ( $data, $i, 1 ) ) + 256) - ord ( substr ( $char, $i, 1 ) ) ); 37 } else { 38 $str .= chr ( ord ( substr ( $data, $i, 1 ) ) - ord ( substr ( $char, $i, 1 ) ) ); 39 } 40 } 41 return $str; 42 } 43 44 $key="MyCTF"; 45 $flag="o6lziae0xtaqoqCtmWqcaZuZfrd5pbI=";// 46 $ans=encrypt($flag,$key); 47 print $ans; 48 ?>
直接用phpstudy myHomePage运行,莫得结果。
于是在队长的指点下(其实是直接告诉我)。
把末尾的 encrypt改成decrypt...
得到flag. myCTF{cssohw456954GUEB}
接下来是看了其他人的wp,所以想要复现一下QAQ。
猜密码
这个我看了源码..但是我真的没学过php啊。。。看了一会儿,能够感觉它的简单,但是并没有做出来QAQ,还傻乎乎地输了password 之类的,密码错误
然后直接点击,猜密码(什么也不用输入)
Flag:jactf{09fb10c51810d92e1b7405d143332886}
有一题。。回复公众号