bugku-PHP_encrypt_1(ISCCCTF)

2021-04-25 02:27

阅读:545

标签:多少   encrypt   seh   style   col   ash   源码   margin   技术   

前言

技术图片

懒得写详细wp了。。。。

我佛了 这个题纠结好久.........

前言

 

需要解密的密文:

fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=

 

打开赛题审源码分析

 1 function encrypt($data,$key)
 2 {
 3     $key = md5(‘ISCC‘);
 4     $x = 0;
 5     $len = strlen($data);
 6     $klen = strlen($key);
 7 
 8     for ($i=0; $i $len; $i++) { 
 9         
10         if ($x == $klen) 
11         {
12             $x = 0;
13         }
14         @$char .= $key[$x]; //把key里面的第一个字符拼接到char里面
15         $x+=1; //x执行一次循环加一次1 有多少个字符串加多少次
16         print_r("88:",$key[$x]);
17     }
18 
19     echo $char."
"; 20 //传入有多少个字符串就取前多少个cmd5字符串赋值给char 21 22 23 for ($i=0; $i $len; $i++) { 24 //取第data里面的第i个数据加上char里面的第i个数据 把他们的ord()ASCII值相加取余128 25 $str .= chr((ord($data[$i]) + ord($char[$i])) % 128); 26 } 27 print($str); 28 29 //base64位加密 30 return base64_encode($str); 31 }

逆向思维用PHP写解密脚本

 1 function jiemi($str1){
 2     echo "初始值:".$str1."
"; 3 $str=base64_decode($str1); 4 5 6 $lens=strlen($str); 7 $j=0; 8 echo "经过base64解码后:".$str."
"; 9 echo "长度:".$lens."
"; 10 $key1 = md5(‘ISCC‘); 11 $key2 = md5(‘ISCC‘); 12 $key=$key1.$key2; 13 // for($j=0;$j14 // //$ord_str=ord($str[i]); 15 // echo $str[j]; 16 17 // } 18 $jie_str=""; 19 for ($i=0; $i$lens; $i++) { 20 echo $i; 21 echo "第一次字符串加密".$str[$i]."
"; 22 23 // @$str .= chr((ord($data[$i]) + ord($char[$i])) % 128); 24 25 $str1=ord($str[$i]); 26 echo "经过ord转换成ASCII值:".$str1."
"; 27 28 if($str1){ 29 $str1=$str1+128; 30 }else if($str>128){ 31 $str1=$str+128; 32 }else if($str>=256){ 33 $str1=256+$str; 34 } 35 echo "经过128取余逆向:".$str1."
"; 36 37 $str2=$str1-ord($key[$i]); 38 echo "减去CMD5附加的值:".$str2.":".$key[$i]."
"; 39 $str3=chr($str2); 40 echo "emm:".$str3."
"; 41 42 $jie_str=$jie_str.$str3; 43 //$jie_str=$str3; 44 45 46 } 47 48 print_r($jie_str); 49 }

 经过修改代码得到两段代码合并即可

//?lag?{asdqwdfasfdawfefqwdqwdadwqadawd} //29行代码+128
//F???:????????????????????????????????? //29行代码不加128
////Flag:{asdqwdfasfdawfefqwdqwdadwqadawd}  合并后flag

 

bugku-PHP_encrypt_1(ISCCCTF)

标签:多少   encrypt   seh   style   col   ash   源码   margin   技术   

原文地址:https://www.cnblogs.com/xhds/p/12231833.html


评论


亲,登录后才可以留言!