五千年(敝帚自珍)

主题:如何用绿坝养肉鸡(一) -- 代码ABC

共:💬168 🌺312 🌵1
全看分页树展 · 主题 跟帖
家园 如何使用绿坝养肉鸡(三)

使用C++编写字符串处理程序最常见的一种错误就是缓冲区溢出,这个错误通常是因为程序员没有检查用户输入数据的长度引起的。程序在分析用户输入的时候需要找个地方先将这些输入存起来,这个存放的地方就是所谓的缓冲区。通常为了不浪费内存空间,分配缓冲区的长度都是有限的,如果用户输入的数据长度超过缓冲区长度,而程序员又不进行检查的话,那么拷贝到缓冲区的用户输入就会覆盖缓冲区以外的地方,这就叫缓冲区溢出。大多数情况下,这种错误会造成程序崩溃,在Windows中有时会弹出一个对话框,说xxxx地址不能为写,然后按OK,程序就直接退出了。但是一个故意设计的输入可以改变一些重要的内容,比如函数的返回地址,这样攻击者就可以改变程序执行内容,比如添加一个用户,植入一段木马。比较著名的一次缓冲区溢出安全是SQL Server 2000的蠕虫攻击,那次几乎一半的互联网都瘫痪了。(本人管的服务器在那次灾难中不受影响,但是网络被塞满了我也无可奈何)

跑了那么大段题,大家应该知道我含沙射影的意思了。没错,LB有缓冲区溢出的错误,而且是一种二流C++程序员犯的常见错误。验证方法很简单,打开IE,在地址栏输入一个超过1280字符的地址,不用管这个地址是否存在。其结果就是IE被突然关闭。然后你可以Windows管理工具中事件查看器中,应用程序事件里发现一个IE的Dr Watson事件,这表示IE崩溃了。

同样的事情不会发生在没有LB护航的系统中,联系LB需要监控IE,必然就是其IE注入程序导致的。

这是一个很可怕的漏洞,黑客可以事先设计好一个特殊的URL,然后引诱你去点击。比如写着“LB无法屏蔽的图片大全”之类的,您的小孩一点(只要一点就行了,不用三点)!Bingo,又一个肉鸡产生了。而且这个肉鸡每三分钟截一次屏。Oh My God。上帝也保佑不了你。为了让黑客们的工作更加方便,这个LB不得不把自己放在网络上供人下载。在一般水准的黑客眼里,这个东西和一个穿着睡意的美女一样脆弱。还有更可怕的东西是这帮二流程序员还抄了人家不少开源代码,也就是说这件睡衣还是透明带窟窿的。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河