IOT栈溢出常见漏洞函数
本文最后更新于 2023年3月25日 中午
个人挖掘技巧:
从函数列表找漏洞函数-> 按 x 交叉引用 -> 定位漏洞函数
注意输入函数:
输入函数是否支持输入’\x00’?
read(), 输入’\x00’;
gets(),不支持,同时’\n’被转换为’\x00’;
scanf() ;
vscanf() ;
漏洞函数:
gets
–>直接读取一行,到换行符’\n’为止
scanf(“%s”,s)
–>格式化字符串中的%s 不会检查长度
vscanf(“%s”, s)
–>同上
sprintf(s,”echo %s”,str)
–>将格式化后的内容写入缓冲区 s 中,但是不检查缓冲区长度
sscanf(info,”%s”,s)
–>原意是解析读取,会将格式化后的内容写入缓冲区 s 中,但是不检查缓冲区长度
strcpy(dest,src)
–>遇到\x00 停止,不会检查长度,经常容易出现单字节写 0(off by one)溢出
strcat
–>拼接到 dest 末尾
微信支付
支付宝支付
“如果你觉得这个博客对你有帮助,欢迎打赏!”
IOT栈溢出常见漏洞函数
https://k3ppf0r.github.io/2023/03/04/IOT安全/IOT栈溢出/