当前位置:网站首页>攻防世界——web2
攻防世界——web2
2022-08-08 07:53:00 【隐身的菜鸟】
打开题目,其直接给出了代码,代码分析
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
function encode($str){
$_o=strrev($str); //strrev() 函数反转字符串。
// echo $_o;
for($_0=0;$_0<strlen($_o);$_0++){ //strlen() 函数返回字符串的长度
$_c=substr($_o,$_0,1); //substr()函数返回字符串的一部分。从$_0位置开始,返回1个字符
$__=ord($_c)+1; //ord() 函数返回字符串中第一个字符的 ASCII 值。
$_c=chr($__); //chr() 函数从指定 ASCII 值返回字符。
$_=$_.$_c; //拼接两个变量的内容 赋值
}
return str_rot13(strrev(base64_encode($_)));
//base64先编码,再反转字符串,str_rot13() 函数对字符串执行 ROT13 编码。
}
highlight_file(__FILE__); //返回高亮代码
//str_rot13(),编码和解码都是由该函数完成,如果把已编码字符串作为参数,则返回原始字符串
/*
逆向加密算法,解密$miwen就是flag
*/
?>
strrev() 函数反转字符串。
strlen() 函数返回字符串的长度substr()函数返回字符串的一部分。
ord() 函数返回字符串中第一个字符的 ASCII 值。
chr() 函数从指定 ASCII 值返回字符。
str_rot13() 函数对字符串执行 ROT13 编码。str_rot13(),编码和解码都是由该函数完成,如果把已编码字符串作为参数,则返回原始字符串
给出的是已经加密后的字符串,还有加密方法,根据代码逆向解密
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$mi=base64_decode(strrev(str_rot13($miwen)));
for($i=0;$i<strlen($mi);$i++){
$_c=substr($mi,$i,1);
$__=ord($_c)-1; //字符转数字,减1
$_c=chr($__); //数字转字符
$_=$_.$_c; //拼接字符串
}
echo strrev($_); //反转字符串
?>
边栏推荐
- BLE安全之配对流程剖析(1)
- Deep-4mCGP:一种使用基于相关性的特征选择技术预测pickeringii地杆菌中4mC位点的深度学习方法
- 蓝牙Mesh的基本概念
- 动手学数理统计(1)
- [Regression prediction] Gaussian process regression based on GPML toolbox with matlab code
- BOSS直聘回应女大学生被性骚扰:高度重视求职者安全 可在App举报
- oracle sql语法 更改为mysql sql语法 或者代码实现
- under项目under项目
- 论文解读:《Amy pred-FRL是一种通过使用特征表示学习来精确预测淀粉样蛋白的新方法》
- 微服务:事务管理
猜你喜欢
随机推荐
【枚举】连续因子
在 TensorFlow 中构建 3D-CNN
seata什么时候支持sqlserver xa呀?
你真的了解IP地址吗?
idea big data tools submit flink tasks
mysql三种安装方式 你知道了哪种
选择适合投稿的英文期刊或会议的方法
1.4.2seata-serverAT模式,数据库里insert没有回滚是什么原因呀?
动手学高等数学
想用sql实现两日数据对比后,对新增数据单加一列标签
Task04:PyTorch生态简介
微服务:事务管理
lvm creates logical volumes
volatile在C语言中的基本使用方法
C语言——按照指定分割符分割字符串
lvm建立逻辑卷
论文解读:《4mcPred-CNN—使用卷积神经网络预测小鼠基因组中的DNA N4-甲基胞嘧啶》
小程序 数据监听(observers),避免赋值死循环
Spiral Matrix
shell基本指南