自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

关注网络安全、云原生安全

关注网络安全、数据结构与算法、Python、Go

  • 博客(24)
  • 资源 (7)
  • 问答 (4)
  • 收藏
  • 关注

原创 网络安全-自学笔记

目录WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入通信安全WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入网络安全-sqlmap学习笔记通信安全网络-http协议学习笔记(消息结构、请求方法、状态码等)...

2020-12-01 09:28:44 176917 115

原创 Python-堆的实现与heapq(最小堆库函数)

heapq简介堆是一个二叉树,它的每个父节点的值都只会小于或大于所有孩子节点(的值)。它使用了数组来实现:从零开始计数,对于所有的 k ,都有 heap[k] <= heap[2*k+1] 和 heap[k] <= heap[2*k+2]。 为了便于比较,不存在的元素被认为是无限大。 堆最有趣的特性在于最小的元素总是在根结点:heap[0]。创建heapq.heapify(x)将list x 转换成堆,原地,线性时间内。>>> from heapq i

2020-12-31 17:26:52 8643

原创 剑指 Offer 58 - I. 翻转单词顺序(简单字符串)

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入:...

2020-12-27 14:48:29 6784

原创 python-二叉树的实现(oj向)

前言本文用python实现了二叉树,由于博主是为了刷leetcode,熟悉python如何去实现数据结构与算法,所以采用的Solution方式,函数没有当做二叉树类的方法。结构class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None所用的树基本操作函数创建 def create(self, ge.

2020-12-24 17:30:26 5333

原创 SDN-ONOS1.x学习记录(安装、拓扑、命令、图形化界面)

版本变化AvocetBlackbirdCardinalDrakeEmu环境Ubuntu 18.04按照ONON 开发人员快速入门安装,博主的步骤如下:安装依赖如果没有的话就使用 sudo apt install 软件名字 进行安装,博主在安装时感觉很简单,不再赘述,只是展示一下。gitgit --versionzipzip --versioncurl curl --versionunzipunzip --version

2020-12-22 17:16:35 6175 4

原创 CTF-【NSCTF 2015】WEB11 条件竞争

简介条件竞争是指多进程/多线程情况下对于共享资源没有加锁,导致的问题。源代码<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>NSCTF</title></head><body alink="#007000" background="../images/dot.gif" bgcolor="#

2020-12-21 15:45:42 5022 1

原创 Python-序列化与反序列化

简介引言-jsonpickle可以被打包/解包的对象下列类型可以被打包: None、True 和 False 整数、浮点数、复数 str、byte、bytearray 只包含可打包对象的集合,包括 tuple、list、set 和 dict 定义在模块顶层的函数(使用 def 定义,lambda 函数则不可以) 定义在模块顶层的内置函数 定义在模块顶层的类 某些类实例,这些类的 __dict__ 属性值或 __get

2020-12-20 20:28:03 2893 1

原创 OJ-leetcode找不同(简单统计)

题目给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a", t = "aa"输出:"a"示例 4:输入:s = "ae", t = "aea"输出:"a...

2020-12-20 20:19:13 1219 2

原创 Python-容器之计数字典Counter

目录介绍创建操作符求并集 +求交集 &求差集 -方法返回元素迭代器返回高频元素视图求差集函数转列表长度参考介绍Counter是dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一样存储,它们的计数存储为值。计数可以是任何整数值,包括0和负数。创建Counter([iterable-or-mapping]),可迭代的或映射的可哈希对象都可以>>> from collections

2020-12-20 20:00:46 1449 1

原创 网络安全-条件竞争(《CTF特训营》第7章复现)

举例前期准备在phpStudy的WWW目录下,写两个文件。标题condition_race.php内容: <?php $cnt=file_get_contents("count.txt"); //count.txt的初始内容为0 $cnt+=1; echo "This site was visited $cnt times."; file_put_contents("count.txt",$cnt);?>count.txt内容:0打开ph...

2020-12-18 16:30:52 1734

原创 python-集合类型set与frozenset(操作符、方法、内置函数)

简介set 对象是由具有唯一性的可哈希对象所组成的无序多项集。 常见的用途包括成员检测、从序列中去除重复项以及数学中的集合类计算,例如交集、并集、差集与对称差集等等。创建set([iterable])如果有参数,返回可迭代对象形成的已去重集合。>>> s = set([1,2,3,4])>>> s{1, 2, 3, 4}不支持索引、切片等。操作符成员操作符(in、not in)>>> 1 in sTrue

2020-12-15 21:16:25 1037

原创 网络-邮件协议SMTP、POP3详解与实战(Python发送邮件)

基于万维网的电子邮件SMTP简介客户/服务器TCP连接 25流程连接建立邮件发送连接释放 SMTP的缺点: 1.SMTP不能传送可执行文件或者其他二进制对象。 2.SMTP仅限于传送7位ASCl码,不能传送其他非英语国家的文字。 3.SMTP服务器会拒绝超过一定长度的邮件。MIMEPOP3简介端口110参考《计算机网络(第7版)谢希仁》6.5《TCP/IP详解I》第28章...

2020-12-15 15:09:12 11458 6

原创 网络-ICMP协议、Ping命令实现与ICMP攻击

简介ICMP(Internet Control Message Protocol,网际控制报文协议)是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。报文格式ICMP报文分为两类:一类通知出错原因 ,一类用于诊断查询。ICMP报文格式类型:占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取.

2020-12-14 21:24:04 5405

原创 python-容器之双端队列deque

介绍双端队列,即两端都可以进出的队列。方法最大尺寸添加从右侧append(x)添加 x 到右端。从左侧appendleft(x)添加 x 到左端。从右侧扩展extend(iterable)扩展deque的右侧,通过添加iterable参数中的元素。从左侧扩展extendleft(iterable)扩展deque的左侧,通过添加iterable参数中的元素。注意,左添加时,在结果中iterable参数中的顺序将被反过来添加。任意位置插入在

2020-12-13 21:29:40 1092 1

原创 网络-Telnet协议与SSH协议(命令、免密登录)及其安全性

引言在进行远程连接服务器时,我经常使用MobaXterm,在选择Session时,常会看到这个页面:Session之前不求甚解,只知道SSH可以进行远程连接,不清楚Telnet,其实学过FTP,看到SFTP,也没去看他们到底区别在哪里,Shell编程学了一点也不系统,感觉好多要学。今天先来学习Telnet和SSH协议。Telnet简介Telnet(telecommunication network protocol,电信网络协议)是一个简单的远程终端协议,使用端口23。用户用Tel

2020-12-12 12:01:10 5453

原创 剑指 Offer 22. 链表中倒数第k个节点(简单快慢指针)

题目输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhon

2020-12-11 11:09:20 521

原创 python-单链表实现(oj向)

目录前言基本操作函数添加尾插随意位置插长度查找返回第一个统计个数删除按索引按值清空显示高级操作函数返回倒数第k个节点(快慢指针)全部代码前言本文用python实现了单链表,由于博主是为了刷leetcode,熟悉python如何去实现数据结构与算法,所以采用的Solution方式,函数没有当做单链表类的方法。单链表实现的是带头结点的单链表,头结点内的数据为单链表的长度。结构class ListNode: def

2020-12-11 11:07:44 996 1

原创 Python-二进制模块struct

简介此模块可以此模块可以执行 Python 值和以 Python bytes对象表示的C结构之间的转换,使用格式字符串作为 C 结构布局的精简描述以及与 Python 值的双向转换。字节顺序、大小和对齐方式默认情况下,C类型以机器的本机格式和字节顺序表示,并在必要时通过跳过填充字节进行正确对齐,或者,根据下表,格式字符串的第一个字符可用于指示打包数据的字节顺序,大小和对齐方式: 字符 字节顺序 大小 对齐方式

2020-12-08 09:58:11 630

原创 网络-FTP协议与TFTP协议

目录TFTPFTP简介工作原理登录传输数据传输模式参考TFTPTFTP比较简单,简单介绍一下。TFTP(Trivial File Transfer Protocol,简单文件传送协议),它是一个很小且易于实现的文件传送协议。TFTP使用客户/服务器方式,但它使用UDP数据报,因此TFTP需要有自己的差错改正措施。TFTP只支持文件传输而不支持交互。TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。TFTP的主要特点是:(1)每次传送的

2020-12-07 16:40:45 1685

原创 网络-DNS域名系统详解与DNS攻击

简介参考《TCP/IP详解I》第十四章《计算机网络(谢希仁)第七版》6.1

2020-12-04 18:35:43 2124

原创 剑指 Offer 48. 最长不含重复字符的子字符串(中等滑动窗口)

滑动窗口class Solution: def lengthOfLongestSubstring(self, s: str) -> int: # dic 保存 dic, res, left, n = {}, 0, -1, len(s) for right in range(n): if s[right] in dic: left = max(dic[s[right]], left) #

2020-12-03 19:49:43 507

原创 网络-UDP协议详解(代码、实战)

简介UDP(User Datagram Protocol,用户数据报协议),一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,UDP在IP报文的协议号是17。常用的UDP端口号有:53(DNS)、69(TFTP)、161(SNMP),使用UDP协议包括:TFTP、SNMP、NFS、DNS、BOOTP。特点UDP是无连接的,减少开销和发送数据之前的时延 UDP使用最大努力交付,即不保证可靠交付 UDP是面向报文的,适合一次性传输少量数据的网络应用 UDP无拥塞控制,适合很多实时应

2020-12-03 17:07:35 7139

原创 OJ-leetcode-374. 猜数字大小(简单二分查找)

目录题目思路代码更优题解题目猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0): -1:我选出的数字比你猜的数字小 pick < num 1:我选出的数字比你猜的数字大 pick &...

