Easy_intPWN 未解决

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

其实就是如何绕过if判断进入vuln而已,之后还是栈溢出跟前面的没啥区别

回复 0

treasure11 8月前

??付两次钱

回复 0

八一卜kod 9月前

-2 不做

回复 1

Caerus 1年前

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

回复 0

da111sy 1年前

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

回复 0

老实人小烁 2年前

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

回复 0

罗老师yyds 3年前

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

回复 0

gnol33333333 3年前

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

回复 0

gnol33333333 3年前

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

回复 1

zxfzd 3年前

大神给个writeup学习一下

回复 0

WriteUp

image
Asteri5m

10 金币

评分(1)

解题动态

liuzzz 攻破了该题 6小时前
刚哥glory 攻破了该题 20小时前
Kkkkkirs 攻破了该题 6天前
lin666 攻破了该题 7天前
geekhzy 攻破了该题 9天前
hotaru 攻破了该题 12天前
HsBlizzard 攻破了该题 15天前
19957910119 攻破了该题 18天前
叛逆者 攻破了该题 1月前
MillionMind 攻破了该题 1月前
1074518344 攻破了该题 1月前
shellbei 攻破了该题 1月前
yugong 攻破了该题 1月前
Cryflmind 攻破了该题 1月前
suisdavid 攻破了该题 1月前
chensir5173 攻破了该题 1月前
songdongjian 攻破了该题 1月前
s19n@l 攻破了该题 1月前
gxrtbtc 攻破了该题 2月前
adminmmmmm 攻破了该题 2月前
问题反馈