web安全学习笔记【08】——算法1
思维导图在最后
#知识点: 1、Web常规-系统&中间件&数据库&源码等 2、Web其他-前后端&软件&Docker&分配站等 3、Web拓展-CDN&WAF&OSS&反向&负载均衡等 ----------------------------------- 1、APP架构-封装&原生态&H5&flutter等 2、小程序架构-Web&H5&JS&VUE框架等 ----------------------------------- 1、渗透命令-常规命令&文件上传下载 2、反弹Shell-防火墙策略&正反向连接 3、数据回显-查询带外&网络协议层级 ----------------------------------- 1、抓包技术-HTTP/S-Web&APP&小程序&PC应用等 2、抓包工具-Burp&Fidder&Charles&Proxifier ----------------------------------- 1、抓包技术-全局-APP&小程序&PC应用 2、抓包工具-Wireshark&科来分析&封包 ----------------------------------- 1、存储密码加密-应用对象 2、传输加密编码-发送回显 3、数据传输格式-统一格式 4、代码特性混淆-开发语言 #章节点 应用架构:Web/APP/云应用/小程序/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下载/端口服务/Shell反弹等 抓包技术:HTTP/TCP/UDP/ICMP/DNS/封包/代理等 算法加密:数据编码/密码算法/密码保护/反编译/加壳等 |
演示案例:
- 传输数据-编码型&加密型等
- 传输格式-常规&JSON&XML等
- 密码存储-Web&系统&三方应用
- 代码混淆-源代码加密&逆向保护
#传输数据-编码型&加密型等例: -某视频 -某Web站 (正常的可能是id=1 有些网站加密后 id=MQ==) -博客登录 -APP-斗地主 影响:漏洞探针 提出这个的意义在于渗透时,如果对方对内容进行了加密,你的payload也要相应的进行加密 #传输格式-常规&JSON&XML等例: -App-期H -APP-斗地主 影响:发送漏洞探针,回显数据分析 #密码存储-Web&系统&三方应用例: -ZZZCMS&Dz -Win&Linux(密匙 偏移量) -MSSQL&MYSQL 影响:安全后渗透测试 #代码混淆-源代码加密&逆向保护例: -PHP&JS混淆加密 -EXE&JAR代码保护 影响:代码审计,逆向破解 https://indialms.in/wfp_login.php?r_id=1 base64编码 username=YWRtaW4= https://indialms.in/wfp_login.php?r_id=MQ== 112123 数据在传输的时候进行编码 为什么要了解? 对方服务器可能会在接受的时候进行解码在带入 如果我们还是按照原有思路不对自己的Payload进行同样编码的话 传入过去的东西就是不认识的东西 测试无效 正确:测试的话也要进行payload同样的加密或编码进行提交 安全测试漏洞时候 通常都会进行数据的修改增加提交测试 以数据的正确格式发送 接受才行 登录的数据包: admin 123456 MD5加密 username=admin&password=123456 username=admin&password=e10adc3949ba59abbe56e057f20f883e 如果现在我要进行密码的破解爆破 字典文件: 帐号什么都不用更改 去替换username=值即可 密码需要进行密码算法 保证和password=值同等加密才行 https://tv.sohu.com/v/dXMvMzg1MjM2NzE5LzQyNzUyODUzOC5zaHRtbA==.html 开发:数组 列表 btnPost=%E7%99%BB%E5%BD%95&username=admin and &password=e10adc3949ba59abbe56e057f20f883e&savedate=1 { btnPost:"%E7%99%BB%E5%BD%95"; username:"admin"; password:"e10adc3949ba59abbe56e057f20f883e and"; savedate:1; } json xml 常规 x=123 x=123 { x:123 } zzzcms admin /123456 密文利用md5加密 md5(123456)=密文 dz3.2 admin /123456 md5(md5(123456).salt)=密文 dz3.5 admin / 123456 aes des(密匙 偏移量 填充 模式等) $2y$10$OtsSmawENczg1BLcQCEn5OdLqJC9GLiDrClwEUooNnn8b609DfJc. 数据库加密 大部分的解密都是碰撞式解密 不是算法的逆向的还原解密 1.常见加密编码进制等算法解析 MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等 2.常见加密编码形式算法解析 直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等 3.常见解密解码方式(针对) 枚举,自定义逆向算法,可逆向 4.常见加密解码算法的特性 长度位数,字符规律,代码分析,搜索获取等 #本课意义: 1.了解加密编码进制在安全测试中的存在 2.掌握常见的加密解密编码解码进制互转的操作 3.了解常见的加密解密编码解密进制互转的影响 识别算法编码方法: 1、看密文位数 2、看密文的特征(数字,字母,大小写,符号等) 3、看当前密文存在的地方(Web,数据库,操作系统等应用) #拓展补充参考资料: -传输数据编码: BASE64 URL HEX ASCII BASE64值是由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,结尾通常有符号= URL编码是由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,通常以%数字字母间隔 HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成 ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:0~9<A~Z<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 |
相关文章:

web安全学习笔记【08】——算法1
思维导图在最后 #知识点: 1、Web常规-系统&中间件&数据库&源码等 2、Web其他-前后端&软件&Docker&分配站等 3、Web拓展-CDN&WAF&OSS&反向&负载均衡等 ----------------------------------- 1、APP架构-封装&原生态&…...

2024最新版Python 3.12.1安装使用指南
2024最新版Python 3.12.1安装使用指南 Installation and Configuration Guide to the latest version Python 3.12.1 in 2024 By Jackson Python编程语言,已经成为全球最受欢迎的编程语言之一;它简单易学易用,以标准库和功能强大且广泛外挂…...

