2019防灾应急挑战杯AWD PWN Writeup

因为省里有个AWD比赛,所以内部做了个选拔,用的防灾师傅的这套

很尴尬的是选拔期间我没打出来这题…转而去看了看web,洞是挺多的,现在来复现一下这个PWN

这里让输入了要做的操作的次数,后面还会用的到。

Continue reading 2019防灾应急挑战杯AWD PWN Writeup

记一次x64静态链接PWN思路和过程

开学还是有点忙,很久不更博了,刚好记录一下。

基本是没开什么保护,但是是静态链接的。

看到vul(),可以溢出大概0x78字节长度的数据,一开始考虑ropchain一把梭。

Continue reading 记一次x64静态链接PWN思路和过程

第十三届全国大学生信息安全国赛(CISCN)初赛部分Writeup

PWN五个只出了三个,后面就没和PWN硬钢了,去看了看别的。

WEB

easyphp

Continue reading 第十三届全国大学生信息安全国赛(CISCN)初赛部分Writeup

Apache Shiro反序列化RCE复现

概述

This image has an empty alt attribute; its file name is image-251.png

Apache Shiro 存在高危代码执行漏洞。该漏洞是由于Apache Shiro cookie中通过 AES-128-CBC 模式加密的rememberMe字段存在问题,用户可通过Padding Oracle 加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行。

shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值–>Base64解码–>AES解密–>反序列化
然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

Continue reading Apache Shiro反序列化RCE复现

Glibc 2.29 下新安全机制及漏洞利用

在Glibc2.29中增加了几个新的安全机制,我呢就参考了其他一些师傅的文章学习了一番,并作如下记录

我只是重新走一遍师傅们的路,叙述如有错误还请斧正

unlink(null-by-one)

###GLIBC 2.23###
/* consolidate backward */
if (!prev_inuse(p)) {
    prevsize = p->prev_size;
    size += prevsize;
    p = chunk_at_offset(p, -((long) prevsize));
    unlink(av, p, bck, fwd);
}


###GLIBC2.29###
/* consolidate backward */
if (!prev_inuse(p)) {
    prevsize = prev_size (p);
    size += prevsize;
    p = chunk_at_offset(p, -((long) prevsize));
    if (__glibc_unlikely (chunksize(p) != prevsize))
        malloc_printerr ("corrupted size vs. prev_size while consolidating");
    unlink_chunk (av, p);
}

如上所示代码,在backward consolidate的时候检查了size!=prev_size。

Continue reading Glibc 2.29 下新安全机制及漏洞利用