真的无语, 今天遇到一个奇葩的事情: 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

时间: 2024-10-11 21:12:52

真的无语, 今天遇到一个奇葩的事情: http 会话劫持的相关文章

BeginInvoke 方法真的是新开一个线程进行异步调用吗?

转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void treeinvoke(); private void UpdateTreeView() { MessageBox.Show(System.Threading.Thread.CurrentThread.Name); } private void button1_Click(object sender, System.EventArgs e) { System.Threa

一个奇葩的悖论

前言 说到集合就不得不提到康拓,虽说集合论对现代数学有着非常大的影响,但总是对他的无限集的理论有一些疑问(不知道是不是叫无限集,反正我是这么叫).最简单的例子就是一个平面上点的数量与一条直线上点的数量一样多(这是人第一次听到都会觉得不对吧).该问题普遍的解释一般是说这两者的元素之间有一一对应的关系(好比是你有啥我就有啥).所以我就针对这个问题发表来一个奇葩的悖论. 主干 首先我们来看一下圆锥与圆柱.小学里就知道圆锥的体积是圆柱的1/3,可换一个角度想想,如果都把圆锥与圆柱沿水平方向切成无限份,那

一个奇葩问题,jQuery的chzn-select查询失效

之前遇到了一个奇葩问题,jQuery的chzn-select查询失效.本来用jQuery的chosen,挺好用的,这个select可以自动查询匹配,比select2用得更方便. 可是,有的地方用得却无法查询,有的地方又可以,查找了好久还是找不出来原因.用了firebug,又查代码,费了很大周折,最后还是发现了问题了. 原来的代码是这样的 <td> <select class="chzn-select" id="industryId" name=&q

[nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018

[nginx]nginx的一个奇葩问题 500 Internal Server Error 解决方案 nginx 一直报500 Internal Server Error 错误,配置是通过phpstudy2018站点域名管理生成的. 默认是  root   "D:\php\phpstudy\PHPTutorial\WWW\foxphp"; 修改成这样就好了 root   "D:\\php\\phpstudy\\PHPTutorial\\WWW\\foxphp"; 查

直接打吊瓶是一个糟糕的事情

直接打吊瓶是一个糟糕的事情. 但是之前医院都在打.病治的快. 复发的更快. 穴位按摩,拍打.食物疗法.本应该排在第一位的治疗方法,我从来没见过医生用过.一个也没有. 他们说的医疗知识都正确,你无可反驳.他们的化验单准确无误,(我认为是治标不治本,中医未必不如西医科学.只是医疗知识体系垄断) 只是他们把概率从1% 调高到了99% 而已.但你并不能说人家说错了. 所以知识很重要. 无知的代价,就是花钱买罪受. 原文地址:https://www.cnblogs.com/delphi-xe5/p/114

如何杀死一个已经detached的screen会话?

如果想杀死一个已经detached的screen会话,可以使用以下命令: screen -X -S [session # you want to kill] quit [email protected]:~# screen -ls There are screens on: 17708.pts-4.leco(06/15/2017 02:39:09 PM)(Attached) 14814.pts-2.leco(06/15/2017 02:22:52 PM)(Detached) 14795.pts-

数据库2个奇葩的事情介绍

今天介绍一下从业数据库dba这么多年,前段时间碰到的奇葩事情,说之前,提2个问题: 1,见到单个数据库最多有多少张业务表 2,一个表有30多个字段,表里就有一条数据,写一个查询就这一个表的sql,不关联其他表,不要用WAITFOR DELAY 等关键字,写一个执行查询要20秒以上的sql 以前我也从未关心过数据库表有多少张, 写SQL,一般也是尽量去怎么优化sql,怎么把sql写得约好约好,突然就写一个表的查询,执行要20秒以上的sql,第一次碰到 现在流行一句话:   贫穷限制了你的想象 现在

关于创建URL对象的一个奇葩报错

//说明下下面这个代码运行通过的没问题 public class TestUrl {    public static void main(String[] args) {        String urlStr="http://www.autohome.com.cn/2075/";                try {            URL url = new URL(urlStr);        } catch (MalformedURLException e) {

一个奇葩常见的问题 nginx 403 forbidden错误

今天安装dedecms,配置Nginx,然后生成一键生成静态页面,然后就没有然后了,所有栏目页面都显示nginx 403 forbidden. 一般来说nginx 的 403 Forbidden errors 表示你在请求一个资源文件但是nginx不允许你查看.403 Forbidden 只是一个HTTP状态码,像404,200一样不是技术上的错误.哪些场景需要返回403状态码的场景?1.网站禁止特定的用户访问所有内容,例:网站屏蔽某个ip访问.2.访问禁止目录浏览的目录,例:设置autoind