base64定义
base64是网络上最常见的传输编码方式,说到底其实就是一种非常简单的转换算法。
转换方式是这样的:先将三个byte(1byte=8bit)的数据转换为ascll码二进制值,按序放入一个24bit的缓冲区中。若数据不足3byte,缓冲区中剩下的bit用0补足。
然后,每次取出6个bit,按照其索引值选择ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
中的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。
如转换“Man”:
M的ascll码是77,二进制就是01001101,取前六位就是010011=19,19在索引表中对应T,那么就输出T。M剩余的两个bit(01)就和后面的bit结合为六位010110=22,对应W,如此往复。
这个算法的精髓在于:24=3×8=4×6,即可将明文的3个字节转化为base64的4个字节。
base64索引表
当原数据长度不是3的整数倍时,如果最后剩一个输入数据,在编码结果后加2个“=”;剩两个就加1个“=”,补足为3的整数倍。
用于练习的例子
Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.
经过base64编码之后变成:
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=
POC、EXP、payload、shellcode的区别:
渗透中POC、EXP、Payload与Shellcode的区别 – 百度文库 (baidu.com)
1、Apache Shiro 1.2.4反序列化漏洞
shiro简介:
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
0x02 漏洞介绍:
Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,但是设计到一些支付等敏感操作时,可能还需要再次验证。
而shiro默认使用了CookieRememberMeManager接口,就是rememberme功能,。
其处理cookie的流程是: 得到rememberMe的cookie值,先进行Base64解码,再进行AES解密,最后进行反序列化。
但是shiro本身有一个预设密钥Base64.decode(“kPH bIxk5D2deZiIxcaaaA==”),漏洞的突破口也是这点,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。
攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
0x03 漏洞影响:
Apache Shiro <= 1.2.4
事实上,只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞。
2、Apache Log4j2 lookup JNDI 漏洞
Log4j2 Jndi 漏洞原理解析、复盘_子不语的博客-CSDN博客_jndi log4j
3、Fastjson1.2.24反序列化漏洞
序列化和反序列化:什么是反序列化?反序列化的过程,原理_普通网友的博客-CSDN博客_反序列化
4、Tomcat PUT方法任意写文件漏洞
5、ThinkPHP5 5.0.22远程执行漏洞
6、ThinkPHP2.x 任意代码执行漏洞
7、Spring Security OAuth2 远程命令执行
8、JBoss 5.x/6.x反序列化漏洞
9、Struts2 S2-061远程命令执行漏洞
10、weblogic XMLDecoder 反序列化漏洞
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/245176.html