avatar
Articles
38
Tags
15
Categories
32

Home
Archives
Tags
Categories
About
ret2ver
Home
Archives
Tags
Categories
About

ret2ver

2021Pwnhub - 8月内部赛-tvmc
Created2021-09-09|PwnWriteUp
本文第一发布平台为安全客:https://www.anquanke.com/post/id/250882 题目分析题目的保护如下: 12345Arch: amd64-64-littleRELRO: No RELROStack: Canary foundNX: NX enabledPIE: PIE enabled 可以根据保护猜到本题应该是通过改 got 表的形式来进行利用 题目的主函数如下: 题目会让你输入一个 name 并保存在 bss 段上,然后读取你要传入的 code 的信息来将 code 放在 bss 段上,之后通过 vm 执行这些 code ,vm 的逻辑如下 指令的结构如下: 1op_code | value1 | value2 | value3 归纳一下有如下操作: 12345678910111213141516count = 8 op_code | value1 | value2 | value30x70 : data[value1] = data[value2] + data[value3]0x90 : dat ...
2018强网杯 - core
Created2021-09-02
程序提取提取镜像: 12345mkdir corecd coremv ../core.cpio core.cpio.gzgunzip ./core.cpio.gzcpio -idm < ./core.cpio 在目录下有一个 gen_cpio.sh ,内容如下: 123find . -print0 \| cpio --null -ov --format=newc \| gzip -9 > $1 可以发现是一个方便打包的脚本,我们添加如下代码: 12345mv ../exp ./tmp/expfind . -print0 \| cpio --null -ov --format=newc \| gzip -9 > $1mv core.cpio ../core.cpio 然后使用如下命令重打包: 1./gen_cpio.sh core.cpio 之后修改 start.sh 脚本 12345678sudo qemu-system-x86_64 \-m 128M \-kernel ./bzImage \-initrd ./core.cpio \-append &quo ...
2017CISCN - babydriver
Created2021-09-01
题目分析首先从文件系统中找到 init 脚本: 12345678910111213141516171819#!/bin/sh mount -t proc none /procmount -t sysfs none /sysmount -t devtmpfs devtmpfs /devchown root:root flagchmod 400 flagexec 0</dev/consoleexec 1>/dev/consoleexec 2>/dev/consoleinsmod /lib/modules/4.4.72/babydriver.kochmod 777 /dev/babydevecho -e "\nBoot took $(cut -d' ' -f1 /proc/uptime) seconds\n"setsid cttyhack setuidgid 1000 shumount /procumount /syspoweroff -d 0 -f 可以发现驱动位于 /lib/modules/4.4.72/babydriver. ...
2021强网杯 - Fifty-Fifty
Created2021-06-24
漏洞分析与利用漏洞触发方式很简单 1234a = new Array(1);a.pop();a.pop();print(a.length) 之后我们调试如下代码 12345678910111213a = new Array(1);a.pop();a.pop();a[1] = 0xbeef;a[2] = 0xdead;a[14] = 0x1234;a[15] = 0x5678;print("finish");for(let i = 0; i < 100000000; i ++){} 可以通过硬看内存的方式看出来数组 a 的位置 其位置也在JS堆靠前的位置 随后声明两个 ArrayBuffer 和 DataView,我们计划通过数组a 来修改 dv 的长度来越界读写,然后更改 dv2 的 ArrayBuffer 指针来达到任意地址读写的目的 数组a使用INTEGER的原因是我调试的时候发现如果使用的是浮点数或者字符串之类的东西,好像会单独开辟一个空间存储浮点数或字符串的值,然后将空间地址的指针存储到数组a的element处,这样并不好 ...
2021PlaidCTF - The False Promise
Created2021-06-08|PwnBrowserV8Promise
本文第一发布平台为安全客:https://www.anquanke.com/post/id/239995 题目分析题目的diff文件如下: 1234567891011121314151617diff --git a/src/builtins/promise-jobs.tq b/src/builtins/promise-jobs.tqindex 80e98f373b..ad5eb093e8 100644--- a/src/builtins/promise-jobs.tq+++ b/src/builtins/promise-jobs.tq@@ -23,10 +23,8 @@ PromiseResolveThenableJob(implicit context: Context)( // debugger is active, to make sure we expose spec compliant behavior. const nativeContext = LoadNativeContext(context); const promiseThen = *NativeC ...
2021TCTF - babyheap
Created2021-04-04
题目分析题目的 dockerfile 如下 123456FROM ubuntu:20.04ARG USER=ctfCOPY --chown=root:10000 babyheap flag /RUN apt-get update && apt-get -y dist-upgrade && apt-get -y install musl && groupadd -g 10000 $USER && useradd -N -u 10000 -g 10000 $USER && chmod 750 /babyheap && chmod 440 /flagUSER 10000:10000CMD ["/usr/bin/timeout", "-s9", "300", "/babyheap"] musl 的版本为 1.1.24 题目中 chunk 的结构如下 12345struct chunk{ QWORD is_us ...
2021TCTF - Gas Machine
Created2021-04-04|BlockChainWriteUp
题目信息12345678910111213[+] You need to implement a smart contract as the gas machine, and send us its RUNTIME bytecode. We will check it for 1000 times. Each time we call the machine with no input data and a random amount of gas between [21100, 99999]. All gas should be used, while the tx must not fail.[+] Limit: Forbidden opcodes: [240, 241, 242, 244, 245, 250, 255]; Max length: 100f0 CREATEf1 CALLf2 CALLCODEf4 DELEGATECALLf5 CREATE2fa STATICCALLff SELFDESTRUCT[+] Note: Istanbul 解题思路 用循环消耗 ...
2021津门杯 - no1
Created2021-03-24
漏洞分析与利用漏洞触发方式很简单 123var ab = new ArrayBuffer(10);var dv = new DataView(ab);print(dv.getUint32(0x100, 1)); 之后我们调试如下代码 1234567891011var ab = new ArrayBuffer(10);var dv = new DataView(ab);var ab2 = new ArrayBuffer(0x1337);var dv2 = new DataView(ab2);print("finish");for(let i = 0; i < 100000000; i ++){} 能够找到 ab 和 dv 以及 ab2 和 dv2 通过地址可以发现 ab 在 dv2上方,那么可以通过 ab 越界修改 dv2 指向 ab2 的指针做到任意地址读写 12345678910111213141516171819202122232425var idx = 0;for (let i = 1; i < 0x1000; i++ ...
浅析FMS attack
Created2021-03-19|CryptoFMS
本文第一发布平台为安全客:https://www.anquanke.com/post/id/231461 简介FMS attack是对广泛使用的RC4流密码的攻击,本人将简单介绍一下该攻击。 RC4RC4(Rivest Cipher 4)是一种流加密算法,密码长度可变,是有线等效加密(WEP)中采用的加密算法。其原理比较简单,包括密钥调度算法(KSA)和伪随机子密码生成算法(PRGA)两大部分: KSARC4初始化的时候会先对state进行初始化,如下所示: 1234def __init__(self): self.state = [i for i in range(256)] self.i = 0 self.j = 0 然后将使用key来对state进行更新,每一步都会将两个状态的值互换: 12345678def __swap_state(self, a, b): self.state[a], self.state[b] = self.state[b], self.state[a] def ksa(self, key): j = 0 for i in ...
2018GoogleCTF-Just-In-Time
Created2021-03-13|PwnBrowserV8TurboFan
IntroductionThis is a small write up and recurrence for 2018GoogleCTF Just-In-Time. Build environmentThe version of chromium is 70.0.3538.9, we just need V8, so we can use OmahaProxy CSV Viewer to get the version of V8, the result is 7.0.276.3. And we can build it. We should allow checkbounds optimization, just use echo "v8_untrusted_code_mitigations = false" >> out.gn/x64.debug/args.gn AnalysisThe patch file addition-reducer.patch is as follow: 12345678910111213141516171819202 ...
1234
avatar
Vergissmeinnicht
Articles
38
Tags
15
Categories
32
Follow Me
Announcement
Live Long And Pwn.
Recent Post
AFL源码阅读 - afl-fuzz2022-03-14
AFL源码阅读 - afl-clang-fast2022-03-14
AFL源码阅读 - afl-as2022-03-13
AFL源码阅读 - afl-gcc2022-03-13
CVE-2021-43226 :CLFS 中的栈溢出漏洞2022-02-05
Categories
  • AFL4
  • BlockChain2
    • WriteUp2
  • Crypto3
    • FMS1
    • SM41
      • DFA1
    • WriteUp1
Tags
Back-End CFG HEVD JerryScript Kernel Linux Musl-gcc Pwn SEH SMEP SafeSEH UAF Windows WriteUp rop
Archives
  • March 20224
  • February 20222
  • January 20223
  • December 20213
  • October 20218
  • September 20213
  • June 20212
  • April 20212
Info
Article :
38
UV :
PV :
Last Push :
©2020 - 2022 By Vergissmeinnicht
Framework Hexo|Theme Butterfly