Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >攻防世界web进阶区web2详解

攻防世界web进阶区web2详解

作者头像
wuming
发布于 2021-01-21 07:57:18
发布于 2021-01-21 07:57:18
99402
代码可运行
举报
文章被收录于专栏:wuming_CTFwuming_CTF
运行总次数:2
代码可运行
  1. 1. 题目
    1. 1.1. 解法
      1. 1.1.1. strrev函数
      2. 1.1.2. substr
      3. 1.1.3. ord
      4. 1.1.4. chr()
      5. 1.1.5. str_rot13()

题目

解法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function encode($str){
    $_o=strrev($str);
    // echo $_o;
        
    for($_0=0;$_0<strlen($_o);$_0++){
       
        $_c=substr($_o,$_0,1);
        $__=ord($_c)+1;
        $_c=chr($__);
        $_=$_.$_c;   
    } 
    return str_rot13(strrev(base64_encode($_)));
}

highlight_file(__FILE__);
/*
   逆向加密算法,解密$miwen就是flag
*/
?>

我们这里来审计一波for循环,从0到循环到字符串长度从o_0长度的字符开始寻找,长度为1的输出给了

php脚本如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$miwen=base64_decode(strrev(str_rot13($miwen)));

//echo $miwen;

$m=$miwen;

for($i=0;$i<strlen($m);$i++){
        
    $_c=substr($m,$i,1);
    $__=ord($_c)-1;    # 字符转数字,在减1
    $__=chr($__);      # 数字转字符 

    $_=$_.$__;         # 拼接字符串

    }

echo strrev($_);        # 反转字符串

strrev函数

反转字符串

substr

从第六位开始,返回之后的值

ord

返回第一个字母的ASCII

chr()

从指定的ascii值返回字符 4的十进制ascii是52

str_rot13()