2020-12-02 21:12:36 643

原创 网络-ARP协议详解与ARP欺骗(中毒)攻击实战

简介地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC地址)的一个协议。划分到网络层或数据链路层,用在局域网内。功能:完成主机或路由器IP地址到MAC地址的映射。过程:检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-

2020-12-02 16:01:05 4205

3D天空迷宫.zip

3D天空迷宫游戏。 使用C++ OpenGL 3.3,编辑器采用Qt 5.9.1及VS2015。使用天空盒、纹理贴图、摄像机等技术。适合学习了C++,并学习一段时间OpenGL的童鞋食用。

2019-07-01

OpenGL天空盒

使用立方体贴图技术,实现天空盒功能,提供了两套天空盒图片。本人博客:https://blog.csdn.net/lady_killer9/article/details/89468950

2019-04-23

OpenGL使用Assimp库加载3d模型

现代OpenGL,利用Assimp进行3d模型加载的一个Demo,提供了两个3d模型,能很好的加载含纹理的.obj格式的3d模型。博客地址:https://blog.csdn.net/lady_killer9/article/details/89458246

2019-04-23

OpenGL实现3d场景漫游

OpenGL的一个小Demo,通过摄像机实现3D场景的漫游。鼠标控制包括滑动鼠标进行视角转动,使用滚轮进行缩放。键盘通过WSAD进行前后左右的移动。

2019-04-18

OpenGL超级宝典(中文第五版清晰扫描版)及代码

OpenGL超级宝典(中文第五版清晰扫描版)还有随书所有代码。

2019-01-18

Jsp购物网站-TdSnacks

Jsp编写的购物类网站,有注册,登录功能,购物车功能,翻页功能,Excel下载功能。使用Eclipse编写,sqlserver 2012数据库。

2018-07-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除