ISCC2018 Reverse & Pwn writeup】的更多相关文章

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)…
最近做了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…
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写入…
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…
一共放出五道题,都不是很难. blackgive 考栈转移,值得注意的一点是转移过去先填充几个ret,因为如果直接在转移过去的地方写rop链,执行起来会覆盖到上面的一些指针,导致程序不能正常输入和输出.我比较疑惑的是,我不清楚为什么我用system打不通,最后用one_gadgets才做出来. 1 from pwn import * 2 3 p = remote('182.92.108.71',30459) 4 libc = ELF('./libc.so.6') 5 elf = ELF('./p…
为了打2021的ACTF,想着把2020年的pwn题做一做吧,发现2020年的pwn题质量还挺高的.反倒是2021年的题目质量不太高,好像是没有专门的pwn师傅出题,可以理解,毕竟办校赛,说白了就是用爱发电. Check_rop 题目保护如下: 可以看到开启了FORTIFY保护. FORTIFY技术是 gcc 在编译源码的时候会判断程序哪些buffer会存在 可能的溢出,在 buffer 大小已知的情况下,GCC 会把 strcpy,memcpy 这类函数自动替换成相应的 __strcpy_ch…
来做一下以前比赛的题目,下面两个题目都可以在buu复现(感谢赵总). SWPUCTF_2019_login 32位程序,考点是bss段上的格式化字符串.用惯onegadgets了,而对于32位程序来说,onegadgets似乎不太好用,条件太苛刻了.还是用system拿shell好一点. 我见网上都是打got表拿的shell,我是修改程序执行流程为system拿的shell. 修改0xffc2e7a8 -▸ 0xffc2e7b8为0xffc2e7a8 -▸ 0xffc2e79c 然后让0xffc…
week2一共有4道pwn题 killerqueen 有格式化字符串漏洞,题不算难,但是故事情节真实让人摸不着头脑,但是仔细分析分析,理清楚逻辑就可以做了. 第一次choose1的时候,可以输入0,泄露weather,第二次choose1的时候,就可以让v1==0xFFFFFFFE,进入if分支给s输入值.这里的s的栈地址和存在格式化字符串的栈地址是共享的,并且没有偏移. 这样就有两次机会使用格式化字符串,第一次先泄露libc地址,第二次用格式化字符串进行写操作.刚开始我是打exit_hook来…
碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! 之前学C的时候了解过gets()函数很危险 一般笔者会使用如下代码代替gets() scanf("%[^\n]%*c",a); 学了Pwn更直观地感受到了这一点 关于scanf的更多用法详见 https://blog.csdn.net/jeffasd/article/details/807…
此篇用来记录我在jarivsOJ上的一些题解,只给解题思路,不放flag Misc 0x01 You Need Python(300) 题目有两个文件,一个py文件,另一个是经过编码的key 文件key 首先看到提示key_is_here_but_do_you_know_rfc4042,baidu一下了解到是utf9编码,于是将这个文件解码,得到一串字符(md里对下划线要转义才能正常显示,偷个懒所以我这里贴出的字符是没转义过的,请不要直接拿去进行下一步的操作以免出错) _____*((//++_…
攻防世界中此题信息未给全,题目来源为[TWCTF-2016:Reverse] Reverse Box 网上有很多wp是使用gdb脚本,这里找到一个本地还原关键算法,然后再爆破的 https://www.megabeets.net/twctf-2016-reverse-reverse-box/ [TWCTF-2016:Reverse] Reverse Box Writeup 标准 Shak的客座文章. 挑战描述$ ./reverse_box $ {FLAG} 95eeaf95ef942349995…
MIPS Pwn writeup Mplogin 静态分析   mips pwn入门题. mips pwn查找gadget使用IDA mipsrop这个插件,兼容IDA 6.x和IDA 7.x,在IDA 7.5中解决方案可以参考这个链接:https://bbs.pediy.com/thread-266102.htm 程序流程比较简单,输入用户名和密码进行登录操作. 漏洞存在在vuln函数中,buf只有20字节的空间,但是read函数填充了36字节的数据,覆盖了栈内变量length,将length…
一月 一叶飘零大佬的WP:安恒月赛一月 二进制部分:zjgcjy大佬的WP reverse1更容易理解的一种解法 pwn1详解 二月 一叶飘零WP 二进制部分: reverse Pwn 三月 ...…
本篇blog首发0xffff论坛(CTF:从0到1->zero2one - 0xFFFF),中间有各位大佬补充,搬到了个人博客CTF:从0到1 -> zero2one | c10udlnk_Log这里,在博客园这边也放一下hahah.是一点CTF的入门心得吧,希望能给想玩CTF的小朋友们一点帮助. 起文章名的时候没想太多光想着把to->2用上去,撞名都是我的锅(捂头 这里还只是个划水摸鱼的萌新(捂头)有什么写错的地方烦请大佬们多多补充谢谢0v0 持续更新ing... 0x01 关于CTF…
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAq…
目录 入门逆向 Easy_vb Easy_Re 游戏过关 Timer(阿里CTF) 逆向入门 love LoopAndLoop(阿里CTF) easy-100(LCTF) SafeBox(NJCTF) Mountain climbing 前言:在bugku上把能写的逆向都写了,由于大佬们的writeup太深奥或者说太简洁了让我(小白)看得云里雾里.所以我写了这个详细点的writeup(理解错的地方望指出),尽量让大家都看得懂.最近比较忙先写到了这里,未完待续 入门逆向 下载后ida打开,双击_m…
p1KkHeap 0.环境 1.文件信息 2.文件开启的保护 3.IDA分析 main函数 add show edit delete delete功能出现了指针悬浮的问题,配合上tcache,可以任意地址申请. 思路 程序禁用了system和execve,但是mmap出了一个R/W/X的区段. 我们可以通过double free 再 fix 的方式来修改tcache的struct,从而leak出libc地址 && 写入shellcode && 将 __malloc_hook…
ret to libc技巧:https://blog.csdn.net/zh_explorer/article/details/80306965 如何leak出libc地址:基地址+函数在libc中的偏移地址=函数真实地址 1.已知libc,函数地址-函数在libc中的地址=基地址 2.不知道libc,就要leak出libc中的两个函数…
目录 预备学习--Linux实践:ELF文件格式分析 一.概述 二.分析ELF文件头(ELF header) 三.通过文件头找到section header table,理解其内容 四.通过section header table找到各section 正式开始 无能瞎搞 IDA启动 预备学习--Linux实践:ELF文件格式分析 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标文件)格式…
比较数字大小 F12 修改maxlength为4 web01 strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言  在==比较的时候,如果有数值的话会先将字符串转换为数值在进行比较,而NULL转换成数值为0,所以绕过题目限制. payload:  get: /?password[]=1 本地的诱惑 右键查看源代码即可. 你能跨过去吗? 复制callback参数内容 base64解码得到<script>alert("key:/%nsfocusXSStest%/"…
前言 GKCTF 2021所以题目均以开源,下面所说的一切思路可以自行通过源码对比IDA进行验证. Github项目地址:https://github.com/w4nd3r-0/GKCTF2021 出题及解题思路 QQQQT Enigma Virtual Box打包的QT程序,可以解包其实也可以不解包,因为这里并没有对字符串做隐藏,按钮事件函数可以很块通过flag字符串定位,按根据钮事件的逻辑也十分好猜,base系列加密特征明显,对base系列算法稍有了解的即可识别.若还是无法识别,建议查看一些…
10.0.0.55 Writeup Web 0x01 easyweb 解题思路 题目很脑洞 用户名admin 密码123456进去可得到flag(密码现在换了) 解题脚本 无 Reverse 0x02 2ex 解题思路 题目给了一个ELF和一个out文件, out文件 运行ELF文件, 发现它会根据我的输入给出对应输出, 格式与out文件中的内容相仿 尝试直接爆破, 得到 flag{change53233} 解题脚本 #!/usr/bin/env python # -*- coding: utf…
题解部分:Misc(除misc500).Web(除Only Admin.Only admin can see flag.有种你来绕.试试看).Reverse.Pwn.Mobile Misc( Author: L1B0 ) What is that?(50) 题目是一张图片,手指指向下提示图片下面还有内容. 第一种方法:Windows环境下可以用010editor直接修改png的高而不会报错,因为windows的图片查看器会忽略错误的CRC校验码.所以我们可以直接修改png的高,如下图.改完保存后…
hackme.inndy.tw的一些Writeup(6月3日更新) 原文链接:http://www.cnblogs.com/WangAoBo/p/7706719.html 推荐一下https://hackme.inndy.tw/scoreboard/,上边有一些很好的针对新手的题目,但网上能搜到的Writeup很少,因此开了这篇博文记录一下部分目前解出的题目(主要是pwn和re),以后会跟着解题进度的推进逐步更新,同时遵循inndy师傅的规矩,只放思路,不放flag. zwhubuntu师傅的部…
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{We1c0m3_To_G33k_2O!6} 并且可以知道后边的题的Flag格式为 SYC{} 2.xiao彩蛋 题目提示关注微博,从Syclover Team 博客(http://blog.sycsec.com)可获取到三叶草小组微博,私信发送flag后即可得到. 3.闪的好快 一开始拖进PS分帧数…
日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在朋友的指点下做了一些简单的题目.记得上次去观摩0CTF&0Con得到的点拨:在每一次比赛结束后都要做总结.整理做出来的题目,理解没有做出来的题目.这样才会有所长进.因此打算在blog上开一个WriteUp.记下来搞定的,待未解出题有大牛放出WriteUp后,理解一下,并贴于此. 本次题目列表: 下面…
比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制.漏洞是一个内存未初始化漏洞,就是申请内存的时候,上一次的内存还未清0,这个时候通过构造特定输入可以使用内存中仍有的内容.这样的话,容易造成数组的越界读写.就是通过数组的越界读写将程序的基址,libc的基址,堆的基址,cookie都给泄露了出来.通过构造任意地址写,将虚表指针覆盖为gadget地址,…
0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰色部分发现了IHDR,是png文件的一个标志,所以应该是文件连缀之后删去了png的文件头.尾 所以可以进行修复,在灰色部分前后分别加上png的文件头尾,并删去前面帅行的数据 保存之后发现图片是纯白的,而且在linux下无法打开 ->有可能是文件长宽被修改之后crc校验不匹配导致的 详情见M4X司机h…