首页 > 其他分享 >渗透测试中的常用编码

渗透测试中的常用编码

时间:2023-03-06 22:56:08浏览次数:47  
标签:编码 www http 字符 渗透 com 测试 ASCII

WEB安全基础知识

渗透测试中的常用编码

  1. 页面编码

在网页设置网页编码 在<head></head>中加入设置特定html标签

<meta charset="utf-8" /> 这样页面的编码就会变成utf-8 ,如果没有设置编码就会使用默认

的编码,而浏览器默认编码与之不同就会出现乱码。

常用的有三种格式分别是 utf-8、gbk、gbk2312

  1. ascii编码

百度百科 详细介绍

https://baike.baidu.com/item/ASCII/309296?fr=aladdin&fromid=3712529&fromtitle=ASCII%E7%BC%96%E7%A0%81

在渗透测试中常用的标准表 十进制 是 0-127 共128个字符

c2fdfc039245d688c56332adacc27d1ed21b2451.jpg

捕获.PNG

  1. HTML编码

实体

http://www.w3school.com.cn/html/html_entities.asp

HTML编码的存在就是让他在代码中和显示中分开, 避免错误。

命名实体:构造是&加上希腊字母,

字符编码:构造是&#加十进制

捕获.PNG

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

http://www.qqxiuzi.cn/bianma/zifushiti.php

十六进制

<img src=&#x68;&#x74;&#x74;&#x70;&#x73;&#x3a;&#x2f;&#x2f;&#x77;&#x77;&#x77;&#x2e;&#x62;&#x61;&#x69;&#x64;&#x75;&#x2e;&#x63;&#x6f;&#x6d;&#x2f;&#x69;&#x6d;&#x67;&#x2f;&#x62;&#x64;&#x5f;&#x6c;&#x6f;&#x67;&#x6f;&#x31;&#x2e;&#x70;&#x6e;&#x67;>

十进制

<img src=&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#98;&#97;&#105;&#100;&#117;&#46;&#99;&#111;&#109;&#47;&#105;&#109;&#103;&#47;&#98;&#100;&#95;&#108;&#111;&#103;&#111;&#49;&#46;&#112;&#110;&#103;>

xss

<img src="x" one rror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;" />

  1. URL编码

URL编码是一种多功能技术,可以通过它来战胜多种类型的输入过滤器。

URL编码的最基本表示方式是使用问题字符的十六进制ASCII编码来替换它们,并在ASCII编码前加%。

例如,单引号字符的ASCII码为0x27,其URL编码的表示方式为%27。

http://www.moonsec.com/index.php?keyword=aa%20union%20seelct

  1. js编码

<script>alert("Hello world!");</script>

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编码

<img src="1.jpg" />

<script src=http://xsst.sinaapp.com/m.js></script>

<embed src=http://1.com/1.swf allowscriptaccess=always></embed>

\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

  1. hex编码

这种编码常用于数据库中 转码过后要加上0x

例如 a的hex码是61 如果在数据库使用要加上0x61

捕获.PNG

  1. base64编码

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

<iframe src='data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=='>

  1. json编码

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。

[

{

"Name": "a1",

"Number": "123",

"Contno": "000",

"QQNo": ""

},

{

"Name": "a1",

"Number": "123",

"Contno": "000",

"QQNo": ""

},

{

"Name": "a1",

"Number": "123",

"Contno": "000",

"QQNo": ""

}

]

<?php

$data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'; 
$json=json_decode($data); 

print_r($json);

?>

  1. 序列化

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

百度百科详细

https://baike.baidu.com/item/%E5%BA%8F%E5%88%97%E5%8C%96/2890184?fr=aladdin

a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}

<?php

$stooges = array('Moe','Larry','Curly');

$new = serialize($stooges);

print_r($new);

echo "<br />";

print_r(unserialize($new));

?>

  1. utf7编码

UTF-7 (7-位元 Unicode 转换格式(Unicode Transformation Format,简写成 UTF))是一种可变长度字符编码方式, 用以将 Unicode 字符以 ASCII 编码的字符串来呈现,可以应用在电子邮件传输之类的应用。

moonsec +AG0AbwBv-n+AHM-e+AGM-

https://web2hack.org/xssee/

 

转载于:https://www.moonsec.com/

标签:编码,www,http,字符,渗透,com,测试,ASCII
From: https://www.cnblogs.com/GrnLeaf/p/17185821.html

相关文章

  • 春季测试 2023 密码锁
    \(k=1\):送分。\(k=2\):贪心,小的在上,大的在下。\(k=3\):二分答案,假定最小值在第二行,最大值在第三行,简单判断即可,用双指针,最小值在第三行,最大值在第二行的情况交换一下第......
  • 性能测试-网络数据
    1、网络我们通常说的网络,都是在TCP/IP协议族的基础上运作的,HTTP协议,只是这个协议族中的一个TCP协议:通过数据发送者和接收者相互回应对方发来的确认信息,可靠的进行数据传......
  • 软件测试面试
    高频1、GET和POST请求的区别get:1、相对不安全,没有请求体,一般实在url中传递数据,明文。2、url长度有限,传递数据量小。3、查询,200.post:1、相对安全,有请求体,浏览器地址看不......
  • 为什么单个测试结果正确,连续测试结果异常?
    单个跑正常,多个跑异常;因为上一个测试的输入内容还没有被读完就goto/break/continue了。这种情况,需要读取上一个输入中剩余的部分。例子:std::getline(std::cin,s);//......
  • 求数组中的最大子数组的和--相关测试
    测试一:在普通的数组里面求最大子数组的和首先给出一个普通数组的定义,然后循环遍历,为数组的n个元素赋值;然后再根据a[i]+a[i-1]>a[i]的条件是否成立,来进行加和运算,然后赋值......
  • 【性能测试】性能测试流程|怎么做性能测试?
    突然有一天,领导说:“小王,今天把996福报系统压一下,下班前把压测报告发我邮箱。”啥?压测?今天?报告?怎么压?怎么写?从来没做过啊,心里一万匹草泥马奔跑而过,别说996了,估计明天都下不......
  • 如何做大数据测试
    测试流程及测试方法没有太大的区别,重点说一下大数据测试相比传统测试的区别:1、数据规模:大数据测试所涉及的数据规模通常是海量级别的,而普通测试所涉及的数据规模较小。2、......
  • 2023 NOI 春季测试
    2023NOI春季测试T1不再赘述。P9118[春季测试2023]幂次【民间数据】考场上没判k巨大的情况。\(n\le10^{18}\),所以当\(b\ge3\)时就有\(a\le10^6\)了。考虑......
  • 云平台测试负载均衡Web服务器安装配置
    1.关闭selinux.2.安装httpd服务组件3.配置httpd  3.1修改配置文件:vi/etc/httpd/conf/httpd.conf      -------------------------------------------......
  • python渗透测试入门——流量嗅探器
    1.代码及代码讲解。代码编写工具:VsCode(1)socket嗅探器首先第一个脚本是最简单的原始socket嗅探器,它只会读一个数据包,然后直接退出:importsocketimportos#hosttol......