提交方式method
两种方法
Get :url中直接显示,可直接看到
Post :表单方式提交,嵌套在页面内,起到保密作用
协议 主机host 端口 路径 查询参数(一定要加? 两个参数&连接)
urlcode编码
空格:%20
!:%21
#:%23
$:%24
%:%25
&:%26
':%27
(:%28
):%29
*:%2A
+:%2B
,:%2C
/:%2F
::%3A
;:%3B
=:%3D
?:%3F
@:%40
[:%5B
]:%5D
xss中小技巧:
?xss=1%20οnerrοr=location="javascript:alert%25%281%25%29(location可代表跳转页面)
?xss=1 οnerrοr=location="javascript:alert%281%29 (html页面摆脱()的限制)
?xss=1 οnerrοr=location="javascript:alert(1) (浏览器页面摆脱()的限制,实现弹窗机制)
10.utf-8编码规则
可变长的unicode编码
只有两条:
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n=1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
下表总结了编码规则,字母x表示可用编码的位。
Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
----------------------±--------------------------------------------
0000 0000-0000 007F (0-127)| 0xxxxxxx
0000 0080-0000 07FF (128-2047)| 110xxxxx 10xxxxxx
0000 0800-0000 FFFF(2047-65535) | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
跟据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。
例如:汉字中ascii码为20013
在 0000 0800-0000 FFFF 三字节范围内,编码规范1110xxxx 10xxxxxx 10xxxxxx
20013的二进制 0b100111000101101,0b为二进制符号
从后往前补: 1110 0100(剩100,补为0100) 10111000(补后7-12位) 10101101(补后六位)
转为十六进制:e4b8ad