码迷,mamicode.com
首页 > Web开发 > 详细

攻防世界-web2

时间:2020-08-17 16:46:39      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:ima   方法   function   顺序   apach   python   img   ++   rev   

实验准备:

firefox浏览器、php执行环境(比如phpstudy)

 

打开实验:

技术图片

 

 技术图片

 

 代码分析:

  • $_o=strrev($str);  对$str字符串进行 字符反转(比如 abc = cba)
  • 第二部分 for{……} 就是对 $str字符串 每个字符+1,(如:a=b、c=d)
  • return str_rot13(strrev(base64_encode($_)));  括号具有优先级,里面优先级最高,所以,按顺序:base64_encode 先对 for循环后的字符串 进行base64

加密,strrev 对字符串进行反转,str_rot13 对字符串进行ROT13编码,return 返回值为:$miwen

 

编写解密代码:定义一个decode方法,依次对字符串进行 ROT13解码 -> 字符串反转 -> base64解密 -> for{……} 每个字符减一 -> 字符串反转 -> 输出flag

<?php
$str = ‘a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws‘;
function decode($str){
$_o = base64_decode(strrev(str_rot13($str)));
for($_0=0;$_0<strlen($_o);$_0++){

$_c=substr($_o,$_0,1);
$__=ord($_c)-1;
$_c=chr($__);
$_=$_.$_c;
}
return strrev($_);
}
echo decode($str);
?>

 

执行PHP文件需要打开apache服务(我用的是PhpStudy),当然思路清楚了,用python等其他语言写也ok。

技术图片

 

攻防世界-web2

标签:ima   方法   function   顺序   apach   python   img   ++   rev   

原文地址:https://www.cnblogs.com/hackhackgo/p/13500269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!