自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Linux用户、用户组以及文件权限管理

Linux系统是一个多用户多任务的分时操作系统,任何想要使用操作系统的人都要向管理员申请账号,然后以这个身份进入操作系统。管理员可以将用户划分为不同的组,并为这些组分配权限,以更好地管理系统资源和数据的安全性。所谓的多用户系统就是指一台计算机启动后,允许多个用户同时登录并使用计算机,最常见的例子就是很多用户通过网络远程登陆到一台运行Linux的计算机。

2024-05-17 17:10:02 691

原创 Shell编程

shell是一种应用程序,它提供了用户和内核进行操作的接口。通俗的说shell就是一种让你和操作系统能进行对话的一种应用程序。用户登陆Linux系统后,shell就会调如到内存中执行,它可以把用户输入的命令转化为计算机可以理解的命令给内核执行。

2024-05-11 19:20:40 1104

原创 一篇文章详细讲解Docker容器

1.安装需要的安装包2.设置镜像仓库3.安装docker4.启动docker5.测试hello-world。

2023-12-21 21:24:53 1237

原创 Linux-Docker的基础命令和部署code-server

1.安装需要的安装包2.设置镜像仓库3.安装docker4.启动docker5.测试hello-world安装完成;

2023-11-12 13:12:17 927

原创 Beyond Inferring Class Representatives: User-Level Privacy Leakage From Federated Learning

2023-11-08 11:45:09 186 1

原创 论文阅读-Practical Secure Aggregation for Privacy-Preserving Machine Learning(谷歌.CCS.2017)

Practical Secure Aggregation for Privacy-Preserving Machine Learning(CCSm2017谷歌)的详细阅读

2023-11-07 12:15:19 540

原创 斯坦福密码课程Online Cryptography Course(第三周)1.Message Integrity

Alice要发送message给bob,要求消息不能被篡改,alice通过一个signing algorithm输入(k,m),产生一个标签tag,消息可以是很长的(可以是几个G),tag可能只有80bits长(很短),然后bob,会收到消息(m,tag),使用验证算法V(k,m,tag)来判断是都发生了篡改;

2023-11-03 16:43:11 134

原创 斯坦福密码课程Online Cryptography Course(第二周)1.Block Ciphers

斯坦福密码课程,block ciphers的基础理论部分

2023-10-31 20:17:47 141

原创 零知识证明原理

零知识证明由四部分组成:多项式问题的转化,随机挑选验证,同态隐藏以及零知识。需要零知识证明的问题先转化为特定的NP问题,挑选随机数,设置参数,公布CRS。证明者,在求得证据的情况下,通过CRS计算出证据。验证者再无需其他知识的情况下可以进行验证。

2023-07-08 16:14:28 548

原创 密码复习——AES

将1个字中的4个字节循环左移1个字节。即将输⼊字[b0, b1, b2, b3]变换成 [b1,b2,b3,b0]。计算的方式并不是简单的矩阵相乘,是在GF(2^8)域上的乘法,可以参考另一篇文章,密码学数学基础或者ECC加密。函数T由三部分组成:字循环、字节代换、轮常量异或,轮常量异或的表如下。将前两步的结果同轮常量Rcon[j]进⾏异或,其中j表示轮数。将输入的4*4矩阵左乘一个给定的4 * 4矩阵。就是经过一个字节代换的表,进行代换,很好理解。与子密钥进行一一异或,下面是关于密钥拓展。

2023-05-24 15:44:23 204 1

原创 密码复习——分组密码DES

DES——分组密码算法整体的加密流程显著的特点。

2023-05-24 09:53:49 283

原创 图表示学习——deepwalk

类比在图上也是一样,在图上,如果两个节点之间的路径短,那么这两个节点的相似性一定很高,也就是向量之间的距离短,考虑图G(V,E),在其基础上添加顶点的类别,则形成标注图(labeled graph)GL=(V,E,X,Y),其中X∈R(|v|*d)为顶点嵌入,Y∈R(|V|×|C|),d为特征维数,Y为标签集。但是这种方法不能够表现出相似性的关系,来就有了更聪明的方法,考虑将这些词语用高维空间中的向量表示,如果两个词向量之间的距离近,那么它们对应的词就具有越高的。我 0 [1,0,0,0]

