标签:Web Bugku 数字 拿到 Flag num php
- Web2 听说聪明的人都能找到答案
进入题目看到满天滑稽,然后一脸懵逼
按F12查看源码,在Body下面找到被注释的Flag,20分到手
- 计算器
进入题目可以看到一个输入框,尝试输入图片的答案,但发现只能够输入一位。F12查看源码,找到input输入框。
发现使用maxlength属性限制了我们输入的位数,我们手动将其改为3。
返回界面重新输入答案,拿到Flag
- Web基础$_GET
进入题目看到4行php代码
Get请求是直接在url后加?参数和值。根据代码我们在后面添加?what=flag拿到Flag
http://123.206.87.240:8002/get/?what=flag
- Web基础$_POST
与上题相同,不过换成了POST请求,不能直接在Url中添加,我们需要通过抓包或者用浏览器插件添加参数和值。
使用火狐的HackBar插件,拿到Flag
- 矛盾
代码中提示不能为数值型,但值必须要等于1才能拿到Flag
is_numeric() //判断是否是数字 在前面加!则相反,判断是否不为数字
但我们值如果是1加上任何大小写字母都可以返回Flag,if($num==1)似乎没有作用
最后发现,php是一种弱类型语言,例如下面两个例子,分别定义变量a=1asd
将变量a转换为int数值型,a返回的结果为1,只将a字符串中的前面的数字1转换出来,后面的asd被省略
将变量a与数值1进行相等对比,返回结果为1,布尔类型中0=false,其他任意数字均为ture,即a最后的值为1
网上还有其他方法:来源:https://blog.csdn.net/xuchen16/article/details/82735533
num=1%00(%00为截断符)
num=1x(X还可以是任何字母或者字符串) php判断字符串以1开头即可判断等值
num=1e0.1 用科学计数法表示数字1,既不是纯数字,其值又等于1
标签:Web,Bugku,数字,拿到,Flag,num,php 来源: https://www.cnblogs.com/hmomeng/p/11640897.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。