Oracle 经典练习题 50 题
文章目录 一 CreateTable二 练习题1 查询"01"课程比"02"课程成绩高的学生的信息及课程分数2 查询"01"课程比"02"课程成绩低的学生的信息及课程分数3 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩4 查询平均成绩小于…...
PyTorch的衍生资源
PyTorch作为深度学习领域的一个重要框架,自2016年首次发布以来经历了显著的发展。以下是PyTorch发展过程中的几个关键里程碑事件: 2016年: PyTorch于2016年首次发布,作为一个基于动态计算图的开源机器学习库,它提供了自…...

开源项目Git Commit规范与ChangeLog
一,conventional commit(约定式提交) Conventional Commits 是一种用于给提交信息增加人机可读含义的规范。它提供了一组用于创建清晰的提交历史的简单规则。 1.1 作用 自动化生成 CHANGELOG基于提交类型,自动决定语义化的版本变更向项目相关合作开发…...

【原理图PCB专题】OrCAD Capture CIS关闭开始界面
17.4版本 在打开OrCAD Capture CIS时会发现打开Start Page页面,那么如何将他关闭再也不看这个界面呢? 在窗口中输入SetOptionBool EnableStartPage 0 回车 重启软件后就再也不会弹出Start Page页面 如果没有发现Command Window那么将菜单栏view->C…...

【Linux】Ubuntu的gnome切换KDE Plasma
文章目录 安装KDE Plasma桌面环境添加软件源并更新apt安装kubuntu-desktop(作者没有成功)aptitude安装kubuntu-desktop多次aptitude install(特别重要特别重要)其他kde软件包 卸载gnome桌面 Ubuntu自带的桌面环境是gnomeÿ…...

Docker(九)Docker Buildx
作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! Docker Buildx Docker Buildx 是一个 docker CLI 插件,其扩展了 docker 命令,支持 [Moby BuildKit] 提供的功能。提…...

Flink问题解决及性能调优-【Flink不同并行度引起sink2es报错问题】
最近需求,仅想提高sink2es的qps,所以仅调节了sink2es的并行度,但在调节不同算子并行度时遇到一些问题,找出问题的根本原因解决问题,并分析整理。 实例代码 --SET table.exec.state.ttl86400s; --24 hour,默认: 0 ms …...

瑞_数据结构与算法_二叉搜索树
文章目录 1 什么是二叉搜索树1.1 二叉搜索树的特征1.2 前驱后继 2 二叉搜索树的Java实现2.1 定义二叉搜索树节点类BSTNode泛型key改进 2.2 实现查找方法get(int key)递归实现非递归实现 ★非递归实现 泛型key版本 2.3 实现查找最小方法min()递归实现非递归实现 ★ 2.4 实现查找…...
Linux 命令行访问名字中包含空格的文件或文件夹
Linux 命令行访问名字中包含空格的文件或文件夹 References 在 Windows 下命名文件或文件夹名有空格是可以的,甚至在 Windows 和 Ubuntu 虚拟机共享的文件中也可以这么做,但是在 Ubuntu 中空格要用下划线代替,养成好习惯。Linux 会把空格当成…...
Dart/Flutter工具模块:the_utils
Flutter笔记 Dart/Flutter工具模块:the_utils 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/detail…...

矩阵号:日入100+,八大提示词(Prompt)使用技巧
最近在搞头条矩阵,发现自己的指令写的太烂了,一个指令将会决定你的写作质量。 收益比较拉垮,50个号收益好的,也就这么几个号。 于是我扒了一些提示词的操作技巧,分享一下自己的学习心得。 先说理论知识,实…...
爬虫工作量由小到大的思维转变---<第三十九章 Scrapy-redis 常用的那个RetryMiddleware>
前言: 为什么要讲这个RetryMiddleware呢?因为他很重要~ 至少在你装配代理ip或者一切关于重试的时候需要用到!----最关键的是:大部分的教学视频里面,没有提及这个!!!! 正文: 源代码分析 这个RetryMiddleware是来自: from scrapy.downloadermiddlewares.retry import Retry…...
【MongoDB】mongodb安装及启动踩坑点
mongodb的安装,基本上参考文章[1]。 但是在过程中,有一些踩坑点。 1,高版本mongodb不自带mongo脚本 在文章1中,作者在解压后,直接使用了mongo脚本,而我下载的mongodb版本要更高,在解压后&…...
动态规划——采矿的小奇【集训笔记】
题目描述 假期小奇去采矿场体验生活,工头为每个员工发放了一个最多能装 M 公斤的背包,经过一天的辛苦小奇开采出了 n 块矿石,它们的重量分别是W1,W2,...,Wn,经过预估它们的价值分别为C1,C2,...,Cn,那么请你…...

wpf控件Expander集合下的像素滚动
项目场景:Expander集合滚动 如下图,有一个Expander集合,且设置 ScrollViewer.VerticalScrollBarVisibility "Auto" 每个Expaner下包含有若干元素,当打开Expader(即IsExpanded "true")时&#…...

docker 基础手册
文章目录 docker 基础手册docker 容器技术镜像与容器容器与虚拟机docker 引擎docker 架构docker 底层技术docker 二进制安装docker 镜像加速docker 相关链接docker 生态 docker 基础手册 docker 容器技术 开源的容器项目,使用 Go 语言开发原意“码头工人”&#x…...

记一次SPI机制导致的BUG定位【不支持:http://javax.xml.XMLConstants/property/accessExternalDTD】
1、前因 今天在生产环境启用了某个功能,结果发现有个文件上传华为云OBS失败了,报错如下: Caused by: java.lang.IllegalArgumentException: 不支持:http://javax.xml.XMLConstants/property/accessExternalDTDat org.apache.xal…...

Kali如何启动SSH服务并实现无公网ip环境远程连接
文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...