自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 Gorm框架入门

它允许开发者通过Go语言的结构体来定义数据模型,而不必直接编写SQL语句,从而简化了与数据库的交互和操作。是一个包含了ID, CreatedAt, UpdatedAt, DeletedAt四个字段的结构体,用继承的方式来使用。创建表时,会自动将表名定义为struct名的复数,如果遇到用驼峰法命名的struct名,会用下划线连接单词。gorm框架自带的自动迁移功能使得开发者能够根据Go语言中定义的结构体自动创建或更新数据库表结构,而不必手动编写SQL语句。字段,该字段的值将会是初次创建记录的时间。

2023-12-04 17:06:13 98

原创 Golang中的Mysql操作

Scan() 方法负责将结果的列映射到相应的变量,并在需要时触发底层查询的执行。在调用 Scan() 之前,QueryRow() 不会执行实际的查询。执行一次查询,返回多行结果(即Rows),一般用于执行select命令。包提供了保证SQL或类SQL数据库的泛用接口,常用的数据库驱动有。获取最后插入的 ID,通常在表中有一个自增的主键时使用。获取受影响的行数,即更新操作实际影响的行数。,而是返回一个实现了 Row 接口的非空值。,它将用于保存数据库连接的实例。将当前行的数据扫描到相应的变量中。

2023-12-02 16:01:25 297 1

原创 Golang并发模型:Goroutine 与 Channel 初探

与传统的线程相比,goroutine 的创建和销毁的开销很小,可以轻松创建成千上万个 goroutine,而不会导致系统性能下降。与操作系统线程不同,goroutine 的调度是在用户空间进行的,减少了上下文切换的成本。但是,当主goroutine执行任务完成退出比子goroutine早时,程序就会直接终止,而不再等待其他的 goroutine 执行完毕。的调用,后面的代码不再执行,包括 “B” 的打印语句和 “A” 的打印语句。上面例子中的channel是一个无缓冲的,其运行的具体过程如下图所示。

2023-11-24 11:55:08 499

原创 Golang基础-面向对象篇

在Go中,空接口的声明形式是。Go语言(通常称为Golang)不使用传统的类(class)和继承(inheritance)的概念,而是通过结构体(struct)来实现面向对象编程的特性。现在有一个SuperMan类需要继承Human类,还有自己的level字段,并重写其中的Eat方法,还要能够写子类的新方法。空接口的特点是它可以保存任意类型的值,因为任何类型都至少实现了零个方法,因此都满足空接口的要求。Go语言中用继承是无法实现多态的,需要用接口(interface)实现,它的本质是一个指针。

2023-11-21 19:40:31 465 1

原创 Golang基础-面向过程篇

往函数中传参并在函数中修改数组的第一个元素// _表示匿名变量slice的定义方式共有四种,方式一:声明slice1是一个切片,并且初始化,默认值是1,2,3方式二:声明slice是切片,但是没有分配空间。此时如果想要赋值会报错,需要通过make来分配空间方式三:声明slice是切片,同时给slice分配空间,3个空间,初始化为0方式四:通过:=推导出是一个slice想要判断一个切片是否被分配空间,可以用nil来判断fmt.Println("slice未被初始化")} else {

2023-11-21 13:08:14 409

原创 Docker容器编排

管理节点用于swarm集群的管理,一个集群可以有多个管理节点,但只有一个管理节点能成为leader,leader通过raft协议实现。通常第一个启动的节点是leader,后面启动的是follower。运行在docker的主机可以主动初始化一个swarm集群或加入一个已经存在的集群,这样该主机就成为一个swarm集群的节点(Node)因为这个nginx是依赖网络的,所以它的状态是退出的,要用以下命令运行所有服务。任务(Task)是swarm中最小的调度单位,目前来说是一个单一的容器。在工作节点上退出集群。

2023-11-12 13:29:21 100

原创 Dockerfile

设置容器的用户,可以是用户名或pid,如果容器设置了以daemon用户去运行,那么RUN、CMD和ENTRYPOINT都会以这个用户去运行。利用docker的build命令,指定dockerfile文件,就能按配置内容把容器构建出来。表示在构建镜像时做某操作,不对当前dockerfile生效,而是对以当前dockerfile镜像作为基础镜像的子镜像生效。这样默认openjdk的版本为8,在用户对这个dockerfile进行build时,可以用以下命令更改。1:unsuccess => 不健康状态。

2023-11-07 16:52:44 202

原创 栈和队列的基本操作

队列是只允许在一端进行插入,在另一端进行删除的线性表(队尾插入,队首删除)元素从队列的尾部插入,队首删除,一般使用循环队列,判断队列已满的条件是。栈是只允许在一端进行插入或删除操作的线性表。定义两个指针,一个指向队首,一个指向队尾。初始化队列并判断队列是否为空。

