骑木马的哥哥博客

独上高楼,望尽天涯路

Menu
  • 首页
  • 站点地图
  • 文件库
  • 关于
Menu

渗透测试中常用的编码

Posted on 2021年1月7日2021年1月7日 by 骑木马的哥哥

0. URL编码

URL编码用在浏览器地址栏,以百分号开始,没有结束符。比如空格的URL编码为:%20。

1. HTML编码

HTML编码的内容只能在HTML标签的属性值中,支持十进制和十六进制。以&#开头,分号结尾。
比如字母a的十进制编码为a,十六进制编码为:a。

2. JS编码

JS代码支持八进制,十六进制,以及unicode编码。八进制及十六进制编码,以\开头,没有结束符。
比如alert的八进制编码为:\141\154\145\162\164,十六进制编码为:\x61\x6c\x65\x72\x74,unicode编码为:\u0061\u006c\u0065\u0072\u0074。

3. HTML及JS编码的示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>编码测试</title>
</head>
<body>
    <img src="&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#106;&#97;&#115;&#111;&#110;&#45;&#119;&#46;&#99;&#110;&#47;&#119;&#112;&#45;&#99;&#111;&#110;&#116;&#101;&#110;&#116;&#47;&#117;&#112;&#108;&#111;&#97;&#100;&#115;&#47;&#50;&#48;&#50;&#48;&#47;&#49;&#50;&#47;&#97;&#118;&#97;&#116;&#97;&#114;&#46;&#106;&#112;&#103;" alt="HTML十进制">
    <img src="&#x68;&#x74;&#x74;&#x70;&#x3a;&#x2f;&#x2f;&#x77;&#x77;&#x77;&#x2e;&#x6a;&#x61;&#x73;&#x6f;&#x6e;&#x2d;&#x77;&#x2e;&#x63;&#x6e;&#x2f;&#x77;&#x70;&#x2d;&#x63;&#x6f;&#x6e;&#x74;&#x65;&#x6e;&#x74;&#x2f;&#x75;&#x70;&#x6c;&#x6f;&#x61;&#x64;&#x73;&#x2f;&#x32;&#x30;&#x32;&#x30;&#x2f;&#x31;&#x32;&#x2f;&#x61;&#x76;&#x61;&#x74;&#x61;&#x72;&#x2e;&#x6a;&#x70;&#x67;" alt="HTML十六进制">
    <div id="display"></div>
    <button onclick="noEncode();">无编码单击弹窗</button>
    <button onclick="octEncode();">八进制单击弹窗</button>
    <button onclick="hexEncode();">十六进制单击弹窗</button>
    <button onclick="unicodeEncode();">unicode单击弹窗</button>
</body>
<script>
    var display = document.getElementById("display");
    var noEncode = function(){
        display.innerHTML = "<img src=# onerror=alert('xss')>";
    }
    var octEncode = function(){
        display.innerHTML = "\74img src=# onerror=\141\154\145\162\164('xss')\76";
    }
    var hexEncode = function(){
        display.innerHTML = "\x3cimg src=# onerror=\x61\x6c\x65\x72\x74('xss')\x3e";
    }
    var unicodeEncode = function(){
        display.innerHTML = "<img src=# onerror=\u0061\u006c\u0065\u0072\u0074('xss')>";
    }
</script>
</html>

4. Hex编码

Hex编码是十六进制编码,以0x开头,没有结束符。可以在SQL中使用,比如:

select 0x61;

结果将会输出a。

5. utf7编码

utf7编码通常用于电子邮件传输。

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

致辞

欢迎光临骑木马的哥哥博客

搜索

分类

  • Linux
  • PHP
  • Python
  • 信息安全
  • 渗透测试
  • 观后感
  • 随笔
  • 默认分类

归档

近期评论

  • 龙果果发表在《记2021新年除夕夜》
  • 一位WordPress评论者发表在《世界,您好!》

友情链接

打怪升级|自学成菜
龍果果的家

© 2021 骑木马的哥哥博客 | Powered by Minimalist Blog WordPress Theme