当前位置: 首页 > news >正文

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

相关文章:

  • Qt/QML编程之路:ListView实现横排图片列表的示例(40)
  • React中文官网已经搬迁了,原网址内容将不再更新
  • std::for_each
  • 【小呆的力学笔记】弹塑性力学的初步认知二:应力应变分析(2)
  • 小黑艰难的前端啃bug之路:内联元素之间的间隙问题
  • Python 进阶语法:lambda函数
  • 浅聊 DNS 和 host
  • MySQL索引类型及数据结构【笔记】
  • obsidian阅读pdf和文献——与zotero连用
  • 【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用
  • 【云原生】k8s图形化管理工具之rancher
  • JVM篇:垃圾回收算法
  • 基于frp工具实现内网穿透,跨局域网远程SSH登录
  • Spring Boot整合Redis的高效数据缓存实践
  • 《30天自制操作系统》 第一周(D1-D7) 笔记
  • 【mysql】环境安装、服务启动、密码设置
  • Android单元测试 - 几个重要问题
  • eclipse的离线汉化
  • Linux gpio口使用方法
  • PHP变量
  • Python socket服务器端、客户端传送信息
  • Zepto.js源码学习之二
  • 从PHP迁移至Golang - 基础篇
  • 高度不固定时垂直居中
  • 精彩代码 vue.js
  • 前端学习笔记之观察者模式
  • 驱动程序原理
  • 入口文件开始,分析Vue源码实现
  • 用Canvas画一棵二叉树
  • 正则与JS中的正则
  • 阿里云ACE认证之理解CDN技术
  • 数据库巡检项
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #AngularJS#$sce.trustAsResourceUrl
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax()方法详解
  • (003)SlickEdit Unity的补全
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (论文阅读11/100)Fast R-CNN
  • (算法二)滑动窗口
  • (转)原始图像数据和PDF中的图像数据
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .Net Winform开发笔记(一)
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • @SpringBootApplication 包含的三个注解及其含义
  • @取消转义
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [20180129]bash显示path环境变量.txt
  • [8-27]正则表达式、扩展表达式以及相关实战