网安第一天

HTML字符编码/HTML实体编码
html实体编码 unicode urlcode 在字符的十六进制前加百分号(%),用于浏览器的网址输入框 utf-8

字符数字表示法
HTML允许使用Nuicode码点表示字符,浏览器会自动将码点转成对应的字符。

字符的码点表示法是:&#N(十进制,N代表码点)或者&#xN(十六进制,N代表码点)

a   ---- a(十进制)       ---- a(十六进制)
中 ---- 𠀓(十进制)     ----中(十六进制)

<p>hello</p>
<!-- 等同于 -->
十进制
<p>&#104;&#101;&#108;&#108;&#111;</p>
<!-- 等同于 -->
十六进制
<p>&#x68;&#x65;&#x6c;&#x6c;&#x6f;</p>

可以使用CyberChef快速解析编码

浏览器本身不能使用码点表示,否则浏览器会认为这是要显示的内容,而不是标签。

字符的实体表示法

< : &lt;
> : &gt;
" : &quot;
' : &apos;
& : &amp;
# : &num;
¥: &yen;
$ : &dollor;
% : &percnt;
* : &ast;
@ : &commat;
^ : &Hat;
空格 : &nbsp;

unicode编码,UTF-8


        UTF-8 编码是 Unicode 字符集的一种表达方式。每个字符有一个 Unicode 号码,称为码点。如果知道码点,就能查到这是什么字符。字符的码点表示法是&#N;(十进制,N代表码点)或者&#xN;(十六进制,N代表码点),比如,字符a可以写成&#97;(十进制)或者&#x61;(十六进制),字符中可以写成&#20013;(十进制)或者&#x4e2d;(十六进制),浏览器会自动转换它们。

        Unicode字符编码,格式: 以符号&#开头,分号;结尾

        UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

        UTF-8 的编码规则很简单,只有二条:

         1、对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。

         2、对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码

URL字符
        URL 编码将字符转换为可通过因特网传输的格式。

        URL 只能使用 ASCII 字符集 通过因特网进行发送。

        26个英文字母(大小写),10个阿拉伯数字,连词号(-),句点(.),下划线(_)

        由于 URL 通常包含 ASCII 集之外的字符,因此必须将 URL 转换为有效的 ASCII 格式。

        URL 字符转义的方法是,在这些字符的十六进制 ASCII 码前面加上百分号(%)。

        URL 不能包含空格。URL 编码通常使用加号(+)或 %20 替代空格。

JS

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p id="demo">aaaabc</p>
    <input type="text" name="username" onclick="alert(1)">acc</input> <!-- 点击的时候弹出弹窗 -->
    <img src="123" onerror="alter(321)">
</body>
<script type="text/javascript">
    alert(1) /* 除数字外都要加双引号 */
    confirm(1)
    prompt(1) /* 反应写的内容 */
</script>
</html>

 

 

  -->x=2 /* 注释符一定要和注释写在同一行否则不生效 */
    console.log(x); 

 == (相等运算符)--- 只判断值相不相等 x==y

=== (严格相等运算符)--- 判断类型和值相不相等 x===y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub是一个基于Web的代码托管平台,它提供了版本控制和协作功能,让开发者可以方便地共享和管理代码。在GitHub上,有很多与网安相关的项目,这些项目致力于保护网络安全、防止黑客攻击和提高系统的安全性。以下是一些常见的GitHub网安项目: 1. OWASP(开放式Web应用程序安全项目):OWASP是一个致力于提高Web应用程序安全性的国际组织。他们在GitHub上维护了一系列开源项目,包括安全工具、漏洞测试和安全指南等。 2. Metasploit:Metasploit是一个广泛使用的渗透测试框架,它提供了一系列工具和资源,帮助安全专家评估和增强系统的安全性。Metasploit在GitHub上有一个官方仓库,开发者可以在这里获取最新的代码和贡献自己的改进。 3. Snort:Snort是一个开源的入侵检测系统(IDS),它可以监测网络流量并检测潜在的攻击行为。Snort的代码托管在GitHub上,开发者可以参与到项目中,改进和定制自己的IDS规则。 4. Nmap:Nmap是一个网络扫描和主机发现工具,它可以帮助安全专家评估网络的安全性。Nmap的源代码也在GitHub上开放,用户可以自由地访问和贡献代码。 5. Security Shepherd:Security Shepherd是一个教育性的Web应用程序,旨在帮助开发者学习和理解常见的Web安全漏洞。它提供了一系列的挑战和实验,供用户测试和提高自己的安全技能。Security Shepherd的代码也在GitHub上开源。 这些项目只是GitHub上众多网安项目的一小部分,你可以通过在GitHub上搜索关键词来找到更多与网安相关的项目。希望这些信息对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值