[极客大挑战 2019]BuyFlag
- 一、解题步骤
- 二、总结
-
- 2.1 [is_numeric](https://www.runoob.com/php/php-is_numeric-function.html)函数的使用
- 2.2 [PHP弱类型](https://blog.youkuaiyun.com/qq_41617034/article/details/92796769?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168638774516800186535461%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168638774516800186535461&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-92796769-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=php%E5%BC%B1%E7%B1%BB%E5%9E%8B&spm=1018.2226.3001.4187)
- 2.3 Cookie
- 2.3 科学计数法
- 2.4 strcmp函数
一、解题步骤
-
点开题目连接,全部是一些简介。右上角有一个【MEMU】功能,点开有两个【链接】:

-
查看源码,也看到这个两个【连接】分别打开两个不同的页面。直接点开【pay.php】

-
在pay.php页面中是一些关于Flag的说明:

-
查看网页源码,得到了一段有用的信息:必须提交money和password 两个参数。并且password不可以为纯数字,但是它要与404相等。
<!-- ~~~post money and password~~~ if (isset($_POST['password']))

本文详细介绍了参加极客大挑战2019时遇到的BuyFlag问题的解决过程。通过分析源码,发现需要提交money和password参数,其中password不能为纯数字但须等于404。利用PHP的is_numeric函数和弱类型特性,以及科学计数法成功绕过限制。在请求中修改Cookie值,并以money=1e9和password=404a提交,最终获取到flag。此外,文章还总结了PHP的is_numeric、弱类型、Cookie、科学计数法以及strcmp函数的使用技巧。
最低0.47元/天 解锁文章
461

被折叠的 条评论
为什么被折叠?



