代码执行-base64

8 篇文章 0 订阅
7 篇文章 0 订阅

[题目信息]:

题目名称题目难度
代码执行-base642

[题目考点]:

远程命令执行漏洞,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。

以下是可能会造成任意命令执行的函数

system|passthru|exec|popen|proc_open|move_uploaded_file|eval|copy|shell_exec|assert

[Flag格式]:

SangFor{pAzvT4j-yAuZ-SKg1KtOXMPOYTx7TI7t}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:5022

[题目writeup]:

1、实验主页

2、代码分析

<?php
// 你们在炫技吗?

if(isset($_GET[‘c’])){
$c=$_GET[‘c’];
if(!preg_match("/;|[a-z]|`|%|\x09|\x26|&gt;|&lt;/i", $c)){
system($c);
}
}else{
highlight_file(FILE);
}

  1. linux下自带base64编码,类似于bzip2,不同于bzip2的是,bzip是压缩解压命令,base64是编码解码命令;
  2. base64一般默认在/bin/base64或者/usr/bin/base64目录下
  3. 使用通配符?以及未过滤的数字匹配base64

payload

?c=/???/????64 ????.???

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值