BugKu-WEB-矛盾
BugKu-WEB-矛盾
题目


思路
很明显这是一个代码审计的题目
1 | $num=$_GET['num']; |
通过题目可知这题应该考的是php弱判断的漏洞,不过要先知道服务器的php版本,使用whatweb可以查看
1 | whatweb 117.72.52.127:15078 |

可以看到是低版本,这就意味着可以利用一些低版本的php弱比较的漏洞,可以去官网文档查看

先分析代码,先是定义了num为GET方法得到的输入,然后又执行了一个if语句,is_numeric()方法判断输入是不是数字,!is_numeric()表示非数字,但是下面又有一个if语句,如果num是1的话就输出flag,前后就矛盾了
此时我们可以翻看官网文档,查看有没有办法让num不是数字,但又可以num判定等于1的
可以看见,如果num是个字符串且包含1的话,php就会把字符串转换成1

传入参数?num=1a, php从左往右读,读到1之后发现后面的不是数字就不读了,此时就可以满足看似矛盾的条件了

Flag
1 | flag{21ca78b8239ca7282de29084f518c051} |
- 标题: BugKu-WEB-矛盾
- 作者: Mel0ny
- 创建于 : 2025-08-29 14:10:37
- 更新于 : 2025-08-29 21:30:12
- 链接: https://mel0nyrame.github.io/2025/08/29/BugKu-WEB-矛盾/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论