判断出闭合符为'后,使用万能密码,发现不行
但是逻辑怎么看都没问题,后来发现...
从初始页面表单输入payload,能成功登陆,但是若是直接在url上修改,就会被判断为
如图:无效
对比两个url:
发现:GET传参会进行url编码,所以不能使用 #,而要使用%23。(#有特殊意义,会在浏览器端直接被当做书签符号,这样就无法达到我们想要的效果:把#当做参数连接到服务器端。)
(POST传参可以用#)
经查阅得,当Html的表单被提交时,每个表单域都会被Url编码之后才在被发送。由于历史的原因,表单使用的Url编码实现并不符合最新的标准。例如对于空格使用的编码并不是%20,而是+号
所以此处的“+”不是特殊意义字符,而是表单的特殊url编码规则。
还有一个:
-- +不行,-- -行。+也是特殊意义符号。