前言
最近ichunqiu又出了欢乐白给赛,本来想跟队友恰钱,不出所料没恰上哈哈哈,恰不上钱是小事,挂科就很难搞了,时间紧迫我就写一道web题记录一下
post 1/2
post1先看下源码
然后就是fuzz,然后测到cut没被过滤,就
cut%09-c%091-100%09flag.txt
post2:
可以看到system变成了exec,并且过滤方式有变化,测试了一下发现只要没cut就不会回显
而且没回显,怎么都构造不出方法,思来想去回到post1看了下源码
这里把flag.txt替换了,难怪直接访问flag.txt会404,在post2上用替换的文件访问一下没想到出来了:
(flag是我后来改的…)后来知道原来非预期了,札师傅出题的时候忘了改文件名,预期解应该是用bash的盲注:
cmd=[ `cut -c 1 flag.txt` = f ] && sleep 3
注意这里&&要编码一下,然后写脚本就可以了
还有几个非预期,因为札师傅在写源码的时候没把eval给去了,导致能命令执行:
payload:
cmd=echo 'phpinfo();' #cut
当然也可以写shell:
溜了溜了复习去了