真的无语, 今天遇到一个奇葩的事情: http 会话劫持
今天一个用户反应说软件一运行就提示错误,然后关闭。
然后用户截屏发给我看了一下,我一看,无语了。
在软件中显示的正常一段文字说明尾部出现 <script src="http://ad.ip.....:9090/target/adpro_ext.js"></script><script>addLoadEvent(init_union_adv);</script>
奇怪,软件界面上不可能显示这样的一段内容,我想用户的电脑可能出了问题。
经过半个小时的测试,用户在笔记本上由原来的wifi上网换成3G上网后,软件就可以正常动行,也不会出现上面一段js代码了。
我检查了一下软件源代码,发现问题出现在:
char desc[1024] = {0};
由于接收到的数据是960个字节,我在软件接收的时候,初始化的数组大小是 1024字节。
当接收到的数据中被嵌入了上面的一段js代码后,软件接收到的实际数据 > 1024个字节,导致数组下标越界,软件就无法正常启动了。
我赶紧把1024改为4096,再遇到嵌入js代码,只要不变态,基本上够用了。
关于会话劫持的介绍,来源:http://safe.it168.com/ss/2007-12-19/200712190752154_3.shtml
在多种强制广告中,有一种是采用会话劫持(Session Hijack)技术。它的出现没有时间规律,经常在用户上网的无意之间出现这类广告。经笔者多方面查询,这种强制广告会根据用户上网的活跃度自动增减弹出数,“流氓”行为可见一斑。我们知道,TCP连接的时候必须通过3握手。会话劫持技术就是在两台主机之间建立TCP链路的时候,获得主机信息,并在源主机获得目的主机发送的数据报之前,将自己包含广告代码的数据报发送给源主机,而根据TCP/IP的机制,真正的数据报文则被丢弃。ISP运营商利用自身优势,将会话劫持设备安装在核心路由器旁,以此种方法来达到推送强制广告的目的。
2014-08-13
真的无语, 今天遇到一个奇葩的事情: http 会话劫持的更多相关文章
- BeginInvoke 方法真的是新开一个线程进行异步调用吗?
转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void tre ...
- [nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018 nginx虚拟主机配置 fastadmin常见问题处理
[nginx]nginx的一个奇葩问题 500 Internal Server Error 解决方案 nginx 一直报500 Internal Server Error 错误,配置是通过phpstu ...
- 如何杀死一个已经detached的screen会话?
如果向杀死一个已经detached的screen会话,可以使用以下命令: screen -X -S seesion-id quit 举例如下: [root@localhost ~]# screen - ...
- 优化一个奇葩表设计上的全表扫描SQL
之前在一个比较繁忙的系统抓到的耗时长.消耗CPU多的一条SQL,如下:SELECT * FROM Z_VISU_DATA_ALARM_LOG TWHERE TO_DATE(T.T_TIMESTR, ' ...
- ios中文转码的一个奇葩问题
事情是这样的:我要在一个URL中截取一个名为‘vfname’的参数,因为这个参数的值带有中文(转码之前的形式),所以我必须将其转码. URL是这样的: http://devapi.amibaguanl ...
- 一个奇葩常见的问题 nginx 403 forbidden错误
今天安装dedecms,配置Nginx,然后生成一键生成静态页面,然后就没有然后了,所有栏目页面都显示nginx 403 forbidden. 一般来说nginx 的 403 Forbidden er ...
- HTML5 web开发时遇到的一个奇葩问题。
昨天做了一个手机端的H5 页面. 首先就是各种兼容测试,调整修复..一系列操作之后,拿过来N多手机神马华为.小米.三星.水果5.6.plus,一番测试之后.嗯,还不错,稍作等待之后就上线了. 这是分割 ...
- 0202年,您真的需要Thrift这样一个RPC微服务框架来拯救一下传统HTTP接口(api)了
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_104 目前市面上类似Django的drf框架基于json的http接口解决方案大行其道,人们也热衷于在接口不多.系统与系统交互较少 ...
- Dynamics CRM2013 Odata的filter中含有日期字段时遇到的一个奇葩问题
在使用Odata拼写filter时我们一般都用工具,因为手写是件极不靠谱且错误率极高的事,下图是我用query designer拼出来的一个filter,因为时间是参数,所以在拷贝出下面这段filte ...
随机推荐
- github上测试服出现bug,如何回滚并获得合并之前的分支
使用场景: 当我们提交了一个pr,但是该pr合并之后,经过在测试测试有问题,需要回滚.这个时候主master代码将会被回滚到提交你的pr之前的代码.而你的pr由于已经被合并过了,所以无法继续提交. 这 ...
- Springmvc架构
框架结构如下图: 架构流程: 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.处理器映 ...
- 异步httpclient(httpasyncclient)的使用与总结
参考:异步httpclient(httpasyncclient)的使用与总结 1. 前言应用层的网络模型有同步与异步.同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请 ...
- python设计模式第七天【建造者模式】
1. 建造者模式UML图 2.应用场景 (1)专门创建具有符合属性的对象 3.代码实现 #!/usr/bin/env python #! _*_ coding: UTF-8 _*_ from abc ...
- SSM+shiro及相关插件的整合maven所有依赖,详细注释版,自用,持续更新
整合了SSM+shiro框架,slf4j+logback日志,及一些好用的插件PageHelper,mybatis-generator,Lombok,fastjson等等 <?xml versi ...
- HTML中文本过长时自动隐藏末尾部分或中间等任意部分
一. 一般情况下,HTML字符串过长时都会将超过的部分隐藏点,方法如下: 设置CSS: .ellipsis-type{ max-width: 50px; ...
- vhdl 边沿
rising_eage falling_eage clock'event and clock='1' 两种方式
- codeforces104A
Blackjack CodeForces - 104A Tensor特别喜欢玩扑克,还总是爱发明一些关于扑克牌的游戏,有天他突然脑洞大开想到了这样的一个游戏: 现在有一副52张的扑克牌(没有大小王), ...
- 高度可配置的 Linux 内存守护程序 Nohang!
导读 Nohang 是一个 Linux 守护程序,也是一个高度可配置的 OOM(内存溢出)阻止工具,适用于 Linux 系统,能够有效地防止内存不足的情况. 部分功能特性 具有良好注释的配置文件,配置 ...
- Clear Linux 为脚本语言提供更高的性能
导读 Clear Linux的领先性能不仅限于C/C++应用程序,而且PHP,R和Python等脚本语言也有很大的提升速度.在一篇新的博客文章中,英特尔的一位开发人员概述了他们对Python的一些性能 ...