HUAWEI XCTF 2020 PWN WRITE UP
HUAWEI XCTF 2020 PWN WRITE UPHUAWEI XCTF 2020 FirstCPPchecksec Arch: amd64-64-little
RELRO: Full RELRO
Stack: Canary found
NX: NX enabled
PIE: PIE enabled
Use the cutter decompiler to analize this program
undefined8 main(void)
{
int64_t *piVar1;
int64_t iVar2;
undefined *arg1;
undefined *puVar3;
int64_t in_FS_OFFSET;
uint64_t uStack40;
int64_t iStack32;
iStack32 = *(int64_t *)(in_FS_OFFSET + 0x28);
setvbuf(_reloc.stdin, ...
Some small records of the I-SOON Cup Of CUIT CTF Competition final
Some small records of the I-SOON Cup Of CUIT CTF Competition final
The 2020 i-soon cup finals have been successfully held. D0g3’s every member have worked hard. This competition feels great. After all, I have experienced a lot and learned a lot. My experience of this competition is as follows.
D0g3’s internal self-developed awd platform without documentation, various error reports emerge in an endless stream. After a week of tossing about the platform construction and test challenges, We have ba ...
祥云杯 2020 WP
祥云杯 2020 WP前言这次比赛打得不是很好,第一个题从比赛开始一直做,做到下午5点还没做出来,只好看其他pwn了,拿到可以实现修改rip了,但是打所有one_gadget都失败,打到一个,不能输入命令执行,只好去看我接的那个项目了,当天就是截至日期,我的项目里还存在几个错误,对方一直在催,我只好再改改项目中的代码,但是还是不会写测试代码,不知道那边测试机制是啥。。。然后又继续干pwn了,在libc中一直找gadget想来控制一下rdi寄存器,并且调用system函数,setcontext中的gadget可以实现,但是开辟的堆太小了,没法使用该gadget,我只好再找找其他的gadget,找到一个可以修改rsp寄存器的gadget,我采用该gadget来打one_gadget,想不到还通了。。。晚上10点第一个pwn,后面心情爽多了,晚上11点又干出到影流之主,该题听说是个cve,熬夜继续干,先是看了把嘴闭上,实在没思路,有继续看第一个pwn了,换了另一种思路,凌晨3点出了这道。接下来只剩下内核pwn和一个没头绪的把嘴闭上了,我就没看了,一觉睡到9点,听说上了道pwn,匆忙的从寝室去 ...
CVE-2018-18708
CVE-2018-18708 复现该题在nu1lctf2020 的pwn中已经出现,为babyrouter,不妨来复现复现该cve。
工具+环境下载
cutter
ida
gdb + pwndbg
qemu-arm
python
远程实验环境docker + qemu-arm
漏洞分析简要概述CVE-2018-18708,多款Tenda产品中的httpd存在缓冲区溢出漏洞。攻击者可利用该漏洞造成拒绝服务(覆盖函数的返回地址)。以下产品和版本受到影响:Tenda AC7 V15.03.06.44_CN版本;AC9 V15.03.05.19(6318)_CN版本;AC10 V15.03.06.23_CN版本;AC15 V15.03.05.19_CN版本;AC18 V15.03.05.19(6318)_CN版本。
漏洞点sub_BE73Csigned int __fastcall vul_end(const char *a1, char *a2) # offset 000BE73C
{
signed int v2; // r3
char *dest; // [sp+8h] [bp- ...
第六届上海大学生网络安全大赛 wp
第六届上海大学生网络安全大赛这次比赛干了一天,早餐只吃了点鸡蛋, 午饭没吃, 干完pwn后才去吃的饭,总之今天表现的还不错,pwn给over了,cpu-emulator还拿了三血。。。
比赛开始了半个小时后,我就直接看pwn去了,发现签到题还没做,与我组队的师傅们好像刚好去打线下赛去了,我的队伍第9,而咱们实验室的另一只队伍与第一并其,这次比赛只筛选一只队伍,我们队就去不了了,总之下次好好加油吧,冲进线下!!!
最终排名如下:
pwn1 [cpu_emulator]这个题拿了三血,刚开始一直没找到漏洞点,不断的分析才知道有个功能堆偏移地址写入。
简单概述程序pie没开,是一个指令模拟器,实现某些运算操作。输入时先开辟内存储存指令数据,但是没有堆相关的漏洞。
程序运行规则:
输入指令后,进入run函数进行运行,每次取出 dword的数据进行解析指令,以下解释是根据调试出来的,这个ida反编译有误,然而在执行sub_4009A8函数时是取出操作指令数据,也就是26~32位,ida反编译时没有相关的变量来储存这个操作指令,通过调试才发现的。然后就是取出3个被操作数了
result = (u ...
tiesan 2020
铁三初赛PWN多亏师傅们带飞,本次排名第四赛区第二,排名如下^_^
pwn1[namepie]ssize_t sub_9A0()
{
char s; // [rsp+0h] [rbp-30h]
unsigned __int64 v2; // [rsp+28h] [rbp-8h]
v2 = __readfsqword(0x28u);
memset(&s, 0, 0x1EuLL);
puts("Input your Name:");
read(0, &s, 0x30uLL);//vul
printf("hello %s: and what do your want to sey!\n", &s);
return read(0, &s, 0x60uLL); //vul2 堆栈溢出
}
前言程序留了后面函数,保护全开
思路先使用第一次输入泄露cannary,然后在使用后一次输入低字节覆盖return 地址为后门函数地址,打通几率1 / 16
EXP#!/usr/bin/env python
#-*- coding:utf-8 ...
OTHER WRITE UP FOR ME
OTHER WRITE UP FOR MEechoback题目来源: World of Attack & Defense
checksec Arch: amd64-64-little
RELRO: Full RELRO
Stack: Canary found
NX: NX enabled
PIE: PIE enabled
vulunsigned __int64 __fastcall sub_B80(_BYTE *a1)
{
size_t nbytes; // [rsp+1Ch] [rbp-14h] long int
unsigned __int64 v3; // [rsp+28h] [rbp-8h]
v3 = __readfsqword(0x28u);
memset((char *)&nbytes + 4, 0, 8uLL);
printf("length:", 0LL);
_isoc99_scanf("%d", &nbytes);
getchar(); ...
NSSC 2020 CTF
NSSC 2020 CTF WP [2020年全国电信和互联网行业网络安全管理职业技能竞赛(第九届)]Trials competition这次比赛表现得不是很好,题目不是很难,也怪自己没把握住时间,第三道比赛刚结束就打通了。。。这次名次为10,应该进线下了,下次好好加油!
本次比赛排名如下:
pwn1[Echo]通过利用字符串漏洞泄漏libc基地址, elf基地址, 修改 _IO_FILE struct,然后打入stack 中的 &main ret构造rop链
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
# Author: i0gan
# Env: Linux arch 5.8.14-arch1-1
from pwn import *
import os
r = lambda x : io.recv(x)
ra = lambda : io.recvall()
rl = lambda : io.recvline(keepends = True)
ru = lambda x : io.recvuntil( ...
湖湘杯2020
湖湘杯0x01前言这一次比赛可惜没有过初赛的理论赛都没过,没注意湖湘杯理论赛。~今天打这个湖湘杯, 我的师傅与我的同学都进线下了….@_@。不管怎样,下次好好加油。。。这次比赛出现简单题目分值高,怪了。。。
pwn1 [pwn_printf]下载
保护
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
主函数如下
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
__int64 v4; // [rsp+8h] [rbp-100A8h]
__int64 v5; // [rsp+10h] [rbp-100A0h]
__int64 v6; // [rsp+18h] [rbp-10098h]
__int64 v7; // [rsp+20h] [rbp-10090h]
_ ...