评分(4)
解题动态
hjk888 攻破了该题 5天前
pinus 攻破了该题 5天前
gr816ox 攻破了该题 11天前
afeer123 攻破了该题 11天前
不知眠 攻破了该题 12天前
hyt666 攻破了该题 12天前
zhaoshanhe33 攻破了该题 13天前
972253041 攻破了该题 13天前
kxzzy 攻破了该题 14天前
1781****263 攻破了该题 15天前
modeng 攻破了该题 17天前
wangjing6715 攻破了该题 17天前
wauo3 攻破了该题 18天前
FanHuaJie 攻破了该题 19天前
ACHaha 攻破了该题 20天前
kai_le 攻破了该题 20天前
comyugetsu 攻破了该题 20天前
shylock 攻破了该题 21天前
heinic 攻破了该题 21天前
评论
Fredjoker 4月前
举报
这题是两段式利用: 第一段用名字输入溢出第一个缓冲区,覆盖 canary 的最低字节,把 printf("Hello %s") 变成 canary 泄露;第二段在消息输入里带上正确 canary,再 ROP 到 system("/bin/sh"),最后发 `cat flag``。
nihaolmb 1年前
举报
为什么要用_system函数地址0X400660,而不用system函数地址0X400442呢?main主函数里面也没有跳转到_system函数呀
pjcxxx 1年前
举报
师傅们,recvline函数是不是只能接收格式化字符串本来的样子,不能接收赋值之后的样子?
Caerus 1年前
举报
先发送0x240-0x8个a泄露canary,再构造 rop 链在 rbp - 8 处填充泄露的canary,注意栈对齐,需要一定滑板
da111sy 1年前
举报
https://zaoganmaqule.github.io/2024/08/21/bugku-ctf%E7%9A%84pwn%E9%A2%98%E8%A7%A3/#more
草稿箱. 3年前
举报
flag{e270d0006de4411s6d5a73bcd}
罗老师yyds 4年前
举报
通过溢出canary的00字节,泄露出一些东西,然后第二次就直接溢出获得shell了,有system,有bin/sh,,有canary
Asteri5m 4年前
举报
远端的环境是咋样的,就还是有点奇怪,说一下问题: 远程能通,本地的话是会报错,调试了发现是system函数的问题,直接将返回地址设置为system就会出问题。 解决方法: 将payload的system的地址替换为 call system的地址。例如hint函数里的call _system (0x40080C) 然后本地也能通。 但是为什么直接system会出问题还不清楚
liert 3年前
举报
可能是你那个版本的system函数里面有检测栈对齐的代码,导致栈空间变化从而导致程序运行出错,你可以返回两次ret指令在返回到system,看看会不会报错
Asteri5m 4年前
举报
@main1o 不行奥,但是能打通就好(手动滑稽)
main1o 4年前
举报
这个什么原因啊,试了一下也是,改成call _system的地址就打得通,jmp _system的就不可以,老哥你解决了没
rogxo 4年前
举报
学习Canary绕过很好的题目
tomPeter15 4年前
举报
学到了,学到了。多谢。