WEB安全基础知识
创始人
2025-05-31 22:19:11
0

WEB安全基础知识
渗透测试中的常用编码

1. 页面编码
在网页设置网页编码 在中加入设置特定html标签
这样页面的编码就会变成utf-8 ,如果没有设置编码就会使用默认
的编码,而浏览器默认编码与之不同就会出现乱码。
常用的有三种格式分别是 utf-8、gbk、gbk2312
2. ascii编码
百度百科 详细介绍
https://baike.baidu.com/item/ASCII/309296?fr=aladdin&fromid=3712529&fromtitle=ASCII%E7%BC%96%E7%A0%81
在渗透测试中常用的标准表 十进制 是 0-127 共128个字符
 
 
3. HTML编码
实体 
http://www.w3school.com.cn/html/html_entities.asp
HTML编码的存在就是让他在代码中和显示中分开, 避免错误。
命名实体:构造是&加上希腊字母,
字符编码:构造是&#加十进制

 

 

 

十六进制 ASCII码或unicode字符编码,浏览器解析的时候会先把html编码解析再进行渲染。但是有个前提就是必须要在“值”里,比如属性src里,但却不能对src进行html编码。不然浏览器无法正常的渲染。
http://www.qqxiuzi.cn/bianma/zifushiti.php
十六进制

十进制

xss

4. URL编码
URL编码是一种多功能技术,可以通过它来战胜多种类型的输入过滤器。
URL编码的最基本表示方式是使用问题字符的十六进制ASCII编码来替换它们,并在ASCII编码前加%。
例如,单引号字符的ASCII码为0x27,其URL编码的表示方式为%27。
http://www.moonsec.com/index.php?keyword=aa%20union%20seelct

5. js编码
 
javascript的十六进制编码
\x3C\x73\x63\x72\x69\x70\x74\x3E\x61\x6C\x65\x72\x74\x28\x22\x48\x65\x6C\x6C\x6F\x20\x77\x6F\x72\x6C\x64\x21\x22\x29\x3B\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E
javascript的八进制编码 
\74\163\143\162\151\160\164\76\141\154\145\162\164\50\42\110\145\154\154\157\40\167\157\162\154\144\41\42\51\73\74\57\163\143\162\151\160\164\76
http://www.jb51.net/tools/zhuanhuan.htm
javascript unicode编码


\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u006f\u0072\u006c\u0064\u0021\u0022\u0029\u003b\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0020
http://www.msxindl.com/tools/unicode16.asp
https://www.toolmao.com/xsstranser

6. hex编码
这种编码常用于数据库中 转码过后要加上0x
例如 a的hex码是61 如果在数据库使用要加上0x61 
 
7. base64编码
BASE64 编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。