七条对于软件专业同学一些建议

1,培养团队意识 不要吝啬自己的代码,多去主动分享,好的代码都是改出来的。如果可以在大学中建立或者加入一个团队一起学习,将可以获得意外的收获。 2,不要用分数衡量自己专业能力 自己一定要多去写程序,多去看代码肯定是对的。对于软件专业同学千万不要认为一分纸上试题可以代表尼专业的能力。最初学习程序语言都是坚持每天写50-100行以上代码,这样才能快速熟悉语法和程序入门基础。 3,培养学习的能力 老师带领下学会一个东西很容易,尝试之前自己去学习,然后再去学,这样可以学习可以发现自己什么地方学习能力不足。学习的能力是一种大学最需要培养的专业能力的核心,如果你即时一个专业或者程序语言学习再好,但是却不能自我学习的能力,势必会被日益发展的技术所淘汰的。 4,不要玩游戏,至少不要玩网络游戏 我认识计算机专业比较好的大学朋友中没有一个玩网络游戏的. 5,把自己放到软件行业去衡量,而不是自己的学校 不要在同学之间互相竞争,你需要对比的是所有从事软件行业的专业人员,因为软件专业是没有年龄的。 6,不要忽视基础 基础像地基,如果没有基础房屋到后面就很难扩展了。基础和武侠小说中的内功是一样的,没有内功的招式是没有用的。 7, 不要被外界环境干扰 自我控制对于今天在中国大学一起学习的同学是非常重要的,大多数同龄的学生最初进入大学都是非常好学的,但是不少人由于外界环境诱惑而失去自我的目标。

内核级利用通用Hook函数方法检测进程

作者:LionD8 QQ: 10415468 Email: LionD8@126.com 介绍通用Hook的一点思想: 在系统内核级中,MS的很多信息都没公开,包括函数的参数数目,每个参数的类型等。在系统内核中,访问了大量的寄存器,而很多寄存器的值,是上层调用者提供的。如果值改变系统就会变得不稳定。很可能出现不可想象的后果。另外有时候对需要Hook的函数的参数不了解,所以不能随便就去改变它的堆栈,如果不小心也有可能导致蓝屏。所以Hook的最佳原则是在自己的Hook函数中呼叫原函数的时候,所有的寄存器值,堆栈里面的值和Hook前的信息一样。这样就能保证在原函数中不会出错。一般我们自己的Hook的函数都是写在C文件里面的。例如Hook的目标函数KiReadyThread。 那么一般就自己实现一个: MyKiReadyThread(…) { …… call KiReadyThread …… } 但是用C编译器编译出来的代码会出现一个堆栈帧: Push ebp mov ebp,esp 这就和我们的初衷不改变寄存器的数违背了。所以我们可以自己用汇编来实现MyKiReadyThread。 _func@0 proc pushad ;保存通用寄存器 call _cfunc@0 ;这里是在进入原来函数前进行的一些处理。 popad ;恢复通用寄存器 push eax mov eax,[esp+4] ;得到系统在call 目标函数时入栈的返回地址。 mov ds:_OrgRet,eax ;保存在一个临时变量中 pop eax mov [esp],retaddr ;把目标函数的返回地址改成自己的代码空间的返回地址,使其返回 后能接手继续的处理 jmp _OrgDestFunction ;跳到原目标函数中 retaddr: pushad ;原函数处理完后保存寄存器 call _HookDestFunction@0 ;再处理 popad [...]

检测并禁用隐藏服务

文章属性:原创 文章提交:linux2linux (linux2linux_at_163.com) 隐藏服务的概念是由hxdef 和rootkit这些后门工具提出的。这些后门工具通过挂钩系统本地调用来隐藏自己,原本通过调用Windows API调用查看系统服务的企图都是徒劳的。所以这时的系统是不可靠的,不值得信任的。目前针对查找隐藏服务的工具已经有很多,比如IceSword,knlsc,FHS等等。虽然这些软件都是免费的,但是它们到目前为止都不是开源,所以将自己的实现版本展示出来,正如knlsc的作者所说的那样,这是一个简单的小程序。 Knlsc是通过将%SystemRoot%/System32/Config/System这个Hive文件转储出来,提取出ControlSet001/Services的子项再与RegEnumKeyEx的输出结果进行比对,发现若是在RegEnumKeyEx的输出结果中没有的子项就可以认为是一个隐藏的服务。当然knlsc还认为隐藏服务必须同时拥有ImagePath,Start,Type三个键值。据说knlsc运行时还将从资源段中放出一个驱动程序,但是估计这个驱动是假的。将knlsc托壳后用VC从资源段中导出的文件是一个没有EntryPoint但有MZ标志的驱动,没有办法进行反汇编。或许作者使用了SMC技术,放出资源文件后在进行修改,在执行文件中也有NtLoadDriver的调用片段,但是同一作者的knlps中的资源驱动却未作任何的处理。要实现检测隐藏服务的功能其实没有必要使用驱动程序,即使可以验证knlsc驱动的真实性。直接对Hive文件的转储也不是必须的,虽然这只要通过修改Gary Nebbett的示例代码就可做到。 Hive文件的转储可以通过RegSaveKey函数来进行,rootkitrevealer就是使用这个API的扩充函数RegSaveKeyEx工作的,至少到目前为止还没有挂钩这类函数的后门,但是世上没有永远的安全,在理论上是可行的,可能不得不对该函数的输出文件进行处理,这将在一定程度上影响该函数的执行时间。使用该函数时还必须赋予调用进程以SE_BACKUP_NAME权限。 在实现中将“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services”的子项都转储为Hive格式文件(使用DumpServiceInfo函数),存放在C:\tmp.hive,在C盘下不可有同名文件,否则会发生Dump错误。现在的问题是如何对Hive格式文件进行处理,在这一点上必须感谢Petter Nordahl-Hagen所写的NT Registry Hive access library,它是The Offline NT Password Editor的一部分。本人的实现很大程度上就是参照他的程序,然而这个库工作在Linux环境,但是它向VC编译器移植的工作量是极少的,只需稍加修改。 1.将 #include  去掉 2.将程序中三处的 #define D_OFFS(o) ( (void *)&(key->o)-(void *)hdesc->buffer-vofs ) 改为 #define D_OFFS(o) ( (int *)&(key->o)-(int *)hdesc->buffer-vofs ) 因为在VC中无法打印void * 类型,只得改为int * 。 3.将程序中唯一的一处使用snprintf函数该为_snprintf,即 snprintf(path,maxlen,”(…)%s”,tmp);改为 _snprintf(ptth,maxlen,”(…)%s”,tmp); 4.添加两个VC不支持的函数来使编译通过 void bzero(void *s,int n) { memset(s,0,n); } int strncasecmp(const char [...]

