输入1进入登陆系统,这个函数下没有漏洞好像
login函数里也看起来很正常,buf和s大小设置都很合理,似乎不会造成溢出
到了login函数最后有检查passwd的函数,题目说的intoverflow就体现在这里了,我也没有自己琢磨出来,看的别人的writeup
v3是一个无符号整数,最大值是八个比特都用上即256,但是只要再多1就会溢出,v3会变成从0开始的数,可能是由于程序之前没有对s输入长度做合理的限定所以v3这里会有溢出,
再往下看,有个strcpy函数,把这么长的s复制给远没有那么大的dest,这里可以利用它覆盖check_passwd的返回地址
左方函数之中有what_is_this函数,里面是catflag,所以直接过去就行
继续