2023-05-23 21:17:18 188

原创 基于Pyg实现GCN对Cora数据集的分类任务

Cora 数据集由机器学习论文组成,是近年来图深度学习很喜欢使用的数据集。基于案例遗传算法神经网络概率方法强化学习规则学习理论论文的选择方式是,在最终语料库中,每篇论文至少引用一篇论文或被至少一篇论文引用(即至少有一条出边或至少有一条入边,也就是样本点之间存在联系,没有任何一个样本点与其他样本点完全没联系。如果将样本点看做图中的点,则这是一个连通的图,不存在孤立点)。整个语料库中有2708篇论文。

2023-05-23 21:15:48 697

原创 数据结构-堆

C++中的优先队列是 由二叉堆 实现的。默认是使用 大根堆 实现。输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。与上面的写的思路一样实现对应的代码即可。是 最大值的优先队列。

2023-05-23 21:15:14 84

原创 动态规划-背包问题

(4)例如,一维状态第i轮对体积为 33 的物品进行决策,则f[7]由f[4]更新而来,这里的f[4]正确应该是f[i - 1][4],但从小到大枚举j这里的f[4]在第i轮计算却变成了f[i][4]。当逆序枚举背包容量j时,我们求f[7]同样由f[4]更新,但由于是逆序,这里的f[4]还没有在第i轮计算,所以此时实际计算的f[4]仍然是f[i - 1][4]。在二维情况下,状态f[i][j]是由上一轮i - 1的状态得来的,f[i][j]与f[i - 1][j]是独立的。相当于01背包问题了就。

2023-05-23 21:14:24 89

原创 从0开始实现线性回归模型

梯度下降最简单的用法是计算损失函数(数据集中所有样本的损失均值)关于模型参数的导数(在这里也可以称为梯度),但实际中的执行可能会非常慢:因为在每一次更新参数之前,我们必须遍历整个数据集。给定训练数据特征X和对应的已知标签y, 线性回归的目标是找到一组权重向量W和偏置b,当给定从的同分布中取样的新样本特征时, 这组权重向量和偏置能够使得新样本预测标签的误差尽可能小。如上图所示,估计值和观测值之间较大的误差将会导致更大的损失,为了度量模型在整个数据集上的质量,需要计算训练集n个严格不能的损失均值。

2023-05-23 21:12:42 134

原创 密码复习——消息认证

将通信双方共享的密钥K和消息m作为输入,生成一个关于K和m的函数值MAC,将其作为认证标记(Tag)。发送时,将消息和认证码同时发送给接收方,若接收方用消息和共享密钥生成相同的消息认证码,则认证通过。1、接收方相信发送方发来的消息未被篡改2、接收方相信发方不是冒充的上述过程中,消息本身在发送的过程中是明文的形式发送的,所以只提供了认证性但是没有提供保密性。为了提供保密性可以在MAC函数之后进行一次加密。Hash函数又称为散列函数或杂凑函数,是一种能将不定长的输入映射成定长的特殊函数,记为h=H(M)

2023-05-23 21:12:23 789

原创 使用数字证书登陆阿里云Linux

我们在购买并配置好阿里云linux服务器后,怎么登录云服务器。阿里云控制台提供了在线登录服务器的几种方式,但是个人感觉在网页中登录服务器不是很好的选择。以下看下我们从window系统中登录服务器的一些方法和配置。

2023-05-23 21:11:30 300

原创 linux.防火墙

Linux的iptables其实并不是真正的防火墙,可以理解他为一个客户端代理,用户通过这个代理,将用户的安全设定执行到对应的框架中,这个安全的框架才是真正的防火墙,这个框架叫做netfilter,位于内核的空间中。除了上述的条件可以用于匹配,还有很多其他的条件可以用于匹配,这些条件泛称为扩展条件,这些扩展条件其实也是netfilter中的一部分,只是以模块的形式存在,如果想要使用这些条件,则需要依赖对应的扩展模块。硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。

