SEC-2022版-0003-抓包/封包/代理&加密解密
抓包/封包/代理
抓包分两类,一类是web协议抓包,一种是TCP、UDP等的协议抓包。
web协议抓包比较常用,比如修改数据包数据什么的。
基础抓包
➢WEB应用站点操作数据抓包 - 浏览器审查查看元素网络监听
抓包功能不一定要依靠抓包软件,浏览器自身也携带了可以抓包的工具。
各个浏览器:F12打开,点击Network/网络 -> 叫法不同,功能相同。可以抓Web协议的数据包。
各个软件抓包-代理抓包
➢APP&小程序&PC抓包HTTP/S数据 -> Charles&Fiddler&Burpsuite
➢程序进程&网络接口&其他协议抓包 -> WireShark&科来网络分析系统
➢通讯类应用封包分析发送接收 -> WPE四件套封包&科来网络分析系统
WPE算外挂类抓包,抓散装动作数据包,能使得动作复位。
详细的查这篇本地文章:SEC学习2023版-0011 > 重点在包转发那边,转发到BP进行测试。
环境配置:
1、安卓模拟器安装搭建
逍遥,雷电,夜神等自行百度下载安装
2、工具相关证书安装指南(SEC学习2023版-0011上就有。)
Charles
https://blog.csdn.net/weixin_45459427/article/details/108393878
Fidder
https://blog.csdn.net/weixin_45043349/article/details/120088449
BurpSuite
https://blog.csdn.net/qq_36658099/article/details/81487491
3、封包抓取调试见课程操作
1、为什么要抓包? -抓包应用的资产信息进行安全测试
2、抓包对象有那些? -小程序,APP,桌面应用等
3、抓包协议区别工具? -有部分应用不走HTTP/S,需要用到全局协议抓包
4、封包和抓包不同之处? -零散整体的区别,封包能精确到每个操作的数据包
知识点:
1、抓包技术应用意义 :将看不见的目标提出来
2、抓包技术应用对象 :exe,安卓,Web
3、抓包技术应用协议 :web协议和非web协议
4、抓包技术应用支持 :BP,茶杯,科莱等
5、封包技术应用意义 :实时数据包抓取,动作散装数据包
总结点:学会不同对象采用不同抓包封包抓取技术分析
基于网络接口抓包-网络接口
基于程序进程抓包-程序进程
基于数据协议抓包-HTTP/S&TCP&UDP
基于应用对象抓包-APP&小程序&PC_UI
基于系统使用抓包-模拟器&WIN&LINUX
基于应用对象封包-WPE动作数据包重放通讯
加密解密
知识点
1、存储密码加密-Web&数据库&系统
2、传输数据编码-各类组合传输参数值
3、代码特性加密-JS&PHP&NET&JAVA
4、数据显示编码-字符串数据显示编码
本课意义
1.了解加密编码进制在安全测试中的存在
2.掌握常见的加密解密编码解码进制互转的操作
3.了解常见的加密解密编码解密进制互转的影响
旨在解决类似疑问,提供思路:
你是否碰到不知道的加密方式?
你是否碰到无法找到的解密平台?
你是否碰到不知道如何解密的字符串?
你是否准备参加CTF比赛补充此类知识点?
详细点:
密码存储加密:
MD5 SHA1 NTLM AES DES RC4
MD5值是32或16位位由数字”0-9”和字母”a-f”所组成的字符串
SHA1这种加密的密文特征跟MD5差不多,只不过位数是40
NTLM这种加密是Windows的哈希密码,标准通讯安全协议
AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似
应用场景:各类应用密文,自定义算法,代码分析,CTF安全比赛等
加密解密部分
加密的类型
数据库/网站加密-md5加密
说明:
md5不可逆
尝试加密明文去碰撞密文,对得上则证明对应的明文是对的。
对应的有一些简单的md5碰撞解密
解密:碰撞,枚举
分析密文的特征,密文多少位。
密码明文足够复杂,足以使得当下的计算机解不出来。
md5密文有分为没加盐和有加盐两类。
应用场景:MYSQL MSSQL等
md5(md5('password').'salt') |
系统加密
破解操作系统密码
mimikatz: 破解密码加密形式,其中的加密算法NTLM可以Windows7后的加密密文,破解出密码。Windows7 前会使用LM加密算法。
对称加密与非对称加密
加密算法,以及想要解密密文,对应的参数特别多,少一个都解不出来。
AES解密加密,CTF有考到,有单独的项目考而不是过渡掺杂到web题目当中。
加密模式,填充,数据块,密码,偏移量…… -> 特征与base64相似,尾部位“=”
传输数据编码
类型: 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(目前很少用到)
举例:
个人博客-URL解码
国外WEB-BASE64解码
搜狐视频-BASE64解码
应用场景:
参数传递(如注入影响),后期WAF绕过干扰写法应用,视频地址还原等
JS前端代码加密:
JS颜文字 jother JSFUCK
颜文字特征:一堆颜文字构成的js代码,在F12中可直接解密执行
jother特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行
JSFUCK特征:与jother很像,只是少了{ }
加密目的:保护技术保护版权等。代码审计加密代码的解密,或者自己加版权码,加密绕过waf。
后端代码加密:
类型:PHP .NET JAVA
PHP:乱码,头部有信息
.NET:DLL封装代码文件
JAVA:JAR&CLASS文件
举例:Zend ILSpy IDEA
应用场景:版权代码加密,开发特性,CTF比赛等
数据显示编码:
UTF-8 GBK2312等
识别算法编码类型
1、看密文位数
2、看密文的特征(数字,字母,大小写,符号等)
3、看当前密文存在的地方(Web,数据库,操作系统等应用)加密密文的来源途径:代码数据库等地方翻出来=》网上获得密文对应途径的解题思路。
补充点:
1.常见加密编码进制等算法解析
MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等
2.常见加密编码形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
3.常见解密解码方式(针对)
枚举,自定义逆向算法,可逆向
4.常见加密解码算法的特性
长度位数,字符规律,代码分析,搜索获取等
学习,必须学会总结+分析。