计算器
分析
输入之后发现只能输入一个数字,分析应该是做了限制
步骤
- 查看元素
- 发现最大长度值为1
- 我们可以根据验证出来的值来设置它的长度
- 提交后flag会弹出来
WEB基础$_GET
分析
以get的方式得到一个字符并赋值给what,然后输出这个字符串,如果字符串等于flag,则输出flag{****}
步骤
- 直接在URL中输入?what=flag
- 分别输出字符串和flag{****}
WEB基础$_POST
分析
以post的方式得到一个字符并赋值给what,然后输出这个字符串,如果字符串等于flag,则输出flag{****}
工具
hackbar(网页的附加组件)
步骤
- 查看元素,切换到hackbar组件
- 勾选Post Data,在框中输入what=flag,并点击Execution执行
- 分别输出字符串和flag{****}
矛盾
分析
以get方式给num赋值,如果不等于1,那么输出这个num,并且在前一个条件下等于1,则输出flag{****},很显然这句话是自我矛盾的,但是我们得到这个flag就得想出一个办法。
在PHP中:==比较两个变量的值,不比较数据类型;===比较两个变量的值和类型。所以我们只需要让数值相等就好了,不需要管他是什么类型。
步骤
- 在URL中输入?num=1a
- 后台只检测到1=1,而并没有判断他的类型,所以flag就爆出来了
WEB3
分析
打开环境后一直给我们弹出这两个对话框,应该是JavaScript搞的鬼
步骤
- 勾选组织此页面创建更多对话框,点击确定
- 然后出现一个空白页面,我们右击查看源码,打开头部,查看JavaScript代码
- 发现在JavaScript最底部有一行代码,我们用Unicode解码便可得到flag