第三部分 应用程序安全
存在脆弱性的代码行数。
代码可能会受到的网络安全攻击类型。
结合代码简述漏洞产生的原因。
提供针对脆弱性代码的安全加固代码。注意:无需重写整个代码。只写受影响的行就足够。
1.存在脆弱性的代码行数。
18行
2.代码可能会受到的网络安全攻击类型。
内存破坏漏洞
3.结合代码简述漏洞产生的原因。
第18行没有判断目标消息类型是否为ID_TYPE,直接修改nameID,导致类型混淆,以NAME_TYPE作为类型操作,可能产生非法内存读写导致内存破坏
4.提供针对脆弱性代码的安全加固代码。注意:无需重写整个代码。只写受影响的行就足够。
if (buf.msg_type == ID_TYPE){
buf.name_id = user_controlled_value;
}