URL 编码(也称为百分号编码)是一种在 URLs 中编码数据的方法。它将特殊字符转换为由百分号(%)后跟两个十六进制数字组成的格式。URL 编码通常用于将数据传递到网页或 Web 服务器时,以确保 URL 在传输过程中保持一致和安全
URL编码的原因:
- 保留字符:URL中有一些字符具有特殊含义,比如
?
,&
,#
,/
等,这些字符不能直接出现在URL中,否则会被误解为URL的一部分。 - 非ASCII字符:URL需要能够处理各种语言的字符,但URL的传输协议通常只支持ASCII字符集,因此需要将非ASCII字符转义。
- 空格:空格在URL中不能直接使用,需要被转义。
URL编码的规则:
- 保留字符:将保留字符转换为
%
后跟两位十六进制数的形式。例如,空格被转义为%20
。 - 非ASCII字符:将非ASCII字符转换为UTF-8编码,然后将每个字节转换为
%
后跟两位十六进制数的形式。 - 安全字符:字母
a-z
,A-Z
,数字0-9
,以及一些特殊字符如- _ . ! ~ * ' ( )
不需要编码。
URL编码示例:
- 空格:
%20
- 特殊字符:
&
→%26
- 中文字符:
你好
→%E4%BD%A0%E5%A5%BD
编码步骤:
- 将URL中的每个字符检查一遍。
- 如果字符是保留字符、空格或非ASCII字符,则进行编码。
- 对于非ASCII字符,首先将其转换为UTF-8编码,然后将每个字节转换为
%
后跟两位十六进制数的形式。
使用burpsuite抓包验证
浏览器输入英文字符,直接携带无需编码
输入中文及符号,经过浏览器编码后发出
url编码表
HackBar扩展插件
HackBar 是一个浏览器扩展插件,主要用于网络渗透测试和安全评估。它提供了一系列方便的工具和功能,可以帮助用户执行各种网络攻击和测试,包括 XSS、SQL 注入、CSRF、路径穿越
用途:
-
自定义请求发送:HackBar 允许用户自定义 HTTP 请求,并可以通过插件直接发送这些请求。用户可以手动构造 GET、POST、PUT、DELETE 等类型的请求,并添加自定义的 HTTP 头部、参数等信息。
-
编码/解码工具:HackBar 提供了各种编码和解码工具,包括 URL 编码、Base64 编码、MD5 加密等。这些工具可用于在渗透测试中对数据进行编码或解码,以绕过一些安全机制或进行数据处理。
-
漏洞检测:HackBar 可以帮助用户检测网站中常见的漏洞,例如 XSS、SQL 注入、CSRF 等。用户可以通过插件发送特定的测试请求,然后分析响应来确定目标网站是否存在漏洞。
-
Cookie 管理:HackBar 允许用户管理浏览器中的 Cookie,包括添加、编辑、删除 Cookie 等操作。这对于进行身份验证、绕过登录限制等方面的渗透测试非常有用。
-
参数注入:HackBar 提供了一个参数注入工具,可以帮助用户在 URL 中注入自定义的参数。用户可以使用这个工具测试网站的安全性,尝试发现潜在的漏洞。
火狐浏览器添加hackbar工具
扩展->添加扩展->搜索并添加hackbar->F12开启开发者模式->选择hackbar v2
使用hackbar更改url参数
1.打开浏览器输入框
2.F12打开开发者模式选择HackBar
3.输入框输入内容并回车
4.HackBar界面点击(load url)获取网址
5.HackBar界面点击(Split URL)将网址参数进行分段,方便修改
6.修改参数后点击(execute)发送请求
7.请求发送成功