新BugKu-web篇-web5

本文介绍了如何通过理解PHP的类型转换规则来解决一道web安全题目。当使用GET方法传递参数num时,如果num不是数字则返回原参数,如果是数字1则返回flag。通过在数字1后添加非数字字符串,可以构造payload `num=1------`,成功绕过条件并获取flag。这是对PHP类型转换和比较操作的一个实例应用。
摘要由CSDN通过智能技术生成

web5

这道题对于我来说就开始有点难度了,我是参考了评论区的大神评论才找到的思路,首先看题目
在这里插入图片描述
这道题需要使用GET方式传入num参数,如果num不是数字,则返回所传参数,如果num传入数字1的话,返回flag,这里需要说一下php的一些特点

PHP一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。
PHP转换的规则的是:
若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。
在PHP中,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等。

所以这道题只需要在数字1后面加入一个非数字的字符串就可以回显出来flag了,因为这既满足了第一个条件“非数字”,也满足了第二个条件“==1”
在这里插入图片描述

payload如下:

http://114.67.246.176:18258/?num=1------





**注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值