2023-03-08 16:40:43 226 1

原创 链表的定义和基本操作

int data;LinkList L;

2023-03-07 20:26:18 119

原创 顺序表的定义和基本操作

静态分配方式int length;} SeqList;cout

2023-03-07 15:39:23 81

原创 机试代码模板

【代码】机试代码模板。

2023-02-28 23:07:06 705

原创 C++格式化输出

它们将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。设置要填充的字符,默认空格,作用范围是直到下一个setfill才更改。题目中算时间,要求格式化输出时间,如果时间不够10,会在前面补0。设置输出宽度,作用范围仅有一次。

2023-01-02 11:35:06 219

原创 2022CISCN初赛 WP

文章目录Crypto签到电台Crypto签到电台在公众号找到提示在“标准电码表”找“弼时安全到达了”所对应的7个电码,再跟“密码本”的前7*4个数字分别逐位进行“模十算法”(加不进位、减不借位),所得到的就是要发送的电码。发送电码前先发送“s”启动,即按3个“.”,这个发送电报的过程可以使用抓包软件进行抓取,可方便输入电报。“弼时安全到达了”所对应的7个电码:1732 2514 1344 0356 0451 6671 0055模十算法示例:1732与6378得到7000发包示例:/sen

2022-05-29 23:31:53 1084

原创 HGAME2022 Web WP

文章目录蛛蛛...嘿嘿♥我的蛛蛛Tetris plusFujiwara Tofu Shopeasy_auth蛛蛛…嘿嘿♥我的蛛蛛页面内有很多点我试试的按钮,只有一个是真的,能前往下一关,写个脚本跑一下import requestsfrom lxml import etreestatic_url = 'https://hgame-spider.vidar.club/f90e409178'url = 'https://hgame-spider.vidar.club/f90e409178'whil

2022-01-27 11:51:32 21592 1

原创 udf提权

这里以ctfshow终极考核的web654为例子。先查看/etc目录下有无敏感文件,发现sudoers.bak,打开后可以看到mysql属于特权用户

2022-01-19 15:00:00 1578

原创 ctfshow终极考核wp

文章目录web640web641web642web643web644web645web646web640打开页面就能看到flagctfshow{060ae7a27d203604baeb125f939570ef}web641抓取首页的包,看到有一个Flag字段ctfshow{affac61c787a82cc396585bea8ecf2dc}web642在上面包里的源码看到css路径不寻常/system36d/static/css/start.css,在url后添加/system36d,抓包

2022-01-17 20:42:59 3422

原创 ctfshow 摆烂杯web wp

考试前不想复(预)习,正好是ctfshow的摆烂杯,就去做了几道web题文章目录web签到黑客网站一行代码web签到题目要输入三个整数A、B、C,ABC均不可为0,让A³+B³+C³=114,刚开始还想着爆破,后面感觉到太慢了,开始随便输,发现输入1+1后会把他当成2来计算,那就很好办了,直接让输入数的幂为1/3即可A=5&B=-1&C=-10**(1/3)后面看群才知道。。幸亏没爆破黑客网站f12后发现一堆字符串,题目也说了不用渗透和扫描,说明关键点就是这些字符串,.

2021-12-27 10:51:39 3203

原创 jQuery学习

文章目录简介jQuery事件jQuery操作Dom元素节点文本操作css操作简介jQuery 是一个 JavaScript 库,它极大地简化了 JavaScript 编程。下载地址它的一般格式为:$(selector).action()例如获取元素,点击弹窗<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</ti

2021-10-13 00:13:20 126 1

原创 JavaScript学习—DOM对象、节点

文章目录函数及参数获取变量的作用域函数及参数获取函数的定义function abs(x){ if (x>=0) return x; else return -x;}一旦执行到return代表函数结束,返回结果。还有另一种函数定义方式:var abs = function (x) { if (x >= 0) return x; else return -x;}若参数的类型不符合,可

2021-09-30 15:40:20 230

原创 JavaScript学习—基础语法

文章目录引入JavaScript基础语法数据类型number字符串布尔值逻辑运算比较运算符数组对象流程控制Map和Setiterator引入JavaScript内部标签<script> alert("hello world");</script>外部引入<script src="js/abc.js"></script>基础语法定义变量<script> var num = 1; alert(num);

2021-09-27 16:15:52 1520 9

原创 QQ邮箱首页仿写

前言学完了HTML+CSS,来仿写一手QQ邮箱的首页。代码下载链接代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登录QQ邮箱</title> <link rel="stylesheet" href="style/style.css"></head><body style="ov

2021-09-26 21:22:02 1094

原创 CSS学习—layout

