安全学习DAY08_算法加密
算法加密

漏洞分析、漏洞勘测、漏洞探针、挖漏洞时要用到的技术知识
- 存储密码加密-应用对象
- 传输加密编码-发送回显
- 数据传输格式-统一格式
- 代码特性混淆-开发语言
传输数据 – 加密型&编码型
安全测试时,通常会进行数据的修改增加提交测试
数据在传输的时候进行编码,对方服务器可能会在接收数据时进行解码再带入。
这种情况我们应对自己的payload进行同样的加密或者编码进行提交,不然传入的数据服务器不认识
当我们要对登录网站密码进行爆破时
字典文件:
账号一般是明文传输,不需要更改,替换username=值即可
密码需要进行密码算法,需要保证和password=值同等加密,否则无法识别
例如:网站登录,APP
影响:漏洞探针
传输格式 – 常规&JSON&XML等
在进行测试时,不仅要使用相同的加密/编码,还要保证相同的格式,数据格式不一致也不行
例子:
影响:发送影响漏洞探针,回显影响数据分析
密码存储 – Web&系统&第三方应用
md5加密
zzzcms
md5加盐,md5(md5(123456).salt)=密文
dz3.5
ASE-128、DES
由密钥,偏移量,加密模式,填充量等决定,不知道密钥和偏移量就解不出来,而密钥和偏移量一般不会写在数据库中,而是写在源码中。要解密就需要拿到解密所需的密钥,偏移量等。
NTLM
windows密码一般用该加密
Linux查看/etc/shadow来看密码
现在大部分解密都是碰撞式解密,不是算法的逆向还原解密,而是直接进行匹配对比
数据库密码:
MySQL:mysql数据库中user表
复杂密文没有规律,看不出来,只能在源码中找,看负责加密的代码块是什么形式的。
识别算法编码方法
- 看密文位数(有些算法的编码位数固定的)
- 看密文特征(数字,字母,大小写,符号等)
- 看密文存在的地方(Web,数据库,操作系统等应用)
影响
安全后渗透测试
代码混淆 - 源代码加密&逆向保护
看不到代码,无法做代码审计发现漏洞了
加密平台
jsfuck,将js代码加密
virbox,防逆向
影响:代码审计
补充:
1.常见加密编码进制等算法解析
MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等
2.常见加密编码形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
3.常见解密解码方式(针对)
枚举,自定义逆向算法,可逆向
4.常见加密解码算法的特性
长度位数,字符规律,代码分析,搜索获取等
传输数据编码:
BASE64 URL HEX ASCII
BASE64值是由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,结尾通常有符号=
URL编码是由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,通常以%数字字母间隔
HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成
ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:09<AZ<a~z
-传输数据加密:同密码存储加密
-传输数据格式:常规字符串 JSON XML等
密码存储加密:
MD5 SHA1 NTLM AES DES RC4
MD5值是32或16位位由数字"0-9"和字母"a-f"所组成的字符串
SHA1这种加密的密文特征跟MD5差不多,只不过位数是40
NTLM这种加密是Windows的哈希密码,标准通讯安全协议
AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似
代码混淆:
JS前端代码加密:
JS颜文字 jother JSFUCK
颜文字特征:一堆颜文字构成的js代码,在F12中可直接解密执行
jother特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行
JSFUCK特征:与jother很像,只是少了{ }
后端代码混淆:
PHP .NET JAVA
PHP:乱码,头部有信息
.NET:DLL封装代码文件,加保护
JAVA:JAR&CLASS文件,,加保护
举例:加密平台 Zend ILSpy IDEA
应用场景:版权代码加密,开发特性,CTF比赛等
特定应用-数据库密文加密:
MYSQL MSSQL Oracle Redis等
数据显示编码:
UTF-8 GBK2312等
部分资源:
https://www.cmd5.com
http://tmxk.org/jother
http://www.jsfuck.com
http://www.hiencode.com
http://tool.chacuo.net/cryptaes
https://utf-8.jp/public/aaencode.html
https://github.com/guyoung/CaptfEncoder
质量文章:
1.30余种加密编码类型的密文特征分析
https://mp.weixin.qq.com/s?__biz=MzAwNDcxMjI2MA==&mid=2247484455&idx=1&sn=e1b4324ddcf7d6123be30d9a5613e17b&chksm=9b26f60cac517f1a920cf3b73b3212a645aeef78882c47957b9f3c2135cb7ce051c73fe77bb2&mpshare=1&scene=23&srcid=1111auAYWmr1N0NAs9Wp2hGz&sharer_sharetime=1605145141579&sharer_shareid=5051b3eddbbe2cb698aedf9452370026#rd
2.CTF中常见密码题解密网站总结
https://blog.csdn.net/qq_41638851/article/details/100526839
3.CTF密码学常见加密解密总结
https://blog.csdn.net/qq_40837276/article/details/83080460
相关文章:
安全学习DAY08_算法加密
算法加密 漏洞分析、漏洞勘测、漏洞探针、挖漏洞时要用到的技术知识 存储密码加密-应用对象传输加密编码-发送回显数据传输格式-统一格式代码特性混淆-开发语言 传输数据 – 加密型&编码型 安全测试时,通常会进行数据的修改增加提交测试 数据在传输的时候进行…...
OpenCloudOS 与PolarDB全面适配
近日,OpenCloudOS 开源社区签署阿里巴巴开源 CLA (Contribution License Agreement, 贡献许可协议), 正式与阿里云 PolarDB 开源数据库社区牵手,并展开 OpenCloudOS (V8)与阿里云开源云原生数据库 PolarDB 分布式版、开源云原生数…...
如何在Linux系统中使用yum命令安装MySQL
1、安装软件 # yum install -y https://repo.mysql.com//mysql80-community-release-el7-8.noarch.rpm # yum -y install mysql-community-server网址来源:https://dev.mysql.com/downloads/repo/yum/ 2、启动软件 # systemctl enable mysqld# systemctl start my…...
在Ail Linux中手动配置IPv6
第一步,登录阿里云服务器控制台,在“概览”页面找到对应实例,然后单击实例ID。 第二步,在“实例详情”页面中的“网络信息”栏目中,可以发现“IPv6 地址”中没有数据,然后单击“专有网络”的专有网络ID。 第…...
TCP如何保证服务的可靠性
TCP如何保证服务的可靠性 确认应答超时重传流量控制滑动窗口机制概述发送窗口和接收窗口的工作原理几种滑动窗口协议1比特滑动窗口协议(停等协议)后退n协议选择重传协议 采用滑动窗口的问题(死锁可能,糊涂窗口综合征)死…...
【云原生系列】openstack搭建过程及使用
目录 搭建步骤 准备工作 正式部署OpenStack 安装的过程 安装组件如下 登录页面 进入首页 创建实例步骤 上传镜像 配置网络 服务器配置 dashboard配置 密钥配置免密登录 创建实例 绑定浮动ip 免密登录实例 搭建步骤 准备工作 1.关闭防火墙和网关 systemctl dis…...
无涯教程-jQuery - Menu组件函数
小部件菜单功能可与JqueryUI中的小部件一起使用。一个简单的菜单显示项目列表。 Menu - 语法 $( "#menu" ).menu(); Menu - 示例 以下是显示菜单用法的简单示例- <!doctype html> <html lang"en"><head><meta charset"utf-…...
Django用户登录验证和自定义验证类
一、FBV 用户登录验证 1.1 登录验证并加入 session 用户登录时,使用 authenticate 验证用户名和密码是否正确,正确则返回一个用户对象。 用户名默认的字段名是 username 密码默认的字段名是 password 将已验证的用户添加到当前会话(session)中&#x…...
json-server详解
零、文章目录 json-server详解 1、简介 Json-server 是一个零代码快速搭建本地 RESTful API 的工具。它使用 JSON 文件作为数据源,并提供了一组简单的路由和端点,可以模拟后端服务器的行为。github地址:https://github.com/typicode/json-…...
MacOS Monterey VM Install ESXi to 7 U2
一、MacOS Monterey ISO 准备 1.1 下载macOS Monterey 下载🔗链接 一定是 ISO 格式的,其他格式不适用: https://www.mediafire.com/file/4fcx0aeoehmbnmp/macOSMontereybyTechrechard.com.iso/file 1.2 将 Monterey ISO 文件上传到数据…...
哈工大计算机网络课程网络安全基本原理详解之:消息完整性与数字签名
哈工大计算机网络课程网络安全基本原理详解之:消息完整性与数字签名 这一小节,我们继续介绍网络完全中的另一个重要内容,就是消息完整性,也为后面的数字签名打下基础。 报文完整性 首先来看一下什么是报文完整性。 报文完整性…...
K8s:K8s 20个常用命令汇总
写在前面 博文内容为节译整理,用于温习理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式࿰…...
DHCP防护原理
电脑刚连接到网络 是没有IP地址的 。 通过发送广播到DHCPO服务器。 DHCP服务器响应对应的 IP地址(简要过程)。 如果有人私自挂接WIFI,相当于DHCP服务器,但这个DHCP服务器是假的,就会引起电脑接入获取家用WIFI的地址&…...
leetcode2434. 使用机器人打印字典序最小的字符串 出栈顺序 贪心+栈
https://leetcode.cn/problems/using-a-robot-to-print-the-lexicographically-smallest-string/ 给你一个字符串 s 和一个机器人,机器人当前有一个空字符串 t 。执行以下操作之一,直到 s 和 t 都变成空字符串。请你返回纸上能写出的字典序最小的…...
【程序设计】一文讲解程序设计目标:高内聚,低耦合
前言 软件设计的目标是高内聚、低耦合。 如果代码是高耦合和低内聚的,就会出现修改一个逻辑,会导致多处代码要修改,可能影响到多个业务链路,这增加了出bug的业务风险,同时增加了测试回归的范围,导致研发成…...
nginx mirror代码分析
实现方式 mirror逻辑的工作阶段: ngx在log phase之后(在ngx_http_free_request处调用)已完成向client端返回response,在log phase之后完成close connection(短链接),在该阶段处理mirror逻辑不…...
Python代理模式介绍、使用
一、Python代理模式介绍 Python代理模式(Proxy Pattern)是一种结构型设计模式。在代理模式中,代理对象充当了另一个对象的占位符,以控制对该对象的访问。 代理对象和被代理对象实现了相同的接口,因此它们可以互相替代…...
《MySQL45讲》笔记—索引
索引 索引是为了提高数据查询效率,就像书的目录一样。如下图,索引和数据就是位于存储引擎中: 索引常见模型 哈希表 以键值对存储的数据结构。适用于只有等值查询的场景。 有序数组 在等值查询和范围查询场景中性能都特别优秀。但是有…...
Android usb host模式通信示例
当使用Android设备作为USB主机时,可以使用Android提供的USB API来进行USB通信。下面是一个简单的Android USB通信的示例。在这个示例中,我们将发送一条消息到连接的USB设备并从USB设备接收响应。 首先,在AndroidManifest.xml文件中添加以下权…...
开源Blazor UI组件库精选:让你的Blazor项目焕然一新!
今天给大家推荐一些开源、美观的Blazor UI组件库,这些优秀的开源框架和项目不仅能够帮助开发者们提高开发效率,还能够为他们的项目带来更加丰富的用户体验。 注:排名不分先后,都是十分优秀的开源框架和项目 Ant Design Blazor…...
Airflow Maintenance Dags:7个关键维护工作流彻底解决Airflow运维难题
Airflow Maintenance Dags:7个关键维护工作流彻底解决Airflow运维难题 【免费下载链接】airflow-maintenance-dags A series of DAGs/Workflows to help maintain the operation of Airflow 项目地址: https://gitcode.com/gh_mirrors/ai/airflow-maintenance-dag…...
Beyond Compare 5密钥生成器终极指南:如何通过Python工具免费解锁专业功能
Beyond Compare 5密钥生成器终极指南:如何通过Python工具免费解锁专业功能 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的30天试用期到期而烦恼吗…...
Input Overlay:免费开源直播输入显示插件终极指南
Input Overlay:免费开源直播输入显示插件终极指南 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay 在游戏直播、教学演示或技术分享中,观众最常问…...
AArch64 TRCCNTCTLR寄存器详解与调试技巧
1. AArch64 TRCCNTCTLR寄存器概述在AArch64架构中,TRCCNTCTLR(Trace Counter Control Register)是嵌入式跟踪扩展(FEAT_ETE)功能的重要组成部分。作为系统调试和性能分析的核心组件,它负责控制跟踪计数器的…...
抖音无水印下载器全解析:从零构建你的个人视频收藏库
抖音无水印下载器全解析:从零构建你的个人视频收藏库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...
TPU加速GAN训练:从Colab实操到混合精度调优
1. 项目概述:为什么在Kaggle/Colab上用TPU训GAN不是“炫技”,而是刚需你有没有试过在笔记本电脑上跑一个DCGAN,等了47分钟,loss曲线刚抖两下,风扇就发出濒死的哀鸣?或者在普通GPU上训StyleGAN2,…...
拯救者工具箱:如何用开源工具完全掌控你的联想游戏本性能
拯救者工具箱:如何用开源工具完全掌控你的联想游戏本性能 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 你是否…...
Chrome无痕模式下BiDi协议断连原因与解决方案
1. 这个问题不是“能不能用”,而是“为什么一开无痕就断连”如果你在用 Selenium 4.11 集成 Chrome DevTools Protocol(CDP)或更新的 BiDi(Browser Interaction)协议做自动化时,突然发现:本地调…...
SpinalHDL流水线设计:从时序抽象到工程实践
1. 项目概述:从Verilog的“线”到SpinalHDL的“流”在数字电路设计里,时序逻辑的流水线(Pipeline)是个老生常谈但又至关重要的概念。无论是为了提升系统主频,还是为了平衡组合逻辑路径的延迟,我们总免不了要…...
不止于箱线图:用TCGA泛癌配对样本数据,画出更高级的基因表达点线图(附完整R代码)
超越箱线图:TCGA泛癌配对样本数据的高级可视化实战指南 在生物信息学研究中,TCGA泛癌数据一直是探索癌症分子特征的宝贵资源。然而,大多数分析停留在简单的组间比较,使用箱线图展示基因表达差异,忽略了数据中更精细的模…...
