- 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
原文地址:https://www.cnblogs.com/hmomeng/p/11640897.html