文章目录盒模型盒模型—边框盒模型css将页面中的所有元素都设为一个矩形的盒子,将元素设为盒子后,对元素的布局就变为将不同的盒子摆放到不同的地方。每一个盒子由以下几个部分组成:内容区(content)内边距(padding)边框(border)外边距(margin)<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>盒模型<

2021-09-25 11:25:28 908

原创 CSS餐厅选择器练习

文章目录Level 1Level 2Level 3Level 4Level 5Level 6Level 7Level 8Level 9Level 10Level 11Level 12Level 13Level 14Level 15Level 16Level 17Level 18Level 19Level 20Level 21Level 22Level 23Level 24Level 25Level 26Level 27Level 28Level 29Level 30Level 31Level 32Leve

2021-09-20 11:25:16 257

原创 CSS学习—简介&语法

文章目录CSS简介内联样式内部样式表外部样式表CSS语法id选择器class选择器通配选择器复合选择器关系选择器CSS简介内联样式css是层叠样式表,网页是一个多层结构,通过css可以为每一层设计样式,比如第一种内联样式,在标签内直接设置style属性<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>css简介</title&gt

2021-09-19 15:05:22 83

原创 HTML学习

文章目录前言html基础框架标题和段落标签实体语义化标签列表超链接图片标签内联框架音视频标签前言一开始学安全就直接刷的题,现在才发现基础不行,所以准备从零开始,先把html+css+javascript学完html基础框架<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head>

2021-09-18 17:28:40 138 2

原创 学校健康打卡之打包Docker镜像

文章目录前言docker启动及环境配置安装chrome浏览器安装chromedriver上传脚本mail配置shell脚本添加计划任务打包镜像前言之前自动打卡的脚本在这里前几天把b站上的docker学习视频看完了,之前我在服务器上部署的自动健康打卡,随着恢复快照消失了;后来在mac上部署,发现电脑一旦休眠,就无法执行计划任务,太麻烦了,就准备在docker中部署,并将其打包成为镜像,发布到dockerhub。实现的功能:计划任务自动打卡、发送邮件告知打卡成功or失败…忙了一天,才发现一开始dock

2021-09-08 17:41:22 402

原创 Python网络通信

文章目录OSI七层模型TCP/IP五层模型基础循环通信在学习网络编程之前,先要了解一些基础知识。OSI七层模型OSI(Open System Interconnect),即开放式系统互联。OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图。应用层OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP

2021-09-04 16:43:50 848

原创 Docker网络

文章目录Docker0--link自定义网络网络连通Docker0先启动一个tomcat镜像docker run --name tomcat01 -p 8000:8080 -d tomcat然后查看容器内部网络地址ip addrdocker exec -it tomcat01 ip addr发现被分配到eth0@if181的ip地址,这是docker分配的,且能ping通这个容器带来的网卡,都是一对一对的,使用到的是evth-pair技术,就是一对的虚拟设备接口,它们都是成对出现,一端连

2021-09-02 15:45:12 77

原创 Windows提权

文章目录前言Windows中的权限基础的信息搜集创建环境getsystem提权ask模块提权前言在利用web漏洞拿下一台服务器主机后,由于权限很低,一般需要提权,这篇文章主要针对Windows。Windows中的权限主要是有三个:-system - administrator - users我们默认都是用户权限基础的信息搜集此时可以先通过蚁剑的虚拟终端来进行一波信息搜集# 获取系统版本信息systeminfo | findstr OS# 获取主机名称hostname# 获取

2021-08-18 16:55:12 434

原创 ctfshow 吃瓜杯 shellme_Revenge

文章目录前言自增题目wp前言在这次ctfshow的吃瓜杯比赛中,出现了一道利用自增运算符来造成命令执行的题目shellme_Revenge,以前只学过异或、或和取反的方法,因此这次来学习一波主要是参考p神的文章一些不包含数字和字母的webshell自增在php中,当把字符串和数组连接在一起时,最终返回的值是Array<?phpecho ''.[];且php中a++ => b,b++ =>c,那么只要取Array中的第一个字母A和第四个字母a,就可以得到A-Z和a-z的所

2021-08-16 20:21:16 1520 4

原创 容器数据卷

什么是容器数据卷docker的理念是将应用和环境打包成一个镜像,如果数据全部都在容器中,那么当我们删除容器时,数据就会全部消失。因此,需求就是数据可以持久化。容器之间可以有一个数据共享技术,将docker中产生的数据同步到本地。这就是卷技术,将容器内的目录挂载到本机目录中。使用数据卷方式一直接使用命令来挂载 -vdocker run -it -v 主机目录:容器内目录docker run -it -v /home/test:/home centos /bin/bash可以发现,在容器内的/