2023-05-23 21:11:16 405

原创 二分搜索与二分答案

在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。接下来 N 行,每行一个整数,第 i 行的整数 D_i( 0 < D_i < L), 表示第 i 块岩石与起点的距离。第一行包含三个整数 L,N,M,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。块岩石(不能移走起点和终点的岩石)。

2023-05-23 21:10:42 71

原创 CTF——PHP语言弱类型详解

一、 弱类型第一次打CTF比赛,关于php语言弱类型这块了解的还不够,所以写一篇笔记学习一下。

2022-05-24 16:12:14 2895 1

原创 RCE无参数构造

一、RCE无参数构造无参rce,就是说在无法传入参数的情况下,仅仅依靠传入没有参数的函数套娃就可以达到命令执行的效果,这在ctf中也算是一个比较常见的考点,接下来就来详细总结总结它的利用姿势。核心的代码if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { eval($_GET['code']);}也就是说只能传入函数(),但是()里面能有参数,要是有参数的话最终的返回值不是;就不能进行匹配。例如传入A

2022-05-24 11:36:08 1364

原创 SQL注入——堆叠注入

一、堆叠注入的原理1、介绍在 SQL 中,分号(;)是用来表示一条 sql 语句的结束。试想一下我们在 ; 结束一个 sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而 unioninjection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于 union或者 union all 执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如下面这个例子:用户输入:1; DELETE FROM products

2022-05-19 18:01:19 3218 1

原创 SQL盲注及python脚本编写

1、什么是盲注盲注就是在 sql 注入过程中,sql 语句执行的选择后,选择的数据不能回显 到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。从 background-1 中,我们可以知道盲注分为三类基于布尔 SQL 盲注基于时间的 SQL 盲注基于报错的 SQL 盲注0x01.基于布尔 SQL 盲注----------构造逻辑判断left() :left(a,b)从左侧截取 a 的前 b 位accii():Ascii()将某个字符转换 为 ascii

2022-05-18 21:25:23 3522 4

原创 漏洞原理——ssrf

