0

我目前正在构建一个黑盒模糊测试工具,我遇到了以下问题:

假设我向服务器发送一个我构建的模糊数据包,并从服务器返回一些数据包。我还从同一服务器的其他部分获得了一些额外的数据包。

如果我可以查看所有传入和传出的数据包(这不是请求-响应系统,它是基于 RPC 的在线游戏)并且我不知道响应应该是什么样子,我该如何过滤掉那些响应来自流的其余部分的模糊数据包发送?

举个例子:你发送一个 RPC,比如“给一个玩家一把 ID 5 的枪”,然后服务器给那个玩家发送一个 RPC,比如“给我你拥有的枪支阵列”和“告诉我你有多少弹药”。在这种情况下,如果我发送格式错误的输入(例如负整数或大整数),我想看看服务器如何反应。我的问题是服务器总是随机发送这些,所以我想过滤掉响应我的模糊 RPC 发送的请求。

一种统计方法会起作用,因为我认为没有办法完全自信地确定这一点。

4

1 回答 1

0

“它不是一个请求-响应系统,它是基于 RPC 的”这一事实不应该改变经典方案——除非你/我错过了你的问题中的一些细节:

  • 您必须使用(源 IP、目标 IP、源端口、目标端口)从请求中构造一个元组结构,

  • 然后观察反向元组(目标 IP、源 IP、目标端口、源端口)数据包以捕获响应。

编辑:当然对于 TCP - 对于无连接协议,嗯,这是一个启发式猜测的游戏。

于 2016-03-30T05:37:00.227 回答