信息安全基础知识笔记
文章平均质量分 75
包括密码安全、web安全、二进制安全,以及其他信息安全专业需要了解的基础知识
无名函数
整装洒扫,迎接新的一天
展开
-
《商用密码应用于安全性评估》第一章密码基础知识
密码是指使用特定变换对信息等进行加密保护安全认证的产品、技术和服务。在我国,密码分为核心密码普通密码和商用密码,其中商用密码用于保护不属于国家秘密的信息。密码技术包括密码编码、实现、协议、安全防护、分析破译,以及密钥产生、分发、传递、使用、销毁等技术。典型的密码技术包括密码算法密钥管理和密码协议。密码算法是实现密码对信息进行“明”“密”变换、产生认证“标签”的一种特定规则。加密算法实现从明文到密文的变换;解密算法实现从密文到明文的变换;数字签名算法实现类似于手写签名的功能;杂凑算法。原创 2024-07-26 14:38:42 · 1010 阅读 · 0 评论 -
有关白盒加密
白盒黑盒灰盒白盒密码,白盒技术,白盒加密,白盒算法白盒思想,白盒构造,白盒发展原创 2023-03-02 21:50:13 · 1666 阅读 · 0 评论 -
web安全基础--rce漏洞
课程:https://www.bilibili.com/video/BV1VA411u7Tg?p=11rce漏洞RCE全程Remote Code Execution远程代码执行什么会导致rce服务器上有木马脆弱服务未授权通过数据库写木马文件上传/文件包含危险函数(危险功能)命令执行反序列化危险函数evalassertsystemshell_execexecfile_put_contents命令执行像操作 Windows 一样操作 Linux基本操作:ls cat cd原创 2023-03-02 15:40:44 · 622 阅读 · 0 评论 -
web安全基础--SSRF漏洞
SSRF定义与成因SSRF(Server-Side Request Forgery:服务器请求伪造)是一种由攻击者构造形成,由服务器段发起请求的一个安全漏洞。一般情况下,SSRF攻击目标是从外网无法访问的内部系统。(正是因为它是由服务器端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF漏洞形成的原因大都是由于服务器端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等具体代码<?php if(i原创 2023-03-02 15:40:11 · 349 阅读 · 0 评论 -
信息收集工具使用详解
信息收集实验报告原创 2023-03-02 15:34:43 · 898 阅读 · 0 评论 -
智能合约学习(持续更新中)
什么是智能合约智能合约的特点在线学习资源整合智能合约学习笔记智能合约(Smart Contract)是上世纪90年代由密码学家尼克·萨博提出的理念,由于当时缺乏可信的执行环境,智能合约没有被应用和发展,直到以太坊的出现,才让智能合约得以“复活”。智能合约是以太坊应用程序的基石。 它们是存储在区块链上的计算机程序,让我们能够将传统合约转换成对应的数字化合约。原创 2022-10-09 10:37:01 · 1710 阅读 · 0 评论 -
威尔逊定理
用威尔逊解rsa题目详细过程,另附两道例题原创 2022-09-16 22:44:15 · 2438 阅读 · 5 评论 -
FTP服务器搭建并用wireshark抓包
题目在windows上搭建一个FTP应用,从客户端上传两个文件,并用wireshark抓包分析控制连接和数据连接的过程。FTPFTP— —协议中的活化石(从1971)文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传原创 2022-05-22 12:11:15 · 14332 阅读 · 1 评论 -
web安全基础--文件上传笔记
课程: https://www.bilibili.com/video/BV1VA411u7Tg?p=10文件上传一些web应用程序允许上次图片、视频、头像和许多其他类型的文件到服务器中。文件上传漏洞就是利用服务器代码对文件上传路径变量过滤不严格将可执行的文件上传到一个服务器中,再通过URL去访问以执行恶意代码举例危险代码一句话木马<?php eval($_POST[0]);?><?php phpinfo();?>jsp木马<%Runtime.getRuntim原创 2022-05-05 18:11:01 · 1099 阅读 · 0 评论 -
web安全基础--一句话木马笔记
课程:https://www.bilibili.com/video/BV1VA411u7Tg?p=7一句话木马可执行脚本文件可以是很多种语言php、jsp等等需要满足三个条件:木马能成功上传到服务器、我们知道木马上传到服务器的路径、上传的木马能被解析执行。例如<?php @eval($_POST['cmd']);?>@是不报错的意思以post方法获取cmd变量eval()将括号里的按php代码执行例如,传入cmd=phpinfo();,那么最后执行的就是<?php @原创 2022-05-04 20:28:56 · 1404 阅读 · 0 评论 -
web安全基础--SQL注入笔记
课程学习:https://www.bilibili.com/video/BV1VA411u7Tg?p=9数据库基础操作登录:C:\WINDOWS\system32>mysql -uroot -p查看库名show databases创建数据库create database 库名删除数据库drop database 库名使用(切换)数据库use 库名建立表create table 表名('id' 数据类型,...);查看表的结构desc 表名;插入Insert into 表名 valu原创 2022-05-03 16:40:01 · 1258 阅读 · 0 评论 -
离散对数问题笔记
离散对数问题(深入浅出密码学笔记)定义基于Zp∗\mathbb{Z}_p^*Zp∗的DLPDLPDLP:给定一个阶为p-1的有限循环群Zp∗\mathbb{Z}_p^*Zp∗,一个本元原α∈Zp∗\alpha \in \mathbb{Z}_p^*α∈Zp∗和另一个元素β∈Zp∗\beta \in \mathbb{Z}_p^*β∈Zp∗。DLP是确定满足一下条件的整数xxx(其中1≤x≤p−11 \leq x \leq p-11≤x≤p−1)的问题:αx≡βmod p\alpha^x \e原创 2022-04-17 11:18:58 · 760 阅读 · 0 评论 -
SM2算法
简述SM2是非对称加密算法它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。原创 2022-03-23 21:31:56 · 20282 阅读 · 0 评论 -
ECDSA数字签名
ECDSA算法(深入浅出密码学笔记)ECDSA标准中的步骤与DSA方案的步骤在概念上紧密相连,但ECDSA中的离散对数问题是在椭圆曲线群中构建起来的。因此,实际计算一个ECDSA签名所执行的算术运算与DSA中的完全不同。ECDSA标准是针对素数域Zp\mathbb{Z}_pZp和有限域GF(2m)GF(2^m)GF(2m)上的椭圆曲线定义的密钥生成使用椭圆曲线EEE,其中:模数为ppp;系数为aaa和bbb;生成素数阶qqq的循环群的点A选择一个随机整数ddd,且0<d<q0<原创 2022-03-14 21:02:43 · 2847 阅读 · 0 评论 -
《格理论与密码学》笔记一
格的基本定义根据向量空间的概念,格的定义如下:定义3.1 设v1,⋯ ,vn∈Rmv_1,\cdots,v_n \in \mathbb{R}^mv1,⋯,vn∈Rm为一组线性无关的向量。由v1,⋯ ,vnv_1,\cdots,v_nv1,⋯,vn生成的格LLL指的是向量v1,⋯ ,vnv_1,\cdots,v_nv1,⋯,vn的线性组合构成的向量集合,且其所使用的系数均在Z\mathbb{Z}Z中,即L={a1v1+a2v2+⋯+anvn:a1,a2,⋯ ,an∈Z}L= \{a_1v原创 2022-03-09 21:09:37 · 818 阅读 · 0 评论 -
base64加密原理及python、C语言代码实现
base64算法base64加密原理原创 2022-01-05 21:06:52 · 2273 阅读 · 0 评论 -
格密码学基础
格密码学(Lattice-based Crypto是现在比较火的一个密码学分支,而且本身拥有抵抗量子计算的特性。在即将到来的NIST后量子时代加密算法标准化讨论中,基于格的加密体系就是其中的一个选择之一。其实想要理解格密码学非常简单,只需要一些最基本的线性代数知识。格密码学就是基于格(Lattice)和格上的一些问题而定义的一套密码学体系。关于基础数学知识及入门可参考:https://zhuanlan.zhihu.com/p/150920501格密码线性独立空间上有集合 v1,⋯ ,vn∈Rnv_1原创 2021-11-17 22:03:29 · 3205 阅读 · 0 评论 -
背包体制问题
概述打开百度百科搜索背包问题的话可以搜到如下解释背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?它是在1978年由Merkle和Hellman提出的。原创 2021-11-14 16:01:41 · 1229 阅读 · 0 评论 -
RSA已知高位攻击
背景:rsa解密,已知e,n,c(其中n太大,分解不了),和p的高位或m的高位或d的高位工具:sage(没下载的话,有个在线网站可用:https://sagecell.sagemath.org/)基础知识:PR.<x> = PolynomialRing(Zmod(n))用于生成一个以x为符号的一元多项式环f = x + p4定义求解的函数roots = f.small_roots(X=2^kbits, beta=0.4)多项式小值根求解及因子分解,其中X表示求解根的上原创 2021-10-09 18:05:52 · 11669 阅读 · 5 评论 -
虚拟机安装中文输入法
VMware版本16.1.0.683虚拟机型号Linus Debian 9.x 64 位先是根据搜到的方法试了,没成功换一种方法给root账户设给密码并且转到root权限然后再次尝试依旧没成功再换依旧错误根据提示先下载了update再重新下载漫长的等待后终于显示完成了最后重启终于可以输入中文了...原创 2021-09-23 22:58:46 · 1313 阅读 · 0 评论 -
其他代码块及笔记
大小端存储问题对于一个由2个字节组成的16位整数,在内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端(little-endian)字节序;另一种方法是将高序字节存储在起始地址,这称为大端(big-endian)字节序。假如现有一32位int型数0x12345678,那么其MSB(Most Significant Byte,最高有效字节)为0x12,其LSB (Least Significant Byte,最低有效字节)为0x78,在CPU内存中有两种存放方式:(假设从地址0x原创 2021-09-11 17:57:44 · 493 阅读 · 0 评论 -
crypto-RSA-常用解密代码块
已知n、e、c,基础解先分解n,在线分解:http://www.factordb.com/index.phpimport gmpy2from Crypto.Util.number import long_to_bytes e = 547223n = 17083941230213489700426636484487738282426471494607098847295335339638177583685457921198569105417734668692072727759139358207667原创 2021-09-09 17:45:30 · 4938 阅读 · 0 评论 -
异或加密
异或是对两个运算元的一种逻辑分析类型,符号为XOR或EOR。与一般的逻辑或OR不同,当两两数值相同为否,而数值不同时为真。异或密码(simple XOR cipher)是密码学中一种简单的加密算法,是指对信息进行异或操作来达到加密和解密目的。按这种逻辑,文本串行的每个字符可以通过与给定的密钥进行按位异或运算来加密。如果要解密,只需要将加密后的结果与密钥再次进行按位异或运算即可。ἇ̀Ј唒ဃ塔屋䩘卖剄䐃堂ن䝔嘅均ቄ䩝ᬔasadsasdasdasdasdasdasdasdasdasdqwesqf或运算(XO原创 2021-05-30 00:20:55 · 989 阅读 · 0 评论 -
基于移位寄存器的序列密码
深入浅出密码学2.3线性反馈移位寄存器(LFSR)一个LFSR由若干时钟储存元件(触发器)和一个反馈路径组成。储存元件的数目给出了LFSR的度。反馈网络计算移位寄存器中某些触发器的XOR和,并将其作为上一个触发器的输入。简单LFSR考虑一个度m=3,有三个触发器FF2、FF1、FF0。且反馈路径如图:内部状态由si表示,在每个时钟嘀嗒内,内部状态位会向右移动一位。最右边的状态位为当前输出位。最左边的状态位则是在反馈路径中计算的,它是前面时钟周期中一些触发器值的XOR和。...原创 2021-05-23 22:49:52 · 627 阅读 · 0 评论 -
Base64
题目一眼就解密下面的字符串解密后便能获得flag:ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=注意:得到的 flag 请包上 flag{} 提交基础知识Base64是一种基于64个可打印字符来表示二进制数据的方法。是一种8字节编码方式。注意:标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符原创 2021-05-19 21:24:34 · 428 阅读 · 0 评论 -
MD5
例e00cf25ad42683b3df678c61f42c6bda基础知识MD5信息摘要算法(MD5 Message-Digest Algorithm),是一种被广泛使用的密码散列函数(哈希函数的一种),可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特1991年提出。为MD4的加强版。MD5广泛应用于Internet安全协议中,它主要用来计算文件的校验和存储密码的哈希值。然而,MD5存在的一些缺陷很早被暴露了出来。原创 2021-05-19 19:57:01 · 133 阅读 · 0 评论 -
实际序列密码
关于实际序列密码处理实际序列密码的方法就是,用伪随机数生成器替换真随机密钥序列位,其中密钥k作为种子。实际序列密码的原理为:而实际序列密码并不是无条件安全的,实际上所以实际加密算法(序列密码、分组密码、公钥算法)都不是无条件安全的。我们能期待的最好结果就是计算安全。计算安全定义:如果为破解一个密码体制,最好的已知算法需要至少t个操作,则说明次密码体制是计算安全的。这个定义看起来合理,但仍然存在很多问题,首先,人们通常不知道对于给定的攻击而言,最好的算法是哪一个。例如RSA公钥,可以通过因式分原创 2021-05-14 20:17:06 · 165 阅读 · 0 评论 -
随机数与一次一密
随机数序列密码的安全性完全取决于密钥序列,所以随机数非常重要。随机数生成器1. 真随机数生成器(TRNG)真随机数的突出特点是它的输出是不可复制的。真随机数生成器都是基于物理过程,例如抛硬币、掷骰子等。密码学中通常使用TRNG用于生成回话密钥。2. (通用的)伪随机数生成器(PRNG)伪随机数生成器从一个初始种子值开始通过各种计算得到序列。通常使用递归得到:s0=seedsi+1=f(si),i=0,1,…此表达式的一个推广形式就是si+1=f(si,si-1,…,si-t)所示的生成器原创 2021-05-13 23:28:52 · 932 阅读 · 0 评论 -
序列密码和分组密码
对称密码学分为序列密码和分组密码。序列密码序列密码单独加密每一位,它通过将密钥序列中的每一位与每个明文位相加实现。序列密码又分为同步序列密码与异步序列密码。同步序列密码的密码序列仅仅取决于密钥,而异步序列密码的密码序列则取决于密钥和密文。如果图中虚线出现,则为异步序列密码。而绝大多数实际使用的都是同步序列密码。分组密码分组密每次使用相同的密钥加密整个明文位分组。这意味着对给定分组内任何明文位的加密都依赖于与它同在一个分组内的其他所以的明文位。绝大多数分组密码的长度要么是128位(16字原创 2021-05-11 19:38:42 · 4711 阅读 · 0 评论 -
移位密码与防射密码
移位密码移位密码也叫凯撒密码,是一种古典密码。移位密码是替换密码的一种特例。移位密码就是将明文中每个字母在字母表中移动固定长度的位置。例如k=3,则明文中a会变成d,b会变成e。而字母表的最后3位则对应开头的abc。可见明文中的字母和密文中的字母都在同一个环Z26中。由于大于26的移位是没有意义的,所以密钥也在这个环中。则可以用模运算来描述移位密码。移位密码的定义假设k,x,y∈Z26,则:加密:ek(x)≡x+k mod 26。解密:dk(y)≡y-k mod 26。移位密码的原创 2021-05-10 20:45:45 · 1921 阅读 · 1 评论 -
模运算与整数环
模运算几乎所有的加密算法都基于有限个元素的运算,而我们习惯的绝大多数数集都是无穷的。模运算是在有限个整数集中执行算术运算的简单方法。模运算的定义假设a, r, m∈Z(其中Z是所有整数的集合),并且m>0。如果m除a-r, 可记作:a≡r mod m其中m称为模数,r称为余数。余数的计算...原创 2021-05-10 00:33:13 · 3420 阅读 · 0 评论 -
密码分析
破译密码体制的一般思路经典密码分析古典密码分析可以理解为从密文y中得到明文x,或者是密钥k。密码分析可以分为两类:一类是发现加密方法内部结构的分析攻击,一类是将加密算法看作是黑盒,试图测试所有可能密钥进行破解蛮力攻击。实施攻击可以通过旁道分析获得密钥,例如:测试处理私钥的处理器的功耗、使用信号处理技术从功耗轨迹中恢复出密钥、电磁辐射或算法运行等等。但是,实施攻击最大多数情况是针对攻击者可以物理访问的密码体制,所以绝大多数针对远程系统的基于Internet的攻击通常不会考虑这种方法。社会工程攻击原创 2021-05-09 20:45:11 · 1018 阅读 · 1 评论 -
对称密码与攻击
对称密码学基础知识对称密码方案也称对称密钥,秘密密钥和单密钥。一个很常见的例子:Alice传信息给Bob,被Oscar截取。但是Alice发送的信息x(明文),已通过k(密钥)加密为y(密文),所以Oscar截取到的只是杂乱无章的y。所以在一个可靠的密码体制中唯一需要保密的就是密钥。简单对称密码:替换密码将字母表中的一个字符用另一个字符替换。假设我们选择的替换表完全是随机的,攻击者不可能猜测出对应的输出。值得注意的是,替换表是这种密码体制的关键。蛮力攻击蛮力攻击:攻击者Oscar通过信道窃原创 2021-05-08 23:53:32 · 960 阅读 · 0 评论 -
HTTP协议有关知识
HTTP协议HTTP指超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法。HTTP协议和TCP/IP协议族内的其他众多协议相同,用于客户端和服务器之间的通信。目前主流的版本是1997年的HTTP1.1版本。HTTP协议结构:客户端主动向服务端发起请求服务端在接收到请求后发动响应HTTP协议规定:先从客户端发出请求,服务端在没有接受到请求前不会发出响应。HTTP报文:用于HTTP协议交原创 2021-05-04 23:54:26 · 259 阅读 · 0 评论 -
RSA加密
rsa加密基础知识:rsa是一种非对称加密,(有公钥私钥两把不同密钥)。单向函数:单方向计算容易,反向难。例:x→f(x)容易,而f(x)→x难。同余:a ≡ b (mod m)意思是a-b = mk。推论:ab mod k = (a mod k) * (b mod k) mod k模逆元:也称模倒数。a^-1 ≡ 1 (mod n)相当于:ab = 1 (mod n)。python中有包可以直接用来求模逆元。模运算:加法:3+4≡0 (mod 7) , 5+5 ≡原创 2021-05-01 16:36:02 · 3511 阅读 · 1 评论 -
古典密码学知识
古典密码学古典密码主要关心信息的保密书写和传递以及与其相对应的破解方法。加密方式有:凯撒加密、关键词加密、防射加密、维吉尼亚加密等。其中凯撒加密、关键词加密、仿射加密都为单表加密。凯撒加密属于代替加密,明文中的所有字母都在字母表上向前或者向后发生固定数目的偏移从而形成密文。关键词加密也是一种单表替代加密,比凯撒加密复杂一点,加密时需要一个关键词,可以是随便一个去重后的单词,讲这个去重后的关键词写在字母表下面仿射加密单标加密分析:维吉尼亚加密...原创 2021-04-30 23:57:04 · 1694 阅读 · 1 评论 -
密码学相关知识点
密码学知识点密码技术的功能分为两种,一种是加密、解密,一种是认证。根据密码体制所使用的密钥,可以将其分为两类:单密钥体制、双密钥体制。单密钥体制又称对称密码体制,加密和解密用同一个密钥;双密钥体制又叫非对称密码体制、公钥密码体制,它有公钥、私钥两把密钥。密码分析学是要在不知密钥的情况下恢复出明文。攻击方法有:穷举攻击、统计分析攻击、数学求解分析。攻击分为:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击。对称密码DES算法SM4算法公钥密码RSA算法SM2算法...原创 2021-04-29 23:51:09 · 1379 阅读 · 0 评论 -
Kali-Linux虚拟机安装提示
**Linux虚拟机安装**ctf学习第一天:)今日任务1. 安装VMware2. 安装kali20201.VMware下载和安装VMware 官方网站:http://www.vmware.com查找自己安装版本的密钥(VMware Workstation 16 Pro for Windows(64 位)的许可证密钥:根据安装包提示完成VMware安装。2.安装kali镜像kali镜像下载地址:kali:https://www.kali.org/downloads/记下自己下载好原创 2021-04-15 23:58:40 · 575 阅读 · 0 评论
分享