47、WEB攻防——通用漏洞&Java反序列化&EXP生成&数据提取&组件安全

文章目录

序列化和反序列化的概念:

  • 序列化:把java对象转换成字节流的过程;
  • 反序列化:把字节流恢复为java对象的过程。

对象的序列化主要有两种用途:

  1. 把对象的字节流永久的保存在硬盘上,通常存放在一个文件中(持久化对象);
  2. 在网络上传送对象的字节流(网络传输对象)。

序列化数据:

  • 功能特性
    反序列化操作一般应用在导入模板文件、网络通信、数据传输、日志格式化存储或DB存储等业务场景,因此审计中重点关注这些功能板块。
  • 数据特性
    一般数据以rO0AB开头,基本上可以确定这串就是JAVA反序列化base64加密的数据;如果aced(16进制)开头,那么它就是一段java序列化的16进制数据。
  • 序列化可能出现
    http参数、cookie、session、存储方式可能是base64(rO0),压缩后的base64(H4s),MLL等;
    Serverts http、Sockets、Session管理器,包含的协议包括:JMX、RMI、JMS、JND1等

发现

黑盒分析:数据库出现地------观察数据特性

白盒分析:组件安全&函数搜索&功能模块

序列化函数API:

  • JAVA:serializableExtemailzablefastjsonjacksongsonObjectInputStream.readObjectObjectInputStream.readUnshared等;
  • PHP:serialize()unserialize()
  • Python:pickle

生成java反序列化payload工具-ysoserial

使用ysoserial时,若要根据某个外部包生成payload,可以将该包复制到ysoserial目录下,确保paylaod的生成更加可靠。
ysoserial最终生成的payload是aced(16进制)的字节流,若需要编码应该进一步进行编码。

swagger接口:swagger-ui.html

JAVA反序列化解密工具:SerializationDumper

java特定组件:shirojboos

网鼎杯朱雀组2020 Think java

网鼎杯朱雀组2020 Think java

查看源代码发现swagger-ui api接口,url地址后面加上./swagger-ui.htm,结果如下图:

相关推荐
KKKlucifer7 小时前
数据安全合规自动化:策略落地、审计追溯与风险闭环技术解析
人工智能·安全
lee_curry7 小时前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
wanhengidc8 小时前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
易连EDI—EasyLink8 小时前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
九转成圣9 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio9 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython9 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
JS_SWKJ9 小时前
网闸与光闸深度解析:高安全隔离设备核心知识与选型
安全
AIwenIPgeolocation9 小时前
出海应用合规与风控平衡术:可信ID的全球安全实践
人工智能·安全
我叫汪枫9 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript