替换密码
单表代换凯撒密码概念是一种替换式加密,而这种替换是固定的
破解方法(1)利用英语字母的频率
字母
字母频率
单词频率
e
11.42%
64.52%
a
8.56%
54.08%
i
7.94%
50.39%
r
7.51%
50.24%
t
7.46%
48.05%
o
7.12%
44.44%
n
6.41%
42.77%
s
5.55%
36.91%
l
5.52%
37.03%
c
4.74%
32.44%
u
3.66%
26.42%
p
3.27%
23.05%
m
3.22%
22.82%
d
3.13%
22.52%
h
2.76%
20.04%
g
2.30%
16.47%
b
2.12%
15.70%
y
2.00%
15.15%
f
1.47%
10.22%
v
1.07%
8.24%
w
0.94%
7.15%
k
0.84%
6.37%
x
0.35%
2.72%
z
0.24%
1.66%
q
0.23%
1.85%
j
0.15%
1.17%
...
现代密码学
对称加密与非对称加密一、对称加密1.概念在密码学中,对称加密是一种使用相同密钥进行加密和解密的加密方法。
注意:
密钥管理:对称加密使用相同的密钥进行加密和解密,密钥的安全性至关重要。如果密钥被泄露,所有使用该密钥加密的数据都将面临风险。
速度:对称加密算法通常比非对称加密算法快,适合加密大量数据。
安全性:安全性依赖于密钥长度和算法本身的强度。现代算法(如 AES)在合理的密钥长度下被认为是非常安全的。
2.分类
流密码特点
逐位加密:流密码将明文数据逐位或逐字节与密钥流进行异或操作。每个明文位(或字节)都与密钥流中的相应位(或字节)进行结合,从而生成密文。
密钥流生成:密钥流通常是通过伪随机数生成器(PRNG)或其他算法从密钥派生而来。
适用于实时数据:由于其逐位加密的特性,流密码特别适合实时数据流(如音频或视频流)的加密。
优势
速度快:流密码通常比块密码(如 AES)更快,适合对性能要求高的应用。
内存占用低:流密码可以在处理数据时只需存储当前的密钥流,而不需要存储整个数据块。
灵活性:可以对任意长度的数据进行加密,适合动态长度数据的场景。
常用的流密码算法
RC4:一种 ...
wireshark
wireshark[toc]
简介是目前世界上最受欢迎的协议分析软件,可将捕获的各种各样的二进制数据翻译为人们易读和理解的文字和图标等形式,极大方便了对网络活动的检测和教学实验。
技巧(1)确定wireshark的物理位置。
如果没有一个准确的位置,启动wreshark后会花费很长时间捕获无关数据
(2)选择捕获地址。
一般都是Internet网络接口,这样才能捕获与网络相关的数据
(3)使用捕获过滤器。
可以避免产生过大捕获信息。
(4)使用显示过滤器
使过滤的数据包更细致。
(5)使用着色规则
(6)构建图表
(7)重组数据
模式普通模式只接受发给本机的包并传递给上层程序,其他包一律丢弃。
混杂模式接受所有经过网卡的数据包,包括不是发送给本机的包,不验证Mac地址。
界面1.过滤器(1)捕获过滤器是wireshark的第一层过滤器,确定捕获哪些包、舍弃哪些包
规则:1协议 方向 主机/端口
(1)protocol可能为http、https、ftp、udp、tcp、ipv4、ipv6、arp、icmp等协议,如果没说明,则默认为支持所有协议
(2)dirtection可能的值为src ...
https协议
https安全协议的原理机制一、原理
1.密钥组件的协商阶段
2.进一步进行密钥交换,建立安全通讯
3.再一次建立,重新协商
二、过程123456sequenceDiagram client->>Server:SYN Server->>client:SYN/ACK client->>Server:ACK client->>Server:CLIENT HELLO
主动搜索
[toc]
一、主动搜集的原理1.特点
直接与目标系统交互通信。
无法避免留下访问痕迹。
使用受控的第三方电脑进行探测,使用代理或已经被控制的机器,做好被封杀的准备。
扫描发送不同的探测,根据返回结果判断目标状态。
2.过程
识别存活主机,发现潜在的被攻击目标
输出一个IP地址列表,比如一个IP地址段IIP地址范围。
使用二、三、四层进行探测发现
二、OSI参考模型与TCP/IP五层模型
应用层:为应用程序或用户请求提供各种请求服务。OSI参考模型最高层,也是最靠近用户的一层,为计算机用户、各种应用程序以及网络提供接口,也为用户直接提供各种网络服务。
表示层:数据编码、格式转换、数据加密。提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
会话层:创建、管理和维护会话。接收来自传输层的数据,负责建立、管理和终止表示层实体之间的通信会话,支持它们之间的数据交换。该层的通信由不同设备中的应用 ...
被动搜索
[toc]
搜集目标
IP地址段
域名信息
邮件地址
文档图片数据
公司地址
联系电话、传真密码
人员信息、职务
目标系统使用的技术架构
公开的商业信息
搜索用途
信息描述目标
发现目标
物理缺口
被动搜索一、利用搜索引擎收集信息1.利用谷歌引擎搜索可以通过特定语法,查询内容丰富的信息,或查到远程服务器的一些敏感信息,造成信息泄露
常用语法:(1)intitle:关键字:
语法含义:搜索网页标题中包含关键字的网页*
若查询一个以上关键字,用”allintitle”代替”intitle”
(2)inurl:关键字:
语法含义:搜索URL中包含关键字的网页
若查询一个以上关键字,用”allinurl”代替”inurl”
(3)site:关键字:
语法含义:在指定的站点搜索
如:联系方式 site:souhu.com
(4)filetype:关键字:
语法含义:搜索指定类型的文件,如doc、pdf
(5)intext:关键字:
语法含义:搜索网页网页正文中出现指定关键字的页面
(6)cache:关键字:
语法含义:指定在搜索引擎缓存中搜索
(7)link:关键字:
语法含 ...
sql注入
[toc]
mysql相关知识在mysql5版本之后,mysql默认在数据库中存放一个叫information_schema里面,这个库有很多表,重点是columns、tables、schemata表记录着库的信息
web SQL 注入漏洞原理SQL注入产生原理
动态交互网站,实现交互利用用户输入拼接到SQL执行,输入不同导致返回结果不同。用户输入内容没有经过完美处理,而且构造SQL语句,直接将构造的SQL语句带入SQL语句中执行,导致SQL注入漏洞
条件:
参数用户可控:从前端传到后端的参数内容是用户可以控制的参数带入数据库查询:传入的参数拼接到SQL语句,且传入数据库查询。
1SQL语句拼接:select * from admin where username = '用户提交' and password = '用户提交';
使用万能密码(1’ or ‘1’=’1)
1select * from admin where username = '用户提交' and password = '1' or ...
sql手工注入
手工注入常规操作
判断是否存在注入,注入是字符型还是数字型
猜解SQL查询语句中的字段数
确定显示的字段顺序
获取当前数据库
获取数据库中的表
获取表中的字段名
查询到账户的数据
数字型注入和联合注入123456<?php $conn = mysqli_connect('127.0.0.1','root','root','test'); $res = mysqli_query($conn,"select username from user where id =".$_GET['id']); $row = mysqli_fetch_array($res); var_dump($row['username']); ?>
这段代码原本是用于根据用户输入的id,查询用户的信息。但是可以使用在语句中加入运算符的方法来测试这种注入是否存在
比如:测试id=1和id=2-1的结果是否相等
测试id=1时,查 ...
php反序列化
序列化:对象转化为数组或字符串等格式。
反序列化:将数组或字符串等格式转化为对象。
原理未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入、目录遍历等不可控后果。在反序列化过程中自动触发了某些魔法方法。当反序列化的时候就有可能触发对象中的一些魔术方法。
触发:unserialize函数的变量可控,文件中存在可利用的类,类中有魔术方法:
__construct(): 在对象构造时会自动调用,可以用于检查输入参数是否合法。
__destruct(): 在对象销毁时会自动调用,可以用于清理资源。
__wakeup(): 在 unserialize() 时会自动调用,可以用于恢复对象状态。
__invoke(): 当对象被当作函数调用时会自动调用,可以用于执行特定操作。
__call()、__callStatic(): 当调用不存在的方法时会自动调用,可以用于处理未定义的方法。
__get()、__set(): 当访问不存在的属性时会自动调用,可以用于处理未定义的属性。
__isset()、__unset(): 当检查属性是否存在或删除属性 ...
sql基础
数据库一、什么是数据库安装在操作系统之上的软件,可以存储大量的数据。
作用:储存数据,管理数据。
二、数据库应用
所有程序和系统都会使用。(数据的记录与储存)
三、数据库类型1.分类
关系型数据库:采用关系模型(二维表)来组织数据结构的数据表【MySQL、Oracle、SQL_Server、DB2、SQLite】
非关系型:不采用关系模型组织数据结构的数据库【Redis、MongDB】
2.表的概念1.二维结构(行和列的组成)
2.字段(列),定义该列的名字以及这一列下面能放什么类型的数据
3.行,一行代表完整的数据记录