一种编码解码函数 对字符串执行 ROT13 转换,ROT13 编码简单地使用字母表中后面第 13 个字母替换当前字母,同时忽略非字母表中的字符。编码和解码都使用相同的函数,传递一个编码过的字符串作为参数,将得到原始字符串。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【愚公系列】2023年05月 攻防世界-Web(web2)
PHP中有很多加密算法可以使用,常见的包括MD5、SHA1、SHA256、SHA512、AES等等。这些算法都有不同的特点和用途,比如MD5和SHA1可以用于生成密码的散列值,而AES可以用于对数据进行加密和解密。在实际使用中需要根据具体需求选择合适的加密算法。
愚公搬代码
2023/05/26
5380
【愚公系列】2023年05月 攻防世界-Web(web2)
攻防世界刷题笔记 - wuuconix's blog
最近博客好久没更新了。CTFHUB web基础部分刷完很久了,提高部分的题目太难了,而且量也少。看了一眼阮行止学长提供的刷题顺序。打算开始做攻防世界。攻防世界在很久以前刚接触CTF的时候做了一些题目。当时每道题几乎都是看的wp,基础知识太薄弱了。现在做应该会好些。
wuuconix
2023/03/16
5020
攻防世界刷题笔记 - wuuconix's blog
PHP木马免杀的一些总结
这篇文章写一些php木马免杀的一些技巧,希望对大家有点帮助。这里解释一下什么是php木马,这里大体分为三种:
雪痕@
2020/09/27
2.8K0
PHP木马免杀的一些总结
php入门之字符串的操作
addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符 addslashes — 使用反斜线引用字符串 bin2hex — 函数把ASCII字符的字符串转换为十六进制值 chop — rtrim 的别名 chr — 返回指定的字符 chunk_split — 将字符串分割成小块 convert_cyr_string — 将字符由一种 Cyrillic 字符转换成另一种 convert_uudecode — 解码一个 uuencode 编码的字符串 convert_uuencode — 使用 uuencode 编码一个字符串 count_chars — 返回字符串所用字符的信息 crc32 — 计算一个字符串的 crc32 多项式 crypt — 单向字符串散列 echo — 输出一个或多个字符串 explode — 使用一个字符串分割另一个字符串 fprintf — 将格式化后的字符串写入到流 get_html_translation_table — 返回使用 htmlspecialchars 和 htmlentities 后的转换表 hebrev — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew) hebrevc — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew),并且转换换行符 hex2bin — 转换十六进制字符串为二进制字符串 html_entity_decode — Convert all HTML entities to their applicable characters htmlentities — Convert all applicable characters to HTML entities htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符 htmlspecialchars — Convert special characters to HTML entities implode — 将一个一维数组的值转化为字符串 join — 别名 implode lcfirst — 使一个字符串的第一个字符小写 levenshtein — 计算两个字符串之间的编辑距离 localeconv — Get numeric formatting information ltrim — 删除字符串开头的空白字符(或其他字符) md5_file — 计算指定文件的 MD5 散列值 md5 — 计算字符串的 MD5 散列值 metaphone — Calculate the metaphone key of a string money_format — Formats a number as a currency string nl_langinfo — Query language and locale information nl2br — 在字符串所有新行之前插入 HTML 换行标记 number_format — 以千位分隔符方式格式化一个数字 ord — 返回字符的 ASCII 码值 parse_str — 将字符串解析成多个变量 print — 输出字符串 printf — 输出格式化字符串 quoted_printable_decode — 将 quoted-printable 字符串转换为 8-bit 字符串 quoted_printable_encode — 将 8-bit 字符串转换成 quoted-printable 字符串 quotemeta — 转义元字符集 rtrim — 删除字符串末端的空白字符(或者其他字符) setlocale — 设置地区信息 sha1_file — 计算文件的 sha1 散列值 sha1 — 计算字符串的 sha1 散列值 similar_text — 计算两个字符串的相似度 soundex — Calculate the soundex key of a string sprintf — Return a formatted string sscanf — 根据指定格式解析输入的字符 str_getcsv — 解析 CSV 字符串为一个数组 str_ireplace — str_replace 的忽略大小写版本 str_pad — 使用另一个字符串填充字符串为指定长度 str_repeat — 重复一个字符串 str_replace — 子字符串替换 str_rot13 — 对字符串执行 ROT13 转换 str_shuffle — 随机打乱一个字符串 str_split —
kl博主
2023/11/17
2370
webshell免杀——以PHP为例
凡是使用webshell时,免杀都是需要考虑的事情,说白了就是我的webshell得能用啊!故本篇做一个webshell免杀的学习,主要是php的一句话
中龙技术
2022/09/29
2.9K0
webshell免杀——以PHP为例
webshell变形记之一
虽然进行了变形,但是还是被检测出来了4级,这个变形也是比较鸡肋,所以可以配合其他的php函数进行变形
vFREE
2022/08/08
1.1K0
攻防世界web进阶区Web_php_wrong_nginx_config详解
那么我们使用御剑进行扫描,扫描到了admin和robots.txt 我们访问admin试试
wuming
2021/01/21
9760
攻防世界web进阶区Web_php_wrong_nginx_config详解
php参考手册String函数(2.82万字)
<?php $str=addcslashes("A001 A002 A003","A"); echo($str);//在大写A的前面加上反斜杠\,大小写是区分的哦 <?php $str = "Welc
贵哥的编程之路
2022/05/06
1.1K0
php参考手册String函数(2.82万字)
php面试题-算法题总结篇
1、插入排序(一维数组) 基本思想:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。 示例:
友儿
2022/09/11
4840
php字符串操作函数大全
addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的ASCII码 chunk_split — 按一定的字符长度将字符串分割成小块 convert_cyr_string — 将斯拉夫语字符转换为别的字符 convert_uudecode — 解密一个字符串 convert_uuencode — 加密一个字符串
仙士可
2019/12/18
1K0
用python连接冰蝎的代码实现
时代在发展,大家用后门的姿势也在不断的变化,从菜刀,到蚁剑,再到如今的冰蝎,这也是攻防相互作用的结果,今天头发奇想,如何用python来实现流量的加密。然后就研究了一番,写出来了一些蹩脚的代码还望大佬们不要嫌弃。
用户5878089
2019/11/07
1.6K1
BUUCTF [网鼎杯 2020 青龙组]AreUSerialz 1 (两种解法 超详细!)
序列化结果 O%3A11%3A%22FileHandler%22%3A3%3A%7BS%3A5%3A%22\00%2A\00op%22%3Bi%3A2%3BS%3A11%3A%22\00%2A\00filename%22%3BS%3A8%3A%22flag.php%22%3BS%3A10%3A%22\00%2A\00content%22%3BN%3B%7D 构造payload ?str=O%3A11%3A%22FileHandler%22%3A3%3A%7BS%3A5%3A%22\00%2A\00op%22%3Bi%3A2%3BS%3A11%3A%22\00%2A\00filename%22%3BS%3A8%3A%22flag.php%22%3BS%3A10%3A%22\00%2A\00content%22%3BN%3B%7D 上传payload
用户8909609
2023/11/28
7920
BUUCTF [网鼎杯 2020 青龙组]AreUSerialz 1 (两种解法 超详细!)
PHP WebShell
404页面是网站常用的文件,一般建立好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。
Al1ex
2021/08/13
2.2K0
PHP常用函数 字符串处理函数
友情提示:此篇文章大约需要阅读 13分钟58秒,不足之处请多指教,感谢你的阅读。订阅本站
Meng小羽
2019/12/31
1.8K0
字符串相关知识集锦
常用函数 1.数据库安全方面 addslashes — 使用反斜线引用字符串,返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符) 2.输出相关 echo — 输出一个或多个字符串,echo 不是一个函数(它是一个语言结构), 因此你不一定要使用小括号来指明参数,单引号,双引号都可以(很多面试都会问echo和printf等区别,echo是没有返回值的) number_format 格式化数字,第一个参数是
苦咖啡
2018/05/07
9580
php://filter以及死亡绕过
PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。
Andromeda
2023/10/21
5560
php://filter以及死亡绕过
常见密码和编码总结 CTF中Crypto和Misc必备
可以分作三部分组成 第一部分是:ASCII非打印控制字符 第二部分是:ASCII打印字符; 第三部分是:扩展ASCII打印字符
中龙技术
2022/09/30
8.3K0
常见密码和编码总结 CTF中Crypto和Misc必备
密码学实验报告
怎么说呢,我的同学们都在用C,就我在拿python写这东西,这一部分我以前用python完成过,2-1是经典单表替代密码,2-2是经典的凯撒密码,这都是很经典的密码术,前人的智慧,在这次写脚本解决的时候,都可以用暴力解决。
十二惊惶
2024/02/28
1960
攻防世界web进阶区ics-05
发现了一个输入的函数 他如果是字母和数字组合的话,输出page内容,同时die掉 如果不是字母和数字的组合的话,
wuming
2021/01/18
6070
PHP细节
var_dump($obj->j); //null var_dump(isset($obj->j));//由于$j没有赋值,为空null,所以返回false //var_dump($obj->properties); var_dump(isset($obj->name));//私有或者保护属性不能被调用,false //output:bool(false),你的答案对了吗?为什么
唐成勇
2019/05/26
8270
相关推荐
【愚公系列】2023年05月 攻防世界-Web(web2)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档