[CTF/网络安全]攻防世界 web2 解题详析

题目描述:解密

环境给出代码:

<?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($_)));
}

/*
   逆向加密算法,解密$miwen就是flag
*/
?> 

代码审计

这段代码定义了一个函数 encode,接受一个字符串参数 $str,并返回对其进行加密后的结果。加密算法包括三个步骤:

  1. 使用 strrev 函数将字符串翻转;
  2. 对翻转后的每个字符,将其 ASCII 值加 1,然后转换为相应的字符;
  3. 将得到的新字符串使用 base64 编码,再对编码后的结果进行 strrev 翻转和 str_rot13 处理,最终得到加密后的结果。

其中,str_rot13 是一个简单的字符替换算法,将每个字符替换为它在字母表中向后移动 13 位后对应的字符。这个算法是一种经典的简单加密方法,可以用来隐藏字符串的真实含义。

姿势

可通过逆向加密算法的步骤,对 $miwen 进行相反的操作,即先使用 str_rot13 还原,然后使用 strrev 翻转,再使用 base64 解码,最后对每个字符的 ASCII 值减 1 ,再进行翻转即可得到 flag。

还原后得到:
在这里插入图片描述

n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf

翻转后得到:
在这里插入图片描述

fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n

Base64解码后得到:
在这里插入图片描述

~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg

对每个字符的 ASCII 值减 1 得到:
在这里插入图片描述

}77925d0af7327d30646c918bfda5d37b_FTCSN{:galf

再进行翻转得到:
在这里插入图片描述

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}
### Web安全攻防练习平台 对于希望深入理解和实践Web安全攻防技术的人来说,选择合适的在线实验环境至关重要。这类平台通常提供了一系列预配置好的虚拟机镜像以及各种类型的漏洞供学员尝试发现并加以修复。 #### 常见的Web安全攻防练习平台有: - **OWASP Juice Shop** OWASP Juice Shop 是一款现代的、基于浏览器的应用程序,旨在教授人们如何保护自己的网站免受常见的网络攻击。它包含了超过50种不同的注入点和弱点,覆盖了OWASP Top Ten中的所有类别[^2]。 - **DVWA (Damn Vulnerable Web Application)** DVWA是一个用于教育目的而设计得非常脆弱的PHP/MySQL Web应用程序。通过其简单易懂的操作界面,用户可以选择不同级别的难度来测试自己对SQL注入、XSS跨站脚本等多种常见漏洞的理解程度[^1]。 - **HackTheBox 和 TryHackMe** 这两个平台不仅限于Web应用层面的安全挑战,还包括操作系统层面上的任务。然而,在这些平台上也存在大量专注于Web渗透测试的房间或机器,非常适合那些想要提高实际动手能力的人士参与其中[^3]。 ```python import requests def test_web_vulnerability(url, payload): try: response = requests.get(f"{url}?input={payload}") if 'success' in response.text.lower(): print('可能存在漏洞') else: print('未检测到明显漏洞特征') except Exception as e: print(e) test_web_vulnerability("http://example.com/vulnerable_page", "<script>alert(1)</script>") ``` 此代码片段展示了如何编写简单的Python函数来进行基本的XSS探测。请注意这只是一个教学示例,在真实环境中应当遵循合法合规的方式进行安全性评估工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值