BUUOJ PWN 81-100

目录

 

 

81、pwnable_hacknote

82、jarvisoj_level5

83、hitcon2014_stkof

84、cmcc_pwnme2

85、actf_2019_babystack 栈迁移

86、npuctf_2020_easyheap

87、picoctf_2018_can_you_gets_me

88、picoctf_2018_got_shell

89、[BJDCTF 2nd]snake_dyn

90、axb_2019_brop64

91、gyctf_2020_some_thing_exceting

92、picoctf_2018_shellcode

94、axb_2019_heap

95、ciscn_2019_final_2

96、mrctf2020_easy_equation 格式化字符串

97、ciscn_2019_s_9可以试试栈迁移shellcode

98、axb_2019_fmt64 格式化字符串

99、[极客大挑战 2019]Not Bad

100、inndy_echo格式化字符串


 

81、pwnable_hacknote UAF

释放后重新申请更改chunk0的content指针为puts_got,利用打印功能泄露地址,再释放再申请myprint函数改成system函数后,system参数就是system地址内容后面再跟上||sh正好4字节 或者;sh\x00

82、jarvisoj_level5

level3 level4 level5都一样的?

 

83、hitcon2014_stkof  unlink

调输出调半天,delete函数最后一句要是加recvuntil(OK\n)  就把你要的输出函数地址接受了,我就说调试模式看见输出有7f了   咋就不见地址输出来呢

unlink后 把1指针改成freegot,3指针改成putsgot,编辑1改free为puts,调用delete3就是打印puts函数地址

84、cmcc_pwnme2

溢出 gets写文件 后门函数

85、actf_2019_babystack 栈迁移

栈迁移,可以溢出16字节,正好溢出到返回地址,那个可恶的send到底是咋回事啊  sendline就是过不去,两次必须都得是send才行,之前有一道题就是,还有ubuntu18涉及到system要栈对齐加一个ret

 

 

86、npuctf_2020_easyheap  OFFBYONE

想办法改系统chunk,edit就是改got,show就是泄露地址

p64(free_got_addr)前是p64(0)就不行 得大一点不知道为啥

 

87、picoctf_2018_can_you_gets_me

同63、inndy_rop    工具:ROPgadget --binary   程序名字  --ropchain

 

88、picoctf_2018_got_shell

puts函数got表地址改成后门函数地址

89、[BJDCTF 2nd]snake_dyn

ssh -p 端口 ctf@node3.buuoj.cn

扫码 输入密码后就是玩游戏嘛,结果这个按键有延迟啊 画面还总闪,2900的时候莫名其妙的撞死了

溢出也没看懂啥原理,strncpy0x100怎么就溢出了?

我明白了,全局变量name和flag是挨着的,主程序运行后将flag文件内容读入flag中,name变量大小0x100如果全用a填充的话没有0结束符就相当于flag后面的内容作为name的内容,游戏时左上角显示你的name也就是显示256个a后面跟flag

 

如何用python实现ssh登陆 、输密码 snakes 、运行./snake ,

sh = ssh(host='node3.buuoj.cn', user='ctf', password='sNaKes', port=25637)
p = sh.process('./snake')
payload = b'a' * 0x100
p.sendline(payload)
p.interactive()

 

 

90、axb_2019_brop64

题目的本意是不给你文件的,那我就不会做了,盲打感觉好难

 

91、gyctf_2020_some_thing_exceting

92、picoctf_2018_shellcode

试运行

题目的难点就在于不能反编译??汇编大概能看懂,根据运行及题目名猜测gets输入shellcode,然后程序执行shellcode,gets的变量怎么传到主函数的call eax那就不太懂了

同 79、hitcontraining_bamboobox

 

94、axb_2019_heap

 

 

95、ciscn_2019_final_2

 

 

96、mrctf2020_easy_equation 格式化字符串

多写一个b,8个a正好对齐在第8 偏移,那么第九偏移就是我们要的,不过没想明白为啥不考虑那几个寄存器呢?

 

 

97、ciscn_2019_s_9可以试试栈迁移shellcode

简单做法是libc,代码写的多些

 

能溢出18字节,实际用了16字节,刚好够用,还可以考虑栈迁移  

 

98、axb_2019_fmt64 格式化字符串

先了解一下字符串字节取值,>>8舍弃最后一字节,16舍弃两字节,&0XFF取最后一字节 0xff最后两字节,最后求得的system地址与printf地址后三字节不同,字符串首字母偏移8

 

99、[极客大挑战 2019]Not Bad OWR

 

100、inndy_echo格式化字符串

buf 偏移7,将printf_got_addr改成system_plt_addr,学会使用fmtstr_payload工具写法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值