[极客大挑战2019]BuyFlag-创新互联

成都创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元柴桑做网站,已为上家服务,为柴桑各地企业和个人服务,联系电话:13518219792

查看源码发现有个文件,然后打开。

然后打开得到三个提示。打开bp来分析。

他先说是要成为CUIT的学生,查看bp

发现这个cookie有点可疑,把它改成1看看。

变成了CUIT的学生。接下来就开始传密码了。

根据给的代码来传。这里就得了解php是咋样解析代码的了,这里有一篇别的师傅写的博客,可以看看。

PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_Au.J的博客-博客

就是题目要求password得等于404,但又要求password不能是数字。

成功绕过。然后题目提示我没付钱,然后就接着去POST一下money.

结果提示长度太长了,就可以用下科学计数法或者是数组,为什么是数组呢。

看到限制长度时,就会猜想到它是用strcmp()函数来检测的。

int strcmp ( string $str1 , string $str2 ) 参数 str1第一个字符串。str2第二个字符串。如果
str1 小于 str2 返回< 0; 如果 str1 大于 str2 返回 >0;如果两者相等,返回 0。
如果我们传入非字符串类型的数据的时候,会return 0。也就是虽然报了错,但却判定其相等了,strcmp传入数组可直接返回0,所以可以传入money[]=1。返回0的话就可以绕过strcmp检测,直接读取flag了,strcmp(0)不执行。

password的另一种绕过方法。

is_numberic()函数漏洞:is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,而%20空格字符只能放在数值后。

最后拿到flag.

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:[极客大挑战2019]BuyFlag-创新互联
文章路径:http://scyanting.com/article/cdscsi.html