2021-08-16 12:54:52 67

原创 Docker部署nginx&tomcat

首先,搜索nginxdocker search nginx搜索结果:下一步,拉取镜像docker pull nginx然后启动nginx容器docker run -d --name nginx01 -p 8090:80 nginx这里给这个nginx容器取名为nginx01,在服务器的8090端口访问nginx的80端口。此时测试一下8090这个端口curl localhost:8090发现nginx已经部署成功了...

2021-08-15 17:20:26 132

原创 Docker简介、安装及常用命令

文章目录Docker的基本组成镜像容器仓库安装Docker常用镜像命令常用容器命令Docker的基本组成docker由客户端、服务器和仓库组成镜像docker镜像就像一个模板,可以通过这个模板来创建容器服务,通过这个镜像可以创建多个容器。容器docker利用容器技术,独立运行一个或一个组应用,通过镜像来创建。仓库仓库是存放镜像的地方,分为公有仓库和私有仓库。安装Docker需要的安装包yum install -y yum-utils设置镜像仓库yum-config-manage

2021-08-15 13:19:29 98

原创 ctfshow 其他(持续更新)

文章目录web396web397-401web402web403web404web405web396<?phperror_reporting(0);if(isset($_GET['url'])){ $url = parse_url($_GET['url']); shell_exec('echo '.$url['host'].'> '.$url['path']);}else{ highlight_file(__FILE__);}可以先在本地测试一下pars

2021-08-13 12:20:20 1236

原创 PHP session反序列化漏洞

文章目录session反序列化ctfshow web263 wpsession反序列化看群主的讲解视频,顺便做个笔记。先在本地做个测试,在index.php中写如下代码<?phpsession_start();$_SESSION['aaa'] = 'bbb';此时php的临时目录(tmp)中没有任何文件,然后访问http://127.0.0.1/,清除所有的cookie,然后再次访问,发现又生成了一个PHPSESSID而此时tmp文件夹中也有一个临时文件sess_u8or65tg

2021-08-12 15:37:27 263 2

原创 一句话木马及免杀

这篇文章主要是总结一句话木马,并实现一句话木马的简单免杀,以及一个不死马的实现。文章目录一句话木马及原理一句话木马简单免杀一、assert()二、字符串拼接三、函数四、request请求五、类六、base64加解密七、写入木马不死马一句话木马及原理首先,来看最简单的一句话木马:<?php @eval($_POST['cmd']); ?>前面的<?php ?>是php的文件格式,@是让程序在执行错误的情况下也不要报错,eval()函数是将括号里的内容都当作代码执行,$_PO

2021-08-12 11:37:45 12574 1

原创 希尔密码加解密(Python)

文章目录前言算法原理加解密代码图形界面代码运行效果图遇到的问题及解决方案前言这是之前的密码学课设,因为一直在忙期末考试,所以到现在才发出来。exe程序可以去希尔密码(Hill密码)转换工具.exe下载。算法原理每个字母当作26进制数字:A=0, B=1, C=2… 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。注意用作加密的矩阵(即密钥)必须是可逆的,否则就不可能解码。只有矩阵的行列式和26互质,才是可逆的。加解密代码import numpy as npimpor

2021-08-09 21:10:45 5743 11

原创 作用域&闭包

作用域local():本地(本函数)定义的所有变量会以字典的形式存在globals():在外部定义的所有变量会以字典的形式存在这里c = 100def fun1(): c = c + 2 print(c)if __name__ == '__main__': fun1()上面的代码在运行时会报错,因为c被定义在函数外部,必须使用全局变量来声明,也就是下面的代码c = 100def fun1(): global c c = c +

2021-08-09 20:35:53 48

原创 Python函数

文章目录函数基础函数各种参数类型函数基础先看没有返回值的函数:计算字符串长度函数def my_len(): str1 = "nb666hahanihao" i = 0 for s in str1: i += 1 print(i)if __name__ == '__main__': my_len()有返回值:def my_len(): str1 = "nb666hahanihao" i = 0 for s in s

2021-08-09 12:46:13 274

原创 文件操作&系统命令

文件操作对文件的操作主要有以下几种方式:r --读w -写a --追加r+ w+ a+ 都是基于字符的操作rb wb ab 基于二进制的读写每次打开一个文件时,操作系统会自动生成一个句柄,也就是一个窗口对应一个句柄。句柄是文件的本质# f就是文件的句柄f = open('./test.txt', 'r')print(f)# <_io.TextIOWrapper name='./test.txt' mode='r' encoding='UTF-8'>输出句柄所代表的文

2021-08-09 11:44:10 55

希尔密码(Hill密码)转换工具.exe

实现Hill密码的加密和解密

2021-06-21

空空如也

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

TA关注的人

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