某银行首页使用ie11 通过百度搜索引擎进入偶尔出现502bad gateway排查
一、故障现象
用户反映使用IE11浏览器,通过百度搜索引擎搜索“XX银行”,通过搜索结果点击进入该银行门户,当点击其他某些连接的时候,偶尔会出现“502bad gateway”错误。
经测试验证“502bad gateway”此错误是中间某个SLB返回的错误。但是,SLB返回这个错误是因为后端应用不可用才会出现此错误,slb启用了cookie会话保持。
接下来的问题是,如何验证这个问题,如何定位这个问题,是否与是SLB造成的?还是其他设备的问题?
二、结构
(拓扑图暂不分享)大致结构如下
gslb+slb +ips +waf+ips......一系列安全设备
三、测试过程
1)、ie11 使用baidu搜索引擎,搜索“XX银行”点击搜索结果XX银行官网。
2)、XX银行官网首页可以打开。
3)、点击其他链接出现502badgateway。
4)、整个测试过程中使用fiddler抓包。
四 、测试结果分析:
1)、第一次访问wwwXXbank.com.cn
从fidder抓包可以看到 response set-cookie正常
cookie值Response sent 77 bytes of Cookie data:
Set-Cookie: jilin=aefab2238351dac44e6db32b88862cd9; Expires=Fri, 17-May-2019 02:15:51 GMT
2)、红框标记的这个请求开始,客户端发起的请求多了一些cookie,此时的cookie中出现了baidu.com字段。
3)、最后一个get正常携带cookie的请求分析
可以看到SLB没有对cookie做任何修改,所以SLB工作是正常的。
4)、cookie值中出现baidu字段的后由于cookie值发生变化,出现“bad getway”
所以,通过上述分析,cookie中的百度字段不是SLB插入的,应该是浏览器插入的。
5)出现502的原因
从安全角度分析,在会话交互过程中,cookie的值一般是不会发生变化的。如果发生变化,可能是http协议层针对cookie的攻击,因此,结合用户网络结构,最终把稳定定位到WAF上。
6)查看waf日志
通过在waf上查看拦截日志,确认waf拦截了cookie中带有www.baidu.com字段的请求。
原因是“检测到匹配远程文件包含”
7)验证测试
修改waf的对应策略,再次测试,“502 badgateway ”故障消失
结论:
出现这个问题原因应该是一些搜索引起把自己的域名作为cookie值插入到了用户的浏览器中。这应该是一种商业目的。问题最终圆满解决。
- 百度首页可以使用拼音输入法
- 使用Windows server 2008 R2 wds 和 MDT2010 部署 Windows7 和 Windows xp时,客户端通过网络启动后,蓝屏或者黑屏,无法进入安装界面。
- 2016/05/17 thinkphp3.2.2 分页的使用:①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝进入 ②通过new 实例化方式调用 $page=new \Home\Publics\Page($total,3);
- 百度首页可以使用汉王输入
- 如何让网站进入百度首页
- 【Java】使用@Value @Reource或@Autowire依赖 (值) 注入时出现NPE的排查方法
- 使用Fragment应用放置后台很久再次进入出现程序奔溃
- DMP文件的生成和使用(转),由于须要取得用户出现问题的信息,所以须要取得demp信息,可以通过本方法获取。
- 百度搜索引擎的使用方法
- pyhon3模拟登录百度(2)—— 使用IE11理清百度登录内部逻辑和分析请求发送数据
- php获取从百度、谷歌等搜索引擎进入网站关键词的方法
- 使用 ZLIB 解压 出现 Z_DATA_ERROR 的错误排查 zlib data_error
- web通过百度apistore使用第三方软件
- mac下通过brew 安装的php,可能使用了 --debug 标识,php命令行时,一直出现 "Unable to initialize module"
- 进入Python命令行使用Backspace和方向键出现乱码
- VS2008中编译通过,但调试时出现“未使用调试信息生成二进制文件”的问题(转)
- 百度搜索结果出现“添加至首页”功能
- Win8.1无法使用IE11上传图片到QQ空间上传不了或出现格式错误
- 错误:"无法从命名空间绑定的导入"错误消息出现,当您试图通过使用 Web 服务描述语言工具创建 XML Web 服务代理文件时
- 通过Hibernate4使用SQL Server2008出现org.hibernate.MappingException