关于php url编码那些事

在发送payload时浏览器会自动对一些特殊字符进行url编码,服务器端会自动进行一次解码。具体情况如下:

  • 普通字符(a-z,1-9等)无需url编码
  • !@¥%*(){}<>\t(空格)等字符会自动进行url编码其中GET方法只对<>\t(空格)进行了编码,POST对所有字符进行了编码。通过测试发现这些字符即使不进行编码也可以正常传输
  • &#,这些很特殊,他们在url中都有特殊含义,正常情况下是不会被浏览器编码以发挥自身作用。但是如果想要得到对应的字符那就进行url编码

注:当我们想要发送的命令包含有特殊字符时可以考虑进行俩编码,如果是渗透linux系统还可以考虑使用base64编码。
bash -c '{echo,base64编码的命令}|{base64,-d}|{bash,-i}'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容