朝三暮四,还是朝四暮三?

古时候宋国有个人养了一群猴子,早上喂它们三颗果子,晚上四颗,猴子就恼怒;如果改成早上四颗,晚上三颗,猴子就高兴了。小时候听了这个故事,总觉得猴子太傻:反正每天都是七颗果子,何必在乎早晚呢?长大了做许多事情也是如此,反正总量不变,朝三暮四还是朝四暮三,只有时间的差别而已,想找出什么分别都是徒劳,还不如索性从容点。而且,许多人的潜意识里似乎也这样认为的,至少争辩起来,许多人都会这样反驳,典型的句式就是“反正……,何必呢?

Continue reading


近来二三事(流水账)

信用卡上个月刷了4000块,上周周末,在去公司的路上还了2000多,还欠1000多。今天,睡到9点才起床,应该算懒觉吧,煮了点稀饭,跟GF把夏天用的物品等 晒晒,修理下坏的窗帘,重摆了电线的线路,省的每次都从窗户连到床上,过路都麻烦。之后,稍微清扫垃圾,便出门了。直奔招商银行,取钱之后,再跑到浦发银行,还了信用卡,又跑到中国银行,还了下个月的贷款。房贷卡是江苏的,在上海存5000,收了25块的手续费,真黑。

Continue reading


广发英雄帖-招聘广告(DBA、PHP开发、运维工程师、BI专员)

首先,我已经改行了,因此这个招聘和安全无关,不是招安全工程师的。其次,我现在所在的团队,是一个比较年轻的团队,无论是同事的平均年龄,还是公司的成立时间,或者是公司的收入状况。所以,如果你现在觉得自己充满激情,渴望学习和成长,耐得住性子,能做好在小公司待2年以上的准备,不太在乎加班多(不一定有加班费),不太计较眼前得失,希望和公司一起成长,渴望自己的努力在公司的成功道路上占据重要的比重(相对于大公司比较细分化的工作岗位),并且有志于往下列岗位发展,欢迎投递简历至 cfc4n # cnxct {dot} com ,最好来信注明薪资期望

Continue reading


apache RewriteMap MapSource自定义规则使用手记

10.1期间,一位朋友问我一个apache的 Rewrite规则中一个高级语法RewriteMap的用法问题。其想要实现的是这个功能,有个多用户的blog,用户访问的时候,是用三级域名访问的。比如http://cfc4n1.blog.cnxct.com,http://cfc4n2.blog.cnxct.com这种三级域名。在服务器上,是对三级域名做泛解析。每个三级域名都生成了一个静态的html主页文件。由于用户数量较多,linux ext硬盘格式上同一目录文件太多,检索文件的速度会有折扣,遂将文件打散到不同的目录下。打散方式是以用户名【三级域名中的cfc4n1,cfc4n2等】的MD5值的每隔两位作为一个目录。

Continue reading


wordpress博客永久地址的二次重写

在很久很久以前,从前有座山,山上有个庙,庙里有个和尚在讲故事,讲什么呢?从前有座山,山上有个庙,庙里有个和尚在讲故事,讲什么呢……
言归正传,很久以前,博客的URL是这种形式http://www.cnxct.com/cnxct/612/ 这种形式,后来呢,听网上SEOer说,为了更好的SEO,URL中包含关键词,可提高权重等等等等。遂打算把老的URL形式重写成

Continue reading


XTrap保护中的IDTHOOK恢复

最近比较懒什么东西都没学。研究了两天传说中的三大游戏保护中的一个,叫XTrap.据说是三个保护中最弱的一个。但是能力有限,还是没有过掉保护。哎,失败。不过从中学到了点知识。留个记录。
XTrap保护在驱动里用SSTD HOOK了NtDeviceIoControlFile,NtOpenProcess,NtOpenSection
NtProtectVirtualMemory 等几个API. Shadow SSDT也HOOK了 NtUserFindWindowex
NtUserSetWindowsHookEx等几个API。他还在应用层也HOOK了一些仿调试函数。这些防护可以通过简单的恢复来绕过。

Continue reading


如何精确查找PHP WEBSHELL木马?

上篇提到了关于网上流传查找PHP webshell的python脚本中,不严谨的代码并且给出了一个python的检测代码,同时,下文里也提到不能检测到反引号的命令执行的地方。今天,我想了下,现在把思路发出来。正则表达式该如何写?
分析:对于可移植性的部分共同点是什么?与其他正常的包含反引号的部分,区别是什么?
他们前面可以有空格,tab键等空白字符。也可以有程序代码,前提是如果有引号(单双)必须是闭合的。才是危险有隐患的。遂CFC4N给出的正则如下:【(?:(?:^(?:\s+)?)|(?:(?P<quote>[“‘])[^(?P=quote)]+?(?P=quote)[^`]*?))`(?P<shell>[^`]+)`】。

Continue reading