【无标题】

本文介绍了两种HTTP提交方式:GET和POST的区别,以及如何处理协议主机、端口、路径和查询参数,包括URL编码规则。特别关注了XSS攻击中的小技巧,以及UTF-8编码对多字节字符的支持,如汉字的编码示例。
摘要由CSDN通过智能技术生成

提交方式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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值