Easy_intPWN 未解决

分数: 20 金币: 3
题目作者: SillyRabbit
一  血: 关关
一血奖励: 4金币
解  决: 157
提  示:
描  述:
flag{}
其  他: pwn.zip
评论
Caerus 2月前

C语言中int类型最大值是2147483647,输入2147483648整数溢出(补码),然后0x20+0x8修改返回地址执行system("bin/sh");

回复 0

da111sy 3月前

https://zaoganmaqule.github.io/2024/08/21/bugku-ctf%E7%9A%84pwn%E9%A2%98%E8%A7%A3/#more

回复 0

老实人小烁 1年前

test指令和neg指令还有jnz指令,查明白以后,让int在二进制最高位为1,使它溢出,然后进入隐藏函数以后,发现read存在明显栈溢出,并且不存在canary保护,直接构造ROP链,再调用system函数就可以了

回复 0

罗老师yyds 2年前

整数溢出,然后栈溢出,有bin/sh,有system,但是远程的时候,需要多加一个ret平衡栈

回复 0

gnol33333333 2年前

少打了几个0意思到了就行

回复 0

gnol33333333 2年前

看汇编,搞清楚test+jns,然后搞清楚neg在干嘛,就搞清楚怎么绕过判断了,这题叫int,实际上是0x8000的补码就是自己从而两个判断就pass了(不存在有符号数的溢出,所以应该不能说是整形溢出吧,单纯的一个二进制数表示法的知识点),就能进vuln了,其次就是ret2text了,先这样再那样最后这样就解决了

回复 1

zxfzd 2年前

大神给个writeup学习一下

回复 0

Ass4ssin 2年前

很奇怪,我用万能gadget中的__libc_csu_init函数调用,死活不行,用r12传参/bin/sh字符串,r15指向got表,但是就是不行!换成puts函数/bin/sh输出的也是正常的,有大佬知道为什么嘛?

回复 0

大帅比 2年前

大佬求教程啊

回复 0
Asteri5m 2年前

出了,看看?(滑稽)

回复 0

Asteri5m 2年前

整型溢出的原理不太懂,凭感觉猜到了是那么多

回复 0

WriteUp

image
Asteri5m

10 金币

评分(1)

解题动态

luckyxixi 攻破了该题 2天前
255a 攻破了该题 3天前
15346899030 攻破了该题 4天前
pbidle 攻破了该题 7天前
Eanck 攻破了该题 16天前
libo007 攻破了该题 18天前
liusongxn 攻破了该题 21天前
lizhijie 攻破了该题 22天前
tonycai 攻破了该题 23天前
cskdpl 攻破了该题 27天前
3570603062 攻破了该题 1月前
15763333344 攻破了该题 1月前
Reinwi 攻破了该题 1月前
kun 攻破了该题 1月前
mk012 攻破了该题 1月前
jhinjax 攻破了该题 1月前
volcano 攻破了该题 1月前
LL2003 攻破了该题 1月前
3092708385 攻破了该题 1月前
roaea 攻破了该题 1月前
问题反馈