Jarvis OJ---Backdoor

window下的一个程序,题目中说有个参数可以触发该程序执行后门操作,IDA反编译,进入关键函数,猜测应该是v13这个参数有问题

image.png

而那个offset就是padding的长度,我们的输入就是offest ^ 0x6443,一开始我以为是在main里栈溢出,一直不成功,突然发现在栈布局里,offset就在dest的后面。如果用dest溢出去覆盖ret,那offset会被修改,直接挂掉。所以应该是在sub_401000这个函数里面溢出

image.png

所以offset = padding = 0x20+4

import hashlib

offset = 0x20+4
a=hex(offset^0x6443)[2:]
a=a.decode('hex')[::-1]
print "PCTF{" + hashlib.sha256(a).hexdigest()+"}"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容