-
代码混淆
- 一.基本概念
- java的bytecode很容易通过JAD等反编译工具还原出源代码。这样势必不满足安全的定义。如何一定程度上保护需要防止被反编译的源代码呢?混淆(obfuscate)技术注意:用obfuscate防盗版是根本不可能,连汇编这种东西都能被**掉,而java代码基本上等同于开源的同义词。用obfuscate只是为了增加反编译的难度,保护源代码的知识产权。混淆包照常运行,没有任何问题。可以使用反编译工具如jd-gui查看混淆后的包,验证混淆效果。
- 二.混淆技术

- 名称混淆 name obfuscode
- 将有意义的类,字段、方法名称更改为无意义的字符串。生成的新名称越 短,字节代码越小。在名称混淆的字节代码中,包,类,字段和方法名称已重命名,并且永远不能恢复原始名称。
- 流混淆 Flow Obfuscation
- 用于if, switch, while,for等关键字,对字节码进行细微的修改,模糊控制流,而不改变代码在运行时的行为。通常情况下,选择和循环等逻辑构造会被更改,因此它们不再具有直接等效的Java源代码。流模糊的字节码通常强制反编译器将一系列标签和非法的goto语句插入到它们生成的源代码中。源代码有时会因为反编译错误而变得更加模糊。
- 其他
- 异常混淆 Exception Obfuscation
- 字符串加密混淆 String Encryption
- 引用混淆 Reference Obfuscation
- 网络安全探针
- 定义与功能
- 定义:网络安全设备探针是一种设备或软件,它通过捕获和分析网络数据包,实时监控网络活动,以发现潜在的网络威胁。
- 功能:
- 实时监控:探针能够实时捕获网络中的数据包,并分析其中的信息,如源地址、目的地址、协议类型等。
- 威胁检测:通过比较捕获到的数据包与已知的正常行为模式或恶意行为特征,探针能够识别出网络中的异常行为,从而发现潜在的网络攻击。
- 安全防护:一旦检测到网络威胁,探针可以采取相应的措施进行防范,如阻断攻击源、记录攻击信息等。
- 性能优化:除了安全防护外,探针还可以提供网络流量分析和报告,帮助网络管理员了解网络使用情况,优化网络架构和配置,提高网络性能和安全性。
-
数据传输的的形式
-
XML
- XML是用来传输储存数据的(主要还是传输功能)
- 他的结构 其实就是<>这类的
- <?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
-
json
- JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
- {'admin':'admin','password':'123456'}
- 实例一:
- 数据在传输过程中的加密(以url为例)
- 做实例的目的就是明白,网站的url编码会影响到我们的漏洞探针(漏洞的注入点)问题,只有我们用相同的注入代码(加密的)才能让注入成功 因为这个编码在服务器后端他会进行解码

-

-

-

-

- 我们用一下加密工具 cap,选择base64
-

- 实例二 密码加密的问题
- 如密码是 x=123
- 我们也可以写成 x{
- x:123
- }
- 改漏洞探针,这边我们抓包了之后在{}里面去改
- 不同的格式

-

- burp抓包里一下有用的信息

- 数据库密码的加密问题
-

-

-

-

- 不同网站的加密 DIScus

-

- 这边其实加上这个盐才能解密

- 这是我们的第二种形式就是web加盐
- 我们安装新版的dis

- 这边这个新版的用的是DES加密(这个需要偏移值,和密匙才能解)
- 实例二
-
php源码的加密(这个就是防止被溯源到源码)
-

- 去网上随便找个加密php的文件工具
-

- 这边我们看一下php的文件效果

-
