Easy_intPWN 未解决

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

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

回复 0

treasure11 5月前

??付两次钱

回复 0

八一卜kod 7月前

-2 不做

回复 1

Caerus 9月前

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

回复 0

da111sy 10月前

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 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)

解题动态

lihaoweiseven 攻破了该题 7小时前
零失误高手 攻破了该题 10天前
Denny 攻破了该题 11天前
Bernie 攻破了该题 11天前
GDLZDYW 攻破了该题 15天前
Jingkai 攻破了该题 23天前
风吹皂翎 攻破了该题 1月前
weiyouzhunze 攻破了该题 1月前
frame 攻破了该题 1月前
liu1234 攻破了该题 1月前
xvzhang 攻破了该题 1月前
A3138246926OUTLOOKCOM 攻破了该题 1月前
李欣 攻破了该题 1月前
2424291112 攻破了该题 1月前
oopyman 攻破了该题 1月前
huihuiwudi 攻破了该题 1月前
yun20231227 攻破了该题 2月前
Zbry13 攻破了该题 2月前
11122222222 攻破了该题 2月前
luobotou778899 攻破了该题 2月前
问题反馈