ctfshow 命令执行 write up 29-36

本文详细介绍了CTF比赛中涉及命令执行的解题思路,包括通过绕过过滤机制来执行命令的方法。涉及的题目包括web29至web36,解析了关键代码,并给出了payload示例,利用了如eval、php伪协议等技术来获取flag。
摘要由CSDN通过智能技术生成

命令执行知识点:

常用的命令执行函数:

system()         //函数执行有回显,返回执行结果
passthru()       //函数执行有回显,返回执行结果
exec()           //函数执行无回显,默认返回最后一行结果,通过echo可将执行结果输出到页面
shell_exec()     //函数执行无回显,通过echo可将执行结果输出到页面
``               //shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体,当禁用shell_exec时,` 也不可执行
popen()
proc_open()
pcntl_exec()

linux中有查看功能的命令有:

cat、tac、more、less、head、tail、nl、
sed、sort、uniq、rev、vi、vim、od(以二进制的方式读取档案内容)

空格 绕过:

%09、$IFS$9、 ${IFS}、$IFS%09、< 、<>、%20、0a、%0b、%0c、%0d、%a0、/**/  //有特殊意义的符号需用\进行转义

左括号(绕过:

%u0028、%uff08、%c0、%28、%c0、%a8、%e0、%80、%a8

右括号)绕过:

%u0029、%uff09、%c0、%29、%a9、%e0、%80、%a9

分号;绕过:

?>
web29

题目代码:

error_reporting(0);
if(isset($_GET['c'])){
   
    $c = $_GET['c'];
    if(!preg_match(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值