Skip to content

策略误报导致应用保存失败的分析案例

某用户应用,需要将一些修改信息提交保存至业务服务器,在这个保存过程中出现无法保存的现象(保存失败,点击保存按钮后,IE页面进度条长时间处于加载状态),我出于帮忙,到用户现场捕获了业务保存时的交互报文,如下图所示:
点击查看原图

查看这个交互的过程,我们可以非常清晰的看到,客户端与服务器TCP三次握手正常,问题出在客户端提交POST请求的报文被中间设备丢弃了。比较有趣的是,客户端在尝试两次重传之后,较为聪明的将这个POST请求字段(长度为859B)拆分为两个长度分别为536B和323B的字段,并先将长度为536B的应用字段重传给服务器,我们清楚的看到服务器对这个应用字段作出了确认,这说明这个长度的应用字段正常到达了应用服务器,但是后续长度为323B的应用字段一直被丢弃,这很容易想到是中间设备策略误报一直丢弃某些固定报文导致的,我们来看一下这个应用字段里到底封装的是什么应用数据,我们首先看这个报文的应用字段解码如下:

点击查看原图

这个看得有点头晕,我们将这段字符解码一下,如下图所示:
点击查看原图
解码之后,我们可以看到这个应用字段中存在“varchar(60)”等关键字,这可能引起WAF、IPS等设备将此报文误报为SQL注入的尝试。

评论与留言

欢迎留言。你可以匿名留言,也可以自愿留下网名或邮箱;邮箱不会公开展示。

还没有留言,欢迎交流。

发表留言

网络分析技术档案