学习笔记
文章平均质量分 94
个人学习各种语言和CTF的笔记
WustHandy
信息安全专业大四学生,CTF密码方向,AI安全
展开
-
LCG(线性同余生成器)
LCG(线性同余生成器)伪随机数生成器(pseudo random number generator,PRNG)流密码(stream cipher)LCG属于PRNG和stream cipher的一种。Principle递归公式:Sn+1≡aSn+b( mod m) S_{n+1} \equiv aS_{n} + b \left(\bmod m\right) Sn+1≡aSn+b(modm)若 gcd(a,m)=1 gcd\left(a, m\right) = 1 gcd(a,m)=1原创 2021-03-29 13:56:31 · 5480 阅读 · 0 评论 -
misc冷门总结01
miscbase58toy密码base91silenteyestegpyInvisibleSecret零宽度字符隐写汉信码格雷码文言langsaleaebase64隐写snow隐写希尔密码RouterPassViewsteghidelinux的7z命令解压F5-steganographySerpent解密原创 2020-12-07 00:27:31 · 765 阅读 · 1 评论 -
Python计算图像相似度并圈出不同处
Python计算图像相似度SSIMhash直方图SSIMhash直方图原创 2020-10-28 19:57:48 · 988 阅读 · 3 评论 -
SVM笔记01
SVM笔记原理应用np.loadtextnp.splitsklearn.model_selection.train_test_splitSupport Vector Machine 支持向量机原理1.分类超平面与最大间隔2.对偶问题与拉格朗日乘子法3.核函数4.软间隔与正则化应用from sklearn import svmimport numpy as npimport matplotlib.pyplot as pltimport matplotlibimport sklear原创 2020-10-23 22:21:19 · 340 阅读 · 0 评论 -
OpenCV笔记03
OpenCV笔记02SIFT(Scale Invariant Feature Transform)尺度不变特征变换算法原理BF(Brute-Force)暴力匹配ORB(ORiented Brief)特征检测器12SIFTFLANN(Fast Library for Approximate Nearest Neighbors)快速近似(逼近)最近邻特征匹配SIFT123SURFSIFT(Scale Invariant Feature Transform)尺度不变特征变换算法原理BF(Brute-Force原创 2020-10-23 13:28:37 · 221 阅读 · 0 评论 -
CTFweb学习笔记02
CTFweb学习笔记02PHP高级序列化和反序列化__sleep()__wakeup()漏洞步骤PDO (PHP Data Objects)连接创建数据库创建数据表插入数据PHP高级序列化和反序列化序列化:对象(数组)=> 字符串对象私有化成员会自动添加类名;如果是protected变量则会添加* 号,并且前缀添加空字节目的:1.将复杂的数组数据类型转换为字符串,方便数组存库操作2.对象在网络上传输时3.对象保存到文件中时__sleep()serialize() 函数会检查类中是否原创 2020-10-23 12:50:49 · 304 阅读 · 1 评论 -
PCA降维笔记
PCA(主成分分析)降维几个概念解释方差方差协方差协方差矩阵最大重构性去中心化过度拟合最大方差理论原理注意点步骤总结python例子numpy.mean几个概念解释方差当有多个变量,分析单个变量与总方差的方差比。方差描述波动情况协方差x,y的相关性协方差矩阵最大重构性找到一个超平面使得样本点在这个超平面的投影尽量分开。去中心化使数据满足均值为0,但对标准差没有要求。过度拟合欠拟合:如果一个算法没有很好的拟合数据,比如一个本应该用二次多项式拟合的数据用了线性去拟合,导致最后拟原创 2020-09-29 10:43:08 · 2967 阅读 · 0 评论 -
RSA几种题型的数学原理
CTF中RSA几种题型的数学原理dp泄露dp泄露已知e,n,dp,cdp = d mod (p-1)m = c^d mod nd x e mod (p-1)(q-1) = 1因为 e x dp = e x d mod (p-1)所以 e x d = k₂(p-1) + e x dp又 d x e = k₁(p-1)(q-1) + 1所以 k₁(p-1)(q-1) + 1 = k₂(p-1) + e x dp所以 (p-1)[k₁(q-1)-k₂] + 1 = dp x e设 i =原创 2020-09-29 10:26:06 · 575 阅读 · 1 评论 -
CTFweb学习笔记01
CTFweb学习笔记01MySQL增删改查增增数据库增表增数据删删数据库删表删数据改改表改数据查PHPMySQL增删改查增增数据库create database database_name character set gbk;增表create table table_name (column_name column_type);增数据insert into table_name(column1,column2...) values(value1,value2...);insert i原创 2020-09-29 10:25:44 · 424 阅读 · 0 评论 -
OpenCV笔记02
模板匹配–单目标匹配import cv2target = cv2.imread("sources/target.jpg")template = cv2.imread("sources/template.jpg")height, width = template.shape[:2]result = cv2.matchTemplate(target, template, cv2.TM_SQDIFF_NORMED) # 执行模板匹配,采用的匹配方式cv2.TM_SQDIFF_NORMEDcv2.no原创 2020-09-15 20:43:02 · 364 阅读 · 0 评论 -
pytorch-examples-mnist笔记01
pytorch-examples-mnist笔记调用的库用类实现网络的定义super(Net, self).__init__()nn.Conv2dnn.Dropout2dnn.LinearF.reluF.max_pool2dtorch.flattenF.log_softmax训练函数model.train()enumerate()调用的库import argparseimport torchimport torch.nn as nn # 专门为神经网络设置的模块化接口import torch.nn原创 2020-09-13 15:20:21 · 211 阅读 · 0 评论 -
pytorch学习笔记01
1.未初始化的矩阵x=torch.empty(5,3)x=torch.Tensor(5,3)区别:torch.empty() 创建任意数据类型的张量torch.Tensor() 只创建torch.FloatTensor类型的张量所以torch.Tensor() 是torch.empty() 的特例empty()返回一个包含未初始化数据的张量。使用参数可以指定张量的形状、输出张量、数据类型。2.随机初始化的矩阵x=torch.rand(5,3)3.全部为0,类型为long的矩阵x原创 2020-09-13 15:19:40 · 203 阅读 · 0 评论 -
OpenCV笔记01
import cv2import numpy as npimg = cv2.imread("sources/1.jpg")kernel = np.ones((5, 5), np.uint8)imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)imgBlur = cv2.GaussianBlur(imgGray, (7, 7), 0)imgCanny = cv2.Canny(img, 150, 200)imgDilation = cv2.dilate(原创 2020-09-13 15:18:43 · 72 阅读 · 0 评论 -
CTF靶机渗透笔记——SSH私钥泄露
1.IP发现,ARP侦查工具netdiscover -r 192.168.0.0/162.端口扫描,版本检测,关注开放http服务的大于1024的端口nmap -sV 192.168.x.x3.扫描此端口的目录和隐藏文件dirb http://192.168.x.x:xxxx/4.打开敏感目录如:robots.txt,再打开里面Disallow的目录发现第一个flag5.打开.ssh,发现存在私钥泄露,下载私钥和认证关键字的文件6.打开认证关键字文件在最后发现了私钥的用户名7.赋予私原创 2020-07-14 17:41:32 · 554 阅读 · 0 评论 -
《白帽子讲Web安全》学习笔记01 XSS
DOM Based XSS通过修改页面的DOM节点形成的XSS<script>function test(){ var str=document.getElementById("text").value; document.getElementById("t").innerHTML = "<a href='"+str+"' >testLink</a>";}</script><div id="t"></div&原创 2020-07-09 15:57:09 · 209 阅读 · 0 评论 -
Java自学笔记(一、3h入门篇)
Java自学笔记(一、3h入门篇)类和对象static静态初始化块封装内部类成员内部类静态内部类方法内部类字符串String 类的常用方法常用类包装类基本类型和字符串之间的转换使用 Date 和 SimpleDateFormat 类表示时间使用 format() 方法将日期转换为指定格式的文本使用 parse() 方法将文本转换为日期Calendar 类的应用类和对象static静态初始化块静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。程原创 2020-07-05 15:09:33 · 375 阅读 · 0 评论 -
自学Python的一些笔记(入门)
自学Python的一些笔记(入门)入门函数式编程闭包decorator装饰器编写无参数decorator编写带参数decorator完善decorator面向对象编程基础创建实例属性初始化实例属性类的继承多态获取对象信息定制类len数学运算入门zip()函数可以把两个 list 变成一个 list: zip([10, 20, 30], ['A', 'B', 'C'])[(10, 'A'),...原创 2020-04-26 14:22:26 · 317 阅读 · 0 评论