思维导图在最后
#知识点: 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/封包/代理等 算法加密:数据编码/密码算法/密码保护/反编译/加壳等 |
演示案例:
#传输数据-编码型&加密型等例: -某视频 -某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 |