题目地址:http://ctf5.shiyanbar.com/web/PHP/index.php
进去就看到简单的一句话have a fun!!,查看网页源代码也没有其他东西,那就找找源代码吧,在响应头里可以找到hint:6c525af4059b4fe7d8c33a.txt,访问后发现源代码。
简单审阅一下源代码,想要getflag需要post的number满足几个要求:
1.number不能为数字,但是这个条件由is_numeric判断,而这个函数有漏洞,可以使用%00截断
2.number要等于strval(intval(number))
3.不是回文数
4.intval(number)== intval(strrev(number))
条件1、2可以用%00+一个数字来绕过,条件3、4则利用整型溢出来绕过
借用一张图
post number=%002147483647 getflag
the end