前言

懒得写详细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."<br>";
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."<br>";
3 $str=base64_decode($str1);
4
5
6 $lens=strlen($str);
7 $j=0;
8 echo "经过base64解码后:".$str."<br>";
9 echo "长度:".$lens."<hr>";
10 $key1 = md5('ISCC');
11 $key2 = md5('ISCC');
12 $key=$key1.$key2;
13 // for($j=0;$j<$lens;$j++){
14 // //$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]."<br>";
22
23 // @$str .= chr((ord($data[$i]) + ord($char[$i])) % 128);
24
25 $str1=ord($str[$i]);
26 echo "经过ord转换成ASCII值:".$str1."<br>";
27
28 if($str1<128){
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."<br>";
36
37 $str2=$str1-ord($key[$i]);
38 echo "减去CMD5附加的值:".$str2.":".$key[$i]."<br>";
39 $str3=chr($str2);
40 echo "emm:".$str3."<br>";
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)的更多相关文章

  1. Bugku-CTF之PHP_encrypt_1(ISCCCTF) [fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=]

    Day34     PHP_encrypt_1(ISCCCTF) fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=   下载下来.zip文件  

  2. Bugku 杂项 眼见非实(ISCCCTF)

    眼见非实(ISCCCTF) 下载文件后,用winhex打开 发现文件头为50 4B 03 04说明是一个压缩文件,还可以看到其中有.docx文件 更改文件后缀为 .zip 解压后发现 这个文件用wor ...

  3. bugku crypto 告诉你一个秘密(ISCCCTF)

    emmmm....有点坑 题目: 636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A57 ...

  4. bugku login2 writeup 不使用vps的方法

    0x00前言 这个题是sql注入与命令执行相结合的一个题,思路有两个: 一.:sql注入登录web系统,命令执行反弹公网IP监听端口(需要vps),此种方法详见链接:http://www.bugku. ...

  5. bugku 密码学一些题的wp

    ---恢复内容开始--- 1.滴答滴 摩斯密码,http://tool.bugku.com/mosi/ 2.聪明的小羊 从提示猜是栅栏密码,http://tool.bugku.com/jiemi/ 3 ...

  6. 于bugku中游荡意外得到关于CBC翻转攻击思路

    个人简介:渣渣一枚,萌新一个,会划水,会喊六六今天在bugku遇到关于CBC翻转攻击的题目,总结了一下关于CBC翻转攻击的原理,以及关于这道题目的解题思路个人博客:https://www.cnblog ...

  7. http://www.bugku.com:Bugku——PHP伪协议+魔幻函数+序列化的综合应用(http://120.24.86.145:8006/test1/)

      这一道题目,幸好俺有基础知识护体,不然还真干不掉.     首先,登录看题目,取消隐藏代码的注释.可知可输入三个参数txt.file和password并进行逻辑判断:应该让txt==‘welcom ...

  8. http://www.bugku.com:Bugku——备份是个好习惯(http://120.24.86.145:8002/web16/)

      看了bugku的这道题,陌生又熟悉.     题目首先说[备份是个好习惯],访问网站只有一串字符,,,,,emmmmm,这句话表明人家经常做备份,所以咯,肯定在网站哪里备份有网页信息.嘻嘻   1 ...

  9. http://www.bugku.com:Bugku——jsfuckWEB5(http://120.24.86.145:8002/web5/index.php)

      今天又做了bugku上面的一道题.使用到了jsfuck,它是什么捏?   它是Javascript原子化的一种简易表达方式,用[]()!+就可以表示所有的Javascript字符,不依赖于浏览器. ...

  10. http://www.bugku.com:Bugku——SQL注入1(http://103.238.227.13:10087/)

    Bugku——SQL注入1(http://103.238.227.13:10087/) 过滤了几乎所有的关键字,尝试绕过无果之后发现,下面有个xss过滤代码.经搜索得该函数会去掉所有的html标签,所 ...

随机推荐

  1. 【事件中心 Azure Event Hub】关于EventHub中出现Error时候的一些问题(偶发错误,EventHub后台升级,用户端错误,Retry机制的重要性)

    请问对偶发的定义是多少频率? 针对偶发的定义,主要是看发生的时间非常短,次数极少(如 10次以内),并且发生的时候EventHub其他分区或其他连接都是正常接收和发送数据.所以对于频率是没有明确的定义 ...

  2. JS错误写法[清除DOM]

    前言 我现在总结一下我之前敲代码犯的错误,清除DOM元素,我们开始写代码吧! HTML <h1 style="font-size: 18px;font-weight: bold;col ...

  3. ArrayBlockingQuque摘要

    ArrayBlockingQuque 优势 线程同步,线程安全 对应空或满时,take\put操作将阻塞 内部是一个数组,每个元素不会产生额外的处理对象,如Node 基于什么 ReentrantLoc ...

  4. C2. Power Transmission (Hard Edition) 解析(思維、幾何)

    Codeforce 1163 C2. Power Transmission (Hard Edition) 解析(思維.幾何) 今天我們來看看CF1163C2 題目連結 題目 給一堆點,每兩個點會造成一 ...

  5. Linux 系统编程 学习:05-进程间通信2:System V IPC(2)

    Linux 系统编程 学习:05-进程间通信2:System V IPC(2) 背景 上一讲 进程间通信:System V IPC(1)中,我们介绍了System IPC中有关消息队列.共享内存的概念 ...

  6. FROM DELETE LIBRARY TO RUN の Django路由和视图

    一.requests安装 · requests是什么? request是python实现的简单易使用的http库 · 如何安装? pip install requests ·检测是否成功 import ...

  7. DP百题练索引

    就是一篇还在咕的文章 DP百题练(一) DP百题练(二) DP百题练(三)

  8. Verilog小总结

    Verilog小总结 基础 assign assign作为一个组合逻辑常用的语句,可认为是将电线连接起来,当然它能做的不仅仅是将一个输入直接输出,它能把输入信号进行逻辑运算后再输出.当assign左右 ...

  9. JVM学习(五) -执行子系统

    虚拟机和物理机的区别.两种都有代码执行能力.物理机的执行引擎是建立在处理器.硬件.指令集和操作系统上.而虚拟机的执行引擎是有自己实现的.因此可以自行的制定指令集和执行引擎的结构关系. 个人理解:分为三 ...

  10. 三十二张图告诉你,Jenkins构建Spring Boot 有多简单~

    持续原创输出,点击上方蓝字关注我 目录 前言 如何安装Jenkins? 环境准备 开始安装Jenkins 初始化配置 访问首页 输入管理员密码 安装插件 创建管理员 实例配置 配置完成 构建Sprin ...