我的问题here,我试图在服务器机器上实现某种消息解析。关于实现应用程序网络协议的安全问题
目前的消息是这样的:
int _header_signature;
int _offset_a;
int _offset_b;
int _size_a;
int _size_b;
wchar_t stuff[_size_a];
wchar_t stuff2[_size_b];
int _footer_signature;
我能得到一些代码,这样的作品,由头部和大小的解码,并知道如果我收到的整条消息或有更多未决。但是,什么阻止恶意用户故意更改这些消息并使我的机器崩溃?例如。将尺寸值或偏移量之一更改为比我的消息更大的东西。
如何使我的服务器安全可靠,并且抵御接收到的任何消息?
我的数据被序列化并发送,但是如何检查偏移?我怎么知道他们是有效的? – 2014-11-01 10:16:29
那么你知道两个数组的大小。为什么不只是检查那些值是有限的 – 2014-11-01 10:18:03
我如何知道两个阵列的大小?这些值也可以被操纵。 (如果你想知道的话,我不是那个低调的人) – 2014-11-01 10:28:03