session传递对象或者类

user.class文件 PHP 代码: index.php文件 PHP 代码: session.php文件 PHP 代码: 最后一个文件很重要的一步, 你必须把类的定义放在session_start 前面,否则会得不到想要的结果。

HTTP请求欺骗

一个比欺骗表单更高级和复杂的攻击方式是HTTP请求欺骗。这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据。 为了演示这是如何进行的,请看下面位于http://example.org/form.php 的表单: CODE: 如果用户选择了Red并点击了select按钮后,浏览器会发出下面的HTTP请求: CODE: 看到大多数浏览器会包含一个来源的URL值,你可能会试图使用$_SERVER['HTTP_REFERER']变量去防止欺骗。确实,这可以用于对付利用标准浏览器发起的攻击,但攻击者是不会被这个小麻烦给挡住的。通过编辑HTTP请求的原始信息,攻击者可以完全控制HTTP头部的值,GET和POST的数据,以及所有在HTTP请求的内容。 攻击者如何更改原始的HTTP请求?过程非常简单。通过在大多数系统平台上都提供的Telnet实用程序,你就可以通过连接网站服务器的侦听端口(典型的端口为80)来与Web服务器直接通信。下面就是使用这个技巧请求http://example.org/ 页面的例子: CODE: Connection closed by foreign host. $ 上例中所显示的请求是符合HTTP/1.1规范的最简单的请求,这是因为Host信息是头部信息中所必须有的。一旦你输入了表示请求结束的连续两个换行符,整个HTML的回应即显示在屏幕上。 Telnet实用程序不是与Web服务器直接通信的唯一方法,但它常常是最方便的。可是如果你用PHP编码同样的请求,你可以就可以实现自动操作了。前面的请求可以用下面的PHP代码实现: CODE: 当然,还有很多方法去达到上面的目的,但其要点是HTTP是一个广为人知的标准协议,稍有经验的攻击者都会对它非常熟悉,并且对常见的安全漏洞的攻击方法也很熟悉。 相对于欺骗表单,欺骗HTTP请求的做法并不多,对它不应该关注。我讲述这些技巧的原因是为了更好的演示一个攻击者在向你的应用输入恶意信息时是如何地方便。这再次强调了过滤输入的重要性和HTTP请求提供的任何信息都是不可信的这个事实。

进度条在PHP中的编写

PHP写的ftp类

ftp类(myftp.php)

黑客是共享 黑客是沉寂

黑客是共享 黑客是沉寂 ——摘自冰血封情为《黑客X档案》2004年第11期撰写的刊首语    个性张扬的时代,黑客成为了一种网络流行风,一些技术思想不成熟的学习者带着对黑客技术的崇拜和敬畏,开始轻触这神秘而深沉的夜色。他们,带动了另类的经济发展,同时也带来了对传统黑客精神的冲击。 高手是一种境界   很多梦想成为众人尊敬的黑客高手的人,却不知,高手其实是用平常的心去演义一段正义人生。如果一开始就没有树立正义态度,最终绝对不可能成为顶尖的高手,正义不是民族主义。 黑客是一种精神   这是永远都不应该被改变的!黑客的精神就是共享的精神,共享不是免费,但是更不是牟利。爆炸的经济带动着贪婪,一些人处心积虑的用神圣的黑客技术去满足一己私欲。任何时候技术都是一把双刃剑,只希望你能用正义去驾驭它的锋利。 安全是一项事业   不论你是否明白事业的真正含义,但黑客技术仅仅是信息安全的冰山一角。当你感受到冰山浓重的寒气之时,其实你还离它很远。只有低调扎实的打好每一步根基,才能沉稳的在信息安全的道路上不断前行。

西东京教育学院

西东京教育学院 ——————————————– 写这些什么意思啊? –CFC4N

树欲静而风不止,子欲养而亲不待—

树欲静而风不止,子欲养而亲不待!!!

第 20 页,共 23 页« 最新...10...1819202122...最旧 »

CNXCT小组的博客 is Stephen Fry proof thanks to caching by WP Super Cache