![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PWN_WP
xiaoyuyulala
一个菜鸟的救赎
展开
-
18.9.18 Jarvis OJ PWN----[XMAN]level0
拖进IDA看到有函数callsystem,那就直接把主函数往它身上引在vulnerable里有缓冲区,试着溢出ebp偏移量0x80个字节,覆盖后再用8个字节覆盖保存的ebp,然后将返回地址设为callsystem函数的地址脚本#coding=utf-8from pwn import *#conn=process('./[XMAN]level0')conn=remot...原创 2018-09-18 15:13:35 · 184 阅读 · 0 评论 -
18.9.20 Jarvis OJ PWN----[XMAN]level3(x64)
解压之后有两个文件,其中一个是lib,checksec后发现没有栈保护,wo,好想知道该怎么做了拖进IDA看一下哪里可以溢出read函数可以溢出然后根据偏移量把system函数和/bin/sh在内存的位置提取出来同样采取rop代码,注意64位的传参数顺序哦上脚本#代码主体write_got=bin.got['write']write_plt=bin.plt['w...原创 2018-09-20 09:27:47 · 452 阅读 · 0 评论 -
18.9.20 Jarvis OJ PWN----[XMAN]level4
checksec之后,发现可以栈溢出找可以溢出的地方我们可以读取无穷无尽的数但是在IDA中没找到system函数,同时题目也没有给我们lib文件,咋办…………根据大佬的资料,了解到了pwntools的一个函数DynELF,DynELF函数可以leak system的真实地址,当然最后我们还是要用rop代码重新还原回去执行的先看一下DynELF怎么用,基本流程如下d ...原创 2018-09-20 11:55:09 · 469 阅读 · 0 评论 -
18.9.20 Jarvis OJ PWN----Test Your Memory
先checksec一下可以栈溢出放到IDA里看一下,发现有system函数(在函数with_func中调用),喜出望外,同时搜索字符串时,可以发现打开flag的指令,如下再看一下哪里可以溢出,在mem_test函数中,scanf就可以溢出直接上脚本吧#代码主体system_addr=bin.symbols['win_func']payload='a'*(0x...原创 2018-09-20 14:07:35 · 304 阅读 · 0 评论 -
18.9.25 Jarvis OJ PWN----[XMAN]level5
题目提示:参考链接:https://veritas501.space/2017/03/10/JarvisOJ_WP/ https://blog.csdn.net/github_36788573/article/details/80178146mmap和mprotect练习,假设system和execve函数被禁用,请尝试使用mmap和mprotect完...原创 2018-09-25 11:39:39 · 534 阅读 · 0 评论 -
2018 SUCTF招新赛
PWN1.stackchecksec一波什么保护都没开,可还行,IDA找一波漏洞read函数百分之百溢出我们看到了我们喜爱的改一下rip美滋滋exp#coding=utf8from pwn import *context.log_level = 'debug'context.terminal = ['gnome-terminal','-x','b...原创 2018-11-15 09:19:59 · 1726 阅读 · 0 评论 -
HGAME 2017 or 2018 PWN levels
这个算是做之前的复现吧,感谢Veritas501WEEK11.flag server拖进IDA看一下流程倒着看,要有flag-----v8=1-----v5=v6-----s1=admin,我们可以把s1覆盖掉-----username长度不能大于63,不能等于0-----之后还要猜出随机数v6,看一下怎么覆盖这些变量都在一起,美滋滋expfrom pwn...原创 2018-11-12 12:58:54 · 914 阅读 · 0 评论 -
pwnable.tw 1~5 心累
听说很难,来找虐1.Start [100 pts]之前湖湘杯有一题啥防护措施都没开启,我就不会做,所以不敢开心的太早拖进IDA,这啥东西还是直接看汇编吧这是个系统调用大概就是系统中断之后直接调用吧,边上有注释,不然我直接凉了来,看一下汇编先把地址给ecx,给了给长度范围,饭后执行标准输出,输出到终端,然后执行写操作进入写函数以后,标准读入,长度还是2...原创 2018-12-02 15:08:54 · 591 阅读 · 0 评论 -
pwnable.tw 9 seethefile [250 pts]
之前做了五道题直接做自闭了,各种手写shellcode,学到了很多姿势,这是一道文件题,没接触过,来挑战一下……no canary found!!!!!! 拖进IDA分析一共有五个功能有一个明显的栈溢出我们可以通过溢出name来覆盖fp1)openfile:打开文件,文件指针就是fp,不能打开文件名为flag的文件2)readfile:从fp读取0x18F个字节...原创 2018-12-04 14:11:14 · 770 阅读 · 1 评论 -
18.9.19 Jarvis OJ PWN----Smashes
先checksec一下我的天,有栈保护,nx,咋办……IDA进去,我们可以看见有个函数挺关键的,如下我们可以看到stdin是可以无限输入的,但是只有接收输入时接收到'\n',才会继续执行(跳出while循环),找不出栈溢出的办法然后看了大佬的操作之后发现:可以故意触发canary来攻击(SSP(Stack Smashing Protector ) leak)先介绍一下好...原创 2018-09-19 20:51:06 · 515 阅读 · 0 评论 -
18.9.19 Jarvis OJ PWN----[XMAN]level2(x64)
先checksec一下可以栈溢出,我们可以看到文件里有system函数,有/bin/sh字符串,美滋滋64位函数的参数传递顺序和32位不同,传参顺序:rdi,rsi,rdx,rcx,r8,r9,栈,所以要把\bin\sh的地址放到rdi里找一下可溢出的地方,在read函数里关键点其实就是找出rdi地址(参考大佬的教学)指令语句:ROPgadget --binary le...原创 2018-09-19 16:11:49 · 287 阅读 · 0 评论 -
18.9.19 Jarvis OJ PWN----Tell Me Something
我先checksec一下可以栈溢出,发现主函数里的read函数就可以溢出我们可以看到函数列表里还有个函数叫good_game那直接覆盖然会地址就好啦上脚本#函数主体cn.recvuntil("Input your message:\n")goodgame_addr=0x00400620payload='a'*(0x88)+p64(goodgame_addr...原创 2018-09-19 15:12:37 · 177 阅读 · 0 评论 -
18.9.18 pwnable.kr----passcode - 10 pt
这题有C的源码,直接gcc运行后,拖进IDA分析一下到底出了什么问题但是并看不出什么,打算用gdb动态看一下因为看C的源码感觉没什么问题,可能是ebp覆盖报错什么的,我就在两个函数前都设置的断点因为login中scanf没有用取地址,所以会直接读取当前栈,从而有危险性welcome中的参数name所处位置是ebp-70,在IDA里面也可以看到,name参数所占的空间一共是96个...原创 2018-09-18 13:55:20 · 162 阅读 · 0 评论 -
18.9.17 pwnable.kr----bof - 5 pt
直接调整ebp,修改renturnaddress,覆盖到key的地址后赋值0xcafebabe就可以了ebp地址偏移量可一直接在IDA里面看见哟上脚本#coding=utf-8from pwn import *conn=remote("pwnable.kr",9000)payload='a'*52+p32(0xcafebabe)conn.recvuntil('overfl...原创 2018-09-17 19:42:49 · 155 阅读 · 0 评论 -
18.9.17 pwnable.kr----collision - 3 pt
同样的操作,找到c的源码用(int*)强制转换,然后赋给给ip,ip的钱五个值的和等于res刚开始我们要输入20个字节(强制转换成int型后,正好分成了五组)执行check_password之后返回的值要等与0x21DD09EC上脚本(参考了大佬的)第一次接触ssh#codeing=utf-8from pwn import *import ospwn_ssh=ssh...原创 2018-09-17 15:32:48 · 213 阅读 · 1 评论 -
18.9.17 pwnable.kr----fd - 1 pt
第一题,上天保佑先接上网址,密码就是guest(已提示)然后ls访问目录,发现只有fd.c可以访问打开关键其实就是fd的值,我也不了解这是什么,搜一下,后来知道是File descriptor(文件描述符),read函数的fd应该是0即我们原先输入的值-0x1234之后要是0,十进制为4660,调整之后就可以输入了,输入的字符串题目也已经规定了,就是要与LETMEWIN相同...原创 2018-09-17 14:34:09 · 190 阅读 · 0 评论 -
18.9.16 PWN3/4----bigboy/get it
今天正好看到了CSAW,这个是pwn里最简单的两个题目题目3. bigboy链接:https://pan.baidu.com/s/1fsq8j7KQBOHRBdK4lZUMbA 密码:hsw6直接IDAemmm……不想说话,简单溢出就好,脚本#coding=utf-8from pwn import *#conn=remote('pwn.chal.csaw.io',90...原创 2018-09-16 21:16:59 · 157 阅读 · 0 评论 -
18.9.16 PWN----When Did You Born
最近想学一下pwn的基础这个是南邮CTF平台的PWN的第一题把算是(老平台的唯一一道)听大神说pwn很多文件都采取elf头,所以推荐在linux下食用直接拖进IDA,分析一下看下来是利用缓冲区溢出吧,先输入v4字符串覆盖空间,然后再给v5赋值1926就好了,试试看,从ebp的偏移可以看出来v4距离v5需要覆盖8个字节但是有个坑就是刚开始What's your birth那里...原创 2018-09-16 13:02:07 · 1273 阅读 · 0 评论 -
18.9.16 PWN2----Stack Overflow
还是cgctf的题目拖进IDA来说一说fgets(..)函数 原型 char * fgets(char * s, int n,FILE *stream);参数:s: 字符型指针,指向存储读入数据的缓冲区的地址;n: 从流中读入n-1个字符;stream : 指向读取的流。我们可以看到main中有两个函数,menu和message,(函数列表中还有pwnme函数,...原创 2018-09-16 16:14:34 · 296 阅读 · 0 评论 -
18.9.18 Jarvis OJ PWN----[XMAN]level1
拖进IDA这次先是一个vulnerable_function函数,再是一个write函数查看保护机制,发现没有开启,大佬说保护机制没开启,就可以用shellcode啦接下来看函数内部可以看到buf的缓冲区大小为0x100个字节,但是其偏移量是0x88个字节在0x88个字节中首先要留出shellcode的空间(注意这里是32位的)最终返回的地址显然也要返回到shell...原创 2018-09-18 18:11:26 · 195 阅读 · 0 评论 -
18.9.18 Jarvis OJ PWN----[XMAN]level2
先检测文件我们可以看到没有栈保护,可以利用栈溢出拖进IDA先是一个vulnerable_function函数,同时在函数列表中我们可以看到有system函数,我们可以把returnaddress牵引到system函数上,执行/bin/sh语句buf的偏移量是0x88个字节,花0x04个字节覆盖ebp,然后伪造returnsddress跳转到system,再加上用来给syst...原创 2018-09-18 20:56:35 · 211 阅读 · 0 评论 -
18.9.19 Jarvis OJ PWN----[XMAN]level3
打开压缩包,看到了两个文件,surprise! 有个lib文件checksec一波,发现没有保护栈那就先找到可以栈溢出的地方哟,如下可是问题来了,没有system函数,也没有/bin/sh字符串,但是在链接库(lib文件)中可以找到,如下我们显然必须要知道system函数与/bin/sh字符在内存中的地址,之前我也不知道该怎么找,开始向大佬学姿势key_point:...原创 2018-09-19 14:37:59 · 375 阅读 · 0 评论 -
安恒 12月 pwn ----messageb0x
这次安恒就看了pwn题,第二个是orange,还不会,就做了下第一个总体就是个简单的rop,但是有个坑就是题目让我们猜libc的版本到底是啥然后我在IDA里看到了一个字符串被坑惨了,在2.27调试了半天后来发现是2.23的,哭了#coding=utf8from pwn import *context.log_level = 'debug'context.terminal...原创 2018-12-24 23:32:49 · 723 阅读 · 0 评论