-
-
[原创]第二题 ctf2017_Fpc--------writeup
-
发表于: 2017-10-27 16:12 3179
-
刚拿到题直接IDA走起,发现逻辑很清晰,获取输入,然后计算两个方程,都过了就成功。
但是整理了方程之后发现并不能有解,而且规则要求答案只会是字母和数字,接收输入地方也没有字符串转数字的处理,所以应该是有别的解法,仔细看接收输入处,发现用的scanf没用检查长度,猜测是栈溢出,但是要溢出到哪里呢,直接修改返回到you get it
是不行的,因为地址0040102F
中的102F
不符合规则中解的限制。所以继续往后看,发现奇怪之处。
这里明显是故意填充的数据,为了能用符合要求的输入来溢出,使得流程转到这个地址,但是看后面的代码乱遭遭的,猜测是加了混淆,上OD开始溢出跟混淆。
输入aaaaaaaaaaaa11A
跳到 00413131
处,然后开启run 追踪
人肉过滤掉混淆后的代码如下:
分析得到3个方程
由于内存中是小端模式,所以应该是 4A757374 30666F72 3066756E
转为ASCII对应的字符Just0for0fun
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: