SWPUCTF 2019 pwn writeup】的更多相关文章

来做一下以前比赛的题目,下面两个题目都可以在buu复现(感谢赵总). SWPUCTF_2019_login 32位程序,考点是bss段上的格式化字符串.用惯onegadgets了,而对于32位程序来说,onegadgets似乎不太好用,条件太苛刻了.还是用system拿shell好一点. 我见网上都是打got表拿的shell,我是修改程序执行流程为system拿的shell. 修改0xffc2e7a8 -▸ 0xffc2e7b8为0xffc2e7a8 -▸ 0xffc2e79c 然后让0xffc…
本次SWPUCTF开赛了,一共做了5个misc+2个web,RE和Android没时间看= =,pwn完全不会,果然又是和去年一样划水.题目都出的很不错,做题的时候思路其实也容易想到,剩下几个web有思路但是最后还是没有做出来. 简单写个WP吧. 本次比赛的部分文件我已保存上传至xxx.懒得上传,需要的话找我拿吧. 一.MISC 神奇的二维码 下载之后是一个二维码,直接扫描后是一个fakeflag,直接binwalk先扫描一波 可以发现里面有几个rar,将其分离出来,其中两个rar解出来都是没有…
最近做了Jarvis OJ的一部分pwn题,收获颇丰,现在这里简单记录一下exp,分析过程和思路以后再补上 Tell Me Something 此题与level0类似,请参考level0的writeup http://www.cnblogs.com/WangAoBo/p/7591552.html #!/usr/bin/env python # -*- coding: utf-8 -*- __Auther__ = 'M4x' from pwn import * elf = ELF('./guest…
做了一天水了几道题发现自己比较菜,mfc最后也没怼出来,被自己菜哭 easycpp c++的stl算法,先读入一个数组,再产生一个斐波拉契数列数组 main::{lambda(int)#1}::operator() 是相加函数 使用transform调用lambda(int)#1让数组从第二位到最后一位都加上第一位,然后将数组倒置 把处理后的数组与斐波拉契数组比较,若相等则输出flag,逆向求出输入即可. testre 大部分代码没有用处,去掉混淆的代码,主要部分是这些 while ( v20…
CGfsb 题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050 下载文件后,使用file命令查看. 32位的文件,用ida打开,F5查看伪代码. printf漏洞:https://www.cnblogs.com/cfans1993/articles/5619134.html 思路: 找到pwnme的地址 把pwnme的地址写到s里面 printf输出8个字节,然后用%n把8写入…
参考链接 https://ctftime.org/task/7459 Linux内核访问用户空间文件:get_fs()/set_fs()的使用 漏洞的patch信息 https://maltekraus.de/blog/ctf/english/2019/01/20/insomnihack-teaser.html https://github.com/EmpireCTF/empirectf/blob/master/writeups/2019-01-19-Insomni-Hack-Teaser/RE…
Reference:L1B0 Re RSA256 春秋欢乐赛原题..flag都不变的 给了三个加密文件和公钥证书public.key,可以使用openssl进行处理 $openssl rsa -pubin -text -modulus -in ./public.key Public-Key: ( bit) Modulus: :d9:9e::::a6:d9:::4a:ba:: 5b:::d6:0a:7b:9e::0a:ff::1c::ec:: d5::eb Exponent: (0x10001)…
jdt 一个图书管理系统,但并不是常规的堆题.edit和show函数可以越界.edit函数和show函数相互配合泄露libc基地址,将main函数的返回地址覆盖成onegadgets拿shell. from pwn import * p = process('./pwn') elf = ELF('./pwn') libc = ELF('./libc.so.6') context(os='linux',arch='amd64',log_level='debug') def duan(): gdb.…
上周抽时间打了nepnep举办的CTF比赛,pwn题目出的挺不错的,适合我这种只会一点点选手做,都可以学到新东西. [签到] 送你一朵小红花 64位程序,保护全开. 程序会在buf[2]处留下一个data段的地址,可以覆盖这个地址的后两个字节,使得有1/16的几率,可以让程序执行到puts5函数,就可以拿flag了.直接写代码爆破就可. 1 from pwn import * 2 3 context.log_level = 'debug' 4 flag = '' 5 #4E1 6 7 while…
第四周只放出两道题,也不是很难. house_of_cosmos 没开pie,并且可以打got表. 在自写的输入函数存在漏洞.当a2==0时,因为时int类型,这里就会存在溢出.菜单题,但是没有输出功能. 思路:利用溢出将chunk申请到bss段,控制chunk指针,改写free为puts函数,进行泄露libc地址,改写atoi为system拿shell. 1 from pwn import * 2 3 p = process('./pwn') 4 elf = ELF('./pwn') 5 li…