HGAME2021 week3 pwn writeup】的更多相关文章

一共放出五道题,都不是很难. 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…
第四周只放出两道题,也不是很难. 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…
week2一共有4道pwn题 killerqueen 有格式化字符串漏洞,题不算难,但是故事情节真实让人摸不着头脑,但是仔细分析分析,理清楚逻辑就可以做了. 第一次choose1的时候,可以输入0,泄露weather,第二次choose1的时候,就可以让v1==0xFFFFFFFE,进入if分支给s输入值.这里的s的栈地址和存在格式化字符串的栈地址是共享的,并且没有偏移. 这样就有两次机会使用格式化字符串,第一次先泄露libc地址,第二次用格式化字符串进行写操作.刚开始我是打exit_hook来…
最近做了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写入…
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…
为了打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…
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…
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAq…
碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! 之前学C的时候了解过gets()函数很危险 一般笔者会使用如下代码代替gets() scanf("%[^\n]%*c",a); 学了Pwn更直观地感受到了这一点 关于scanf的更多用法详见 https://blog.csdn.net/jeffasd/article/details/807…
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中的两个函数…
日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在朋友的指点下做了一些简单的题目.记得上次去观摩0CTF&0Con得到的点拨:在每一次比赛结束后都要做总结.整理做出来的题目,理解没有做出来的题目.这样才会有所长进.因此打算在blog上开一个WriteUp.记下来搞定的,待未解出题有大牛放出WriteUp后,理解一下,并贴于此. 本次题目列表: 下面…
比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制.漏洞是一个内存未初始化漏洞,就是申请内存的时候,上一次的内存还未清0,这个时候通过构造特定输入可以使用内存中仍有的内容.这样的话,容易造成数组的越界读写.就是通过数组的越界读写将程序的基址,libc的基址,堆的基址,cookie都给泄露了出来.通过构造任意地址写,将虚表指针覆盖为gadget地址,…
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的高,如下图.改完保存后…
作者:Tangerine@SAINTSEC 0×00前言 作为一个毕业一年多的辣鸡CTF选手,一直苦于pwn题目的入门难,入了门更难的问题.本来网上关于pwn的资料就比较零散,而且经常会碰到师傅们堪比解题过程略的writeup和没有注释,存在大量硬编码偏移的脚本,还有练习题目难找,调试环境难搭建,GDB没有IDA好操作等等问题.作为一个老萌新(雾),决定依据Atum师傅在i春秋上的pwn入门课程中的技术分类,结合近几年赛事中出现的一些题目和文章整理出一份自己心目中相对完整的Linux pwn教程…
2017湖湘杯复赛writeup 队伍名:China H.L.B 队伍同时在打 X-NUCA  和 湖湘杯的比赛,再加上周末周末周末啊,陪女朋友逛街吃饭看电影啊.所以精力有点分散,做出来部分题目,现在就写一下吧 湖湘杯的题目总的来说还是不错的,但是赛后听别人吐槽有好几个原题 flag 都没变的,唉. 下面就步入正题 WEB 题目名random150 解题思路.相关代码和Flag截图: .index.php.swp有源码泄露,查看源码发现是关于随机数的问题,题目复制到本地查看,里面是mt_sran…
相关文件位置 https://gitee.com/hac425/blog_data/tree/master/hctf2018 the_end 程序功能为,首先 打印出 libc 的地址, 然后可以允许任意地址写 5 字节. 解法一 在调用 exit 函数时, 最终在 ld.so 里面的 _dl_fini 函数会使用 0x7ffff7de7b2e <_dl_fini+126>: call QWORD PTR [rip+0x216414] # 0x7ffff7ffdf48 <_rtld_gl…
pwn ”Pwn”是一个黑客语法的俚语词 ,是指攻破设备或者系统 .发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵.以上是从百度百科上面抄的简介,而我个人理解的话,应该就是向目标发送特定的数据,使得其执行本来不会执行的代码,前段时间爆发的永恒之蓝等病毒其实也算得上是pwn的一种. pwn介绍 CTF pwn中的目标是拿到flag,一般是在linux平台下通过二进制/系统调用等方式编写漏洞利用脚本exp来获取对方服务器的shell,然后get到…
PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的CTF,Hitcon的题目内容更新,往往会出现一些以前从未从题目中出现过的姿势.同时观察一些CTF也可以发现,往往都是国外以及台湾的CTF中首先出现的姿势,然后一段时间后才会被国内的CTF学习到. 此次Hitcon2016目前还未发现有中文的writeup放出,由于Hitcon题目的高质量,所以这里写…
ZCTF的pwn赛题分析, PWN100 这道题与SCTF的pwn100玩法是一样的,区别在于这个要过前面的几个限制条件.不能触发exit(0).否则就不能实现溢出了. 依然是触发canary来leak出内存中的flag. note1 这次ZCTF的题是以一个系列出的,以下三个题都是同一个程序. 首先看了一下程序的大概流程,这个是记事本程序. 1.New note\n2.Show notes list\n3.Edit note\n4.Delete note\n5.Quit\noption--->…
pwn200 漏洞给的很明显,先是读到了main的局部数组中,然后在子函数中向子函数的局部数组栈里复制. 总体思路是leak system的地址,然后再向一个固定地址写入/bin/sh,最后执行system函数 leak使用pwn库的DynELF实现,整体使用rop链. //ida伪代码 int __fastcall echo(__int64 a1) { char s2[]; // [sp+10h] [bp-10h]@2 for ( i = ; *(_BYTE *)(i + a1); ++i )…
CTF-安恒19年二月月赛部分writeup MISC1-来玩个游戏吧 题目: 第一关,一眼可以看出是盲文,之前做过类似题目 拿到在线网站解一下 ??41402abc4b2a76b9719d911017c592,那么就奇怪了,这个??是什么东西,数一下加上??正好32位,应该是个MD5了,索性直接百度一下, 第一关答案出来了,试过了MD5值不对,hello是正确的,下一关. 第二关提示 没见过这种的,还是百度一下, 下载了这个脚本后执行命令 fastcoll_v1.0.0.5.exe -p C:…
拿到题后,就直接开鲁.. /ctf/pwn# checksec pwnme [*] '/ctf/pwn/pwnme' Arch: amd64--little RELRO: Full RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) 开了 NX和ERLRO. NX即No-eXecute(不可执行)的意思,NX(DEP)的基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数…
说在前面 这是一套Linux Pwn入门教程系列,作者依据Atum师傅在i春秋上的Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程. 问:为什么要花费精力去整理这套系统的Linux Pwn教程? 答:网上关于Pwn的资料比较零散:经常会碰到解题过程略的Writeup和没有注释:存在大量硬编码偏移的脚本:练习题目难找:调试环境难搭建:GDB没有IDA好操作等等问题. 问:这个Linux Pwn教程适合新手学习吗? 答:本套课程非常适合萌新…
The Lounge战队 CISCN2018 Writeup Pwn-Supermarket from pwn import * def add(name,price,size,des): p.sendlineafter(">> ","1") p.sendlineafter("name:",name) p.sendlineafter("price:",str(price)) p.sendlineafter(&quo…