url特殊字符编码问题小记录|buuctf极客大挑战2019 easysql

判断出闭合符为'后,使用万能密码,发现不行

但是逻辑怎么看都没问题,后来发现...

从初始页面表单输入payload,能成功登陆,但是若是直接在url上修改,就会被判断为

如图:无效

对比两个url:

发现:GET传参会进行url编码,所以不能使用 #,而要使用%23。(#有特殊意义,会在浏览器端直接被当做书签符号,这样就无法达到我们想要的效果:把#当做参数连接到服务器端。)

(POST传参可以用#)

经查阅得,当Html的表单被提交时,每个表单域都会被Url编码之后才在被发送。由于历史的原因,表单使用的Url编码实现并不符合最新的标准。例如对于空格使用的编码并不是%20,而是+号

所以此处的“+”不是特殊意义字符,而是表单的特殊url编码规则。

还有一个:

-- +不行,-- -行。+也是特殊意义符号。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值