安全DNS,状态码,编码笔记整理

一 DNS

DNS(Domain Name System)是互联网中用于将域名转换为IP地址的系统。

DNS的主要功能包括以下几个方面:

  • 域名解析:DNS最主要的功能是将用户输入的域名解析为对应的IP地址。当用户在浏览器中输入一个域名时,操作系统会向DNS服务器发送解析请求,DNS服务器根据该域名查询自身的记录来返回对应的IP地址。
    -IP地址反查:DNS也支持将IP地址反查为对应的域名。该功能对于进行安全审计和网络监控非常有用。
  • 负载均衡:DNS还可以用于实现负载均衡。通过配置多个具有相同域名但不同IP地址的服务器,DNS可以根据一定的策略(如轮询、随机)将请求分发到不同的服务器上,从而实现负载均衡以提高性能和可靠性。
  • 邮件服务器定位:DNS在电子邮件系统中也起着重要的作用。通过MX记录,DNS可以指定用于接收特定域名邮件的邮件服务器。
  • 安全性增强:DNS也可用于增强网络安全性。例如,DNS可以实施域名层面的安全策略,如通过DNSSEC(DNS Security Extensions)对域名解析结果进行数字签名,防止域名劫持和欺骗。

DNS主要工作流程

  1. 发起域名解析请求:当用户在浏览器中输入一个域名时,操作系统会发送一个域名解析请求到本地DNS服务器(通常由ISP提供)。

  2. 本地DNS服务器查询缓存:本地DNS服务器首先会查询自己的缓存,看是否已经解析过该域名。如果有缓存记录且未过期,那么会直接返回已解析的IP地址。

  3. 递归查询与迭代查询:如果本地DNS服务器缓存中没有找到对应的解析记录,它就会根据自己的配置进行递归查询或迭代查询。

递归查询:本地DNS服务器会向根DNS服务器发送解析请求,根DNS服务器负责管理顶级域名(如.com、.org)的IP地址。根DNS服务器会返回下一级DNS服务器的IP地址。 迭代查询:本地DNS服务器根据根DNS服务器返回的IP地址,向下一级的DNS服务器发起查询请求,然后继续重复这个过程,直到找到负责该域名的最终DNS服务器。

  1. 最终DNS服务器解析与缓存:最终DNS服务器收到查询请求后,会查询自己的记录,如果有该域名的解析记录,就返回给本地DNS服务器。本地DNS服务器将得到的IP地址返回给操作系统,并缓存这个解析结果。
  2. 返回解析结果:最终,本地DNS服务器将解析得到的IP地址返回给用户的计算机操作系统,操作系统将使用这个IP地址来建立网络连接,并完成对该域名的访问。

二 HTTP状态码

HTTP(Hypertext Transfer Protocol)是一种用于在网络上传输超文本的协议。当客户端与服务器之间进行通信时,服务器会返回一个HTTP状态码,用于表示请求的处理结果。以下是一些常见的HTTP状态码及其含义:

1xx(信息性状态码):请求已接收,继续处理。

  • 100 Continue:客户端应继续发送请求。
  • 101 Switching Protocols:服务器将切换到不同的协议,如HTTP/1.1。

2xx(成功状态码):请求已成功被服务器接收、理解和处理。

  • 200 OK:请求成功,服务器返回所请求的数据。
  • 201 Created:请求成功,并且服务器创建了新的资源。
  • 204 No Content:请求成功,但服务器没有返回内容。

3xx(重定向状态码):需要进一步操作以完成请求。

  • 301 Moved Permanently:请求的资源被永久移动到新位置。
  • 302 Found:请求的资源被暂时移动到新位置。
  • 304 Not Modified:资源未修改,使用缓存的版本。

4xx(客户端错误状态码):请求包含错误或无法完成。

  • 400 Bad Request:请求的语法有误,服务器无法理解。
  • 401 Unauthorized:请求需要用户身份验证。
  • 404 Not Found:服务器无法找到请求的资源。

5xx(服务器错误状态码):服务器在处理请求时发生错误。

  • 500 Internal Server Error:服务器内部错误。
  • 503 Service Unavailable:服务器当前无法处理请求,通常是因为过载或维护。

三 HTML实体编码,urlcode

html实体编码

HTML实体编码(HTML Entity Encoding)是一种在HTML文档中表示特殊字符的方法。由于HTML使用一些特殊字符作为标签、属性或其他用途,为了在HTML中正确显示这些字符,需要使用实体编码来表示它们。

HTML实体编码使用实体名称或实体编号来替代特殊字符。

实体的写法是&name;,其中的name是字符的名字。下面是其中一些特殊字符,及其对应的实体。

  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;
  • &&amp;
  • ©&copy;
  • #&num;
  • §&sect;
  • ¥&yen;
  • $&dollar;
  • £&pound;
  • ¢&cent;
  • %&percnt;
  • *$ast;
  • @&commat;
  • ^&Hat;
  • ±&plusmn;
  • 空格:&nbsp;