一、什么是SSRF1、简单了解SSRF (Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统,也正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统。也就是说可以利用一个网络请求的服务,当作跳板进行攻击。攻击者利用了可访问Web服务器(A)的特定功能 构造恶意payload;攻击者在访问A时,利用A的特定功能构造特殊payload,由A发起对内部

2022-04-04 15:11:29 24439 3

原创 文件包含漏洞

一、文件包含漏洞原理PHP语言提供的文件包含功能太强大,太灵活,所以包含漏洞常常出现在PHP中,但不只是PHP中有包含漏洞,其他语言也有包含漏洞,如java等,本篇主要以PHP为例讲解原理及其利用技巧:PHP提供4个文件包含的函数1、include():找不到文件时继续执行,只会警告2、include_once():与include()类似,只是如果文件中的代码已被包含,则不会再次包含3、require():找不到文件时会爆出致命的错误;4、require_once():与上述的类似;1、本地

2022-03-23 19:39:27 5047

原创 算法竞赛——递推详解

二、递推1、简单斐波那契数列以下数列 0 1 1 2 3 5 8 13 21 … 被称为斐波纳契数列。这个数列从第 3 项开始,每一项都等于前两项之和。输入一个整数 N,请你输出这个序列的前 N 项。输入格式一个整数 N。输出格式在一行中输出斐波那契数列的前 N 项,数字之间用空格隔开。数据范围0<N<46输入样例:5输出样例:0 1 1 2 3题解:当i=1时,a[1]=0,当i=2时,a[2]=1,然后就可以进行递推 a[i]=a[i-1]+a[i-1]#i

2022-03-09 20:01:18 281 1

原创 算法竞赛——递归详解

一、递归1.递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3题解:#include<iostream>#include&lt

2022-03-09 19:27:01 270

原创 算法竞赛——动态规划详解

1.简单线性dp问题题目1:01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,w

2022-02-28 20:44:53 462

原创 快速幂的c++实现

题目:给定 n 组 ai,bi,pi,对于每组数据,求出 abiimodpi 的值。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int main(){ int n; cin>>n; while(n--){ long long res=1; long

2022-02-28 16:14:45 461

原创 HTTP协议的web攻击和https简单介绍

Web 的攻击技术1、针对 Web 的攻击技术简单的 HTTP 协议本身并不存在安全性问题,因此协议本身几乎不会 成为攻击的对象。应用 HTTP 协议的服务器和客户端,以及运行在服 务器上的 Web 应用等资源才是攻击目标。1、 HTTP 不具备必要的安全功能几乎现今所有的 Web 网站都会使用会话 (session)管理、加密处理等安全性方面的功能,而 HTTP 协议内并 不具备这些功能。因此,开发者需要自行设计并开发认证及会话管理功能来满足 Web 应用的安全。而自行设计就意味着会出现各种形形

2022-01-29 21:08:46 3473

原创 简单c++STL容器操作

stack.cpp#include<bits/stdc++.h>using namespace std;int main(){ stack<int>s;//定义栈 s.push(10); s.push(5);//压入栈 cout<<s.top()<<endl;//返回栈顶元素,但不会删除 // s.pop();//删除栈顶元素,但不会返回,所以需要先取出来,然后再pop(); cout<< s..

2021-11-17 17:20:54 518

原创 二分查找的简单实现

二分查找的实现二分查找可以由递归和递推实现由递推实现:int erfen(int a[],int traget,int n){ int left=0,right=n-1; while(left<=right){ //带=号是left+1=right,不带是left=right int mid=(left+right)/2; //而是用 mid=low+((high-low)/2),原因是 //使用(low+

2021-11-13 18:47:42 693

原创 用栈进行走迷宫问题 (2021-11-06)

#include<iostream>#include<malloc.h>#define maxsize 20 #define M 8#define N 8using namespace std;int mg[M+2][N+2]={{1,1,1,1,1,1,1,1,1,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,0,0,1,1,0,0,1},{1,0,1,1,1,0,0,0,0,1},{1,0,0,

2021-11-08 20:38:04 328

原创 CTF RCE漏洞

RCE知识点:rce分为远程执行ping,和远程代码执行evel。漏洞出现原因:未在输入口做输入处理。涉及到ping命令:ping是windows,linux系统下的一个命令,ping也属于一个通信协议,是TCP/IP协议的一部分,利用ping命令可以检查网络是否连通,可以很好的帮助我们分析和判定网络故障。PHP 执行系统外部命令 system() exec() passthru()PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时

2021-09-17 10:17:03 4382

原创 文件上传漏洞详解(CTF篇)

需要了解的前置知识:1.什么是文件上传:文件上传就是通过流的方式将文件写到服务器上文件上传必须以POST提交表单表单中需要 <input type="file" name="upload">2.一句话木马<?php eval($_POST['a']) ?>其中eval就是执行命令的函数,**$_POST[‘a’]**就是接收的数据。eval函数把接收的数据当作PHP代码来执行。这样我们就能够让插入了一句话木马的网站执行我们传递过去的任意PHP语句。这便是一句话木马

2021-09-16 20:38:01 17062

原创 DNS注入

1.我们首先要知道什么是DNS:域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。互联网中的地址是数字的IP地

2021-09-11 21:05:30 1342

原创 SQL二次注入

二次注入的原理:主要分两步,第一步就是进行数据库插入数据的时候,仅仅对其中的特俗字符进行了转义,但是数据库保存的数据仍然具有恶意内容。第二步就是在下一次进行数据的查询过程中,直接从数据库中取得恶意数据(开发者认为数据是可信的),这样就造成了SQL的二次注入。实例:sqlilabs-less24二次注入会出现在注册的页面:点击进入注册界面:此时数据库中的users为:我们们向数据库中插入恶意数据: username:wenhao’# password: 123456此时的数..

2021-09-10 22:11:10 423 1

空空如也

空空如也

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

TA关注的人

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