护网面试题5.0
1.了解过反序列化漏洞吗
原理:
序列化是指程序将对象转化为字节序列从而便于存储运输的一种方式,反序列化则与其相反,即将字节序列转化为对象供程序使用。如果这些函数在传递参数时没有进行严格的过滤措施,那么攻击者就可以构造恶意代码并将其序列化后传入函数中,从而导致反序列化漏洞
Java反序列化
Java反序列化就是将java对象转化为字节序列的过程。反序列化的过程就是
1,创建一个对象输出流
2,通过对象输出流的ReadObject()方法来读取对象
2.常见的框架漏洞
log4j远程代码执行漏洞
原理:
Log4j 是Apache 的一个开源项目,是一款基于Java 的开源日志记录工具。该漏洞主要是由于日志在打印时当遇到`${`后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞。
Fastjson反序列化漏洞
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库
3.了解过redis数据库和常见的漏洞吗
redis是一个非关系型数据库,使用的默认端口是6379。常见的漏洞是未授权访问漏洞,攻击者无需认证就可以访问内部数据
1.向root权限账户写入ssh公钥文件,直接免密登录服务器**。**
2.写入webshell
3.反弹连接shell
4.定时任务反弹shell
redis未授权访问漏洞的防范措施:
1.添加登录密码
2.修改默认端口
3.关闭端口
4.禁止以root用户权限启动,以低权限启动redis服务