首页
社区
课程
招聘
[原创]第二题 - TSRC 2017CTF秋季赛 
发表于: 2017-10-28 15:59 4408

[原创]第二题 - TSRC 2017CTF秋季赛 

2017-10-28 15:59
4408

前言:本人小白,做出此题,其实还是有些迷糊,没有完全清楚,欢迎各位大侠指正。(哪位大佬指点下啥叫fpc..TAT)


思路:
1.首先测试软件,没有发现啥特别的地方....

2.打开IDA看代码逻辑,天真的以为很简单:
两个方程组:


一开始以为逻辑很简单,输入8个字符,就两组方程,但是其实只有两个变量v0和v1,经过测试发现,这个两组方程是不可能同时成立的,在这上面我花费了巨量的时间,去找,去遍历,还考虑溢出,正负还有补码之类的。其实思路错了,一开始没有常规的字符串长度校验,直接取了前8个字符,就应该考虑栈溢出(好吧,其实,在一开始直接尝试输入很多1会报错,就该考虑栈溢出的问题。我是老实的新人,学到了,下次就会了)

正确的思路:
3. 先看一下输入函数sub_401050的栈:    测试输入‘12345678’

可以看到esp是0x18FF34这个地址,输入从0x18FF3C处写入,输入函数返回时,进行add esp,14h操作释放栈空间,esp(0x18FF48)指向返回地址(即main函数中,call sub_401090指令地址),那我们的栈溢出则应该写入12个字符后面加上想要跳转的地址覆盖掉原始的返回地址。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 256
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
这里的式子相加减,是对0x100000000取过模的
2017-10-29 16:51
0
雪    币: 4
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ming、 这里的式子相加减,是对0x100000000取过模的
言简意赅,非常要害,我还在想怎么表达,真是拨云见日啊
2018-3-18 23:13
0
雪    币: 4
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
@题主,fpc是出题者的id好像。。。。
2018-3-18 23:15
0
雪    币: 256
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
弟子规 言简意赅,非常要害,我还在想怎么表达,真是拨云见日啊
取完模就是同余,可以相加减,在数学意义上有多组解,可用的只有最小正解
2018-3-21 09:20
0
游客
登录 | 注册 方可回帖
返回
//