实体编号:

在这里插入图片描述
URLCODE

URL编码(也称为百分号编码或URL转义)是一种将URL中的特殊字符转换为特定格式的编码方式。这是因为URL只允许使用一部分ASCII字符,并且对于非ASCII字符和特殊字符,需要使用特定的编码方式来表示。

URL 的各个组成部分,只能使用以下这些字符。

  • 26个英语字母(包括大写和小写)

  • 10个阿拉伯数字

  • 连词号(-

  • 句点(.

  • 下划线(_

    绕过

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

  • !:%21
  • #:%23
  • $:%24
  • &:%26
  • ':%27
  • (:%28
  • ):%29
  • *:%2A
  • +:%2B
  • ,:%2C
  • /:%2F
  • ::%3A
  • ;:%3B
  • =:%3D
  • ?:%3F
  • @:%40
  • [:%5B
  • ]:%5D

在这里插入图片描述

四 alter弹窗

<?php
header('X-XSS-Protection: 0');
$xss = isset($_GET['xss'])? $_GET['xss'] : '';
$xss = str_replace(array("(", ")", "&", "\\", "<", ">", "'"), '', $xss);
echo "<img src=\"{$xss}\">";
?>

因为已经过滤了其中的(),&,\,<>,‘’。所以无法正常弹出alert,用aaa“打开一个双引号,在其后输入onerror。因为url会解析%28%29成()。%28%29会被正则过滤掉,%2528%2529会被转移成%28%29,进入程序,但无法被解析成()并执行所以用location=“javascript:

”先将“”闭合,之后输入%25281%2529,会被location引用成变量。javascript伪协议变量内就能正常解析符号,为(),弹出alert弹窗
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/46821.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL-Character with value 0x09 must be escaped.

在使用json相关函数时&#xff0c;报了这个错&#xff1a; Character with value 0x09 must be escaped.中文即使&#xff1a;值为0x09的字符必须转义。 找了下这个0x09 这个ASCII的值&#xff0c;是水平制表符。那这应该是因为json不支持换行导致的&#xff0c;我们将水平制…

海尔设计借助亚马逊云科技生成式AI,实现端到端的云上工业设计解决方案

海尔创新设计中心&#xff08;以下简称海尔设计&#xff09;成立于1994年&#xff0c;目前拥有400多名设计师&#xff0c;为海尔智家旗下七大品牌全球的所有产品提供设计创新和模式探索。亚马逊云科技为海尔设计提供了四个完整的云上解决方案&#xff0c;全面替代自有机房&…

pytorch学习-线性神经网络——softmax回归+损失函数+图片分类数据集

1.softmax回归 Softmax回归&#xff08;Softmax Regression&#xff09;是一种常见的多分类模型&#xff0c;可以用于将输入变量映射到多个类别的概率分布中。softmax回归是机器学习中非常重要并且经典的模型&#xff0c;虽然叫回归&#xff0c;实际上是一个分类问题 1.1分类与…

管理类联考——写作——素材篇——论说文——人工智能

有人说&#xff0c;机器人的使命应该是帮助人类做那些人类做不了的事情&#xff0c;而不是替代人类。技术变革会夺取一些人低端繁琐的工作岗位&#xff0c;最终也会创造更高端更人性化的工作机会。例如&#xff0c;铁路的出现抢去了很多挑夫的工作&#xff0c;但也增加了千百万…

Vue 常用指令 v-for 列表循环

v-for&#xff1a;根据数据生成列表结构&#xff0c;并且是响应式的&#xff0c;可以十分便捷的操作列表结构了。 至于是什么样的列表&#xff0c;就看你指令使用的位置了&#xff0c;列表的生成依赖于数据&#xff0c;所以先去定义数据。 它结合的类型挺多的&#xff0c;数组…

存储重启后,ceph挂载信息没了,手动定位osd序号并挂载到对应磁盘操作流程、ceph查看不到osd信息处理方法

文章目录 故障说明处理流程定位硬盘中的osd序号挂载osd到ceph上验证并拉起osd重复上面操作故障说明 我们的一个存储节点莫名其妙的重启了,不知道咋回事 但这样的问题就是,所有osd都down了 因为挂载信息没有写到fstab里面,所以不会自动up,并且没有挂载信息,并且也看不到o…

如何进行SQL优化

一、SQL优化的主要步骤 在应用的的开发过程中&#xff0c;由于初期数据量小&#xff0c;开发人员写 SQL 语句时更重视功能上的实现&#xff0c;但是当应用系统正式上线后&#xff0c;随着生产数据量的急剧增长&#xff0c;很多 SQL 语句开始逐渐显露出性能问题&#xff0c;对生…

用友NC65登录界面的jsp页面路径

如上图,访问地址 http://127.0.0.1/portal/app/mockapp/login.jsp?lrid=1对应的页面是哪个呢??相信很多做用友portal端开发的人可能都没有研究或者思考过这个问题,或者想过,但是不知道路径在哪里。你直接按地址栏的地址查,发现nchome里,并没有”portal/app/mockapp/“这…

Vue3学习组合式API(二)

1、计算属性compute <script setup> //导入 import {ref, computed } from vue const state ref(0) //原始数据 const count ref(1); //计算属性 const doubleCount computed(()>count.value*2);//原始数据 const list ref([1,2,3,4,5,6,7,8]); //list属性值 con…

ES6基础知识四:对象新增了哪些扩展?

一、参数 ES6允许为函数的参数设置默认值 function log(x, y World) {console.log(x, y); }console.log(Hello) // Hello World console.log(Hello, China) // Hello China console.log(Hello, ) // Hello函数的形参是默认声明的&#xff0c;不能使用let或const再次声明 fu…

Linux操作系统~必考面试题⑧

1、pwd 命令 pwd 命令用于查看当前工作目录路径。 实例&#xff1a; 查看当前路径 pwd 查看软链接的实际路径 pwd -P 2、rmdir 命令 从一个目录中删除一个或多个子目录项&#xff0c;删除某目录时也必须具有对其父目录的写权限。 注意&#xff1a;不能删除非空目录实例&…

剑指offer12 矩阵中的路径 13 机器人的运动范围 34.二叉树中和为某一值得路径

class Solution { public:bool exist(vector<vector<char>>& board, string word) {int rowboard.size(),colboard[0].size();int index0,i0,j0;if(word.size()>row*col) return 0;//vector<vector<int>> visit[row][col];//标记当前位置有没有…

SQL AND OR 运算符

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。 如果第一个条件和第二个条件都成立&#xff0c;则 AND 运算符显示一条记录。 如果第一个条件和第二个条件中只要有一个成立&#xff0c;则 OR 运算符显示一条记录。 下面是选自 "students" 表的数据&a…

Linux为何是软件开发专业人员的心头爱-Robotics Ubuntu

Linux与Windows都是十分常见的电脑操作系统&#xff0c;相信你对它们二者都有所了解&#xff01;在你的使用过程中&#xff0c;是否有什么事让你觉得在Linux上顺理成章&#xff0c;换到Windows上就令你费解&#xff1f;亦或者关于这二者你有任何想要分享的&#xff0c;都可以在…

13.Netty源码之Netty中的类与API

highlight: arduino-light ServerBootstrap Bootstrap 意思是引导&#xff0c;一个 Netty 应用通常由一个 Bootstrap 开始&#xff0c;主要作用是配置整个 Netty 程序&#xff0c;串联各个组件&#xff0c;Netty 中ServerBootstrap 是服务端启动引导类。 java //泛型 AbstractB…

【C语言day06】

逻辑或运算如果前表达式为真&#xff0c;后表达式不计算&#xff0c;第一次循环时i为0&#xff0c;执行i&#xff0c;第二次循环时i为1&#xff0c;是个真值&#xff0c;不再执行i&#xff0c;也就死循环了 在C语言中&#xff0c;一个函数如果不写返回值类型&#xff0c;那么就…

前端JS 展示上传图片缩略图(本地图片读取)

需求&#xff1a; 点击上传图片按钮&#xff0c;选择图片以后&#xff0c;不请求后端接口&#xff0c;直接将图片展示在缩略图中。 解决方案&#xff1a; 使用 FileReader 和 FileReader 中的 readAsDataURL 方法。 第一步 从input[type“file”] (上传文件标签) 里面拿到fil…

IRIS搭建docker

之前把web实现了docker&#xff0c;开发或测试环境可能需要开发自己搭数据库&#xff0c;为了方便使用&#xff0c;把数据库也做一个docker。 由于原生的CentOS我还有改yum仓库&#xff0c;所以这次从之前lis搞的改好yum的镜像开始&#xff08;从改好yum的lisnew的镜像创建lis…

SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》

首先了解一下单机环境 第一步&#xff0c;搭建一个 Elasticsearch 服务。第二步&#xff0c;下载 SkyWalking 软件包。第三步&#xff0c;搭建一个 SkyWalking OAP 服务。第四步&#xff0c;启动一个 Spring Boot 应用&#xff0c;并配置 SkyWalking Agent。第五步&#xff0c;…

python_day15_闭包

闭包 def outer(logo):def inner(msg):print(f"<{logo}>{msg}<{logo}>")return innerfunc_1 outer("####") print(type(func_1)) func_1("jsy")func_2 outer("$$$$$") func_2(hello)nonlocal关键字&#xff0c;在闭包中…