如何检测网站后台是否有后门代码或文件
下面是我给k来的,但愿给你点启发。
设备:电脑 你既然喜欢编程,就应该认认真真的学习一门语言,学习微软的就先从VB开始,VB是比较好的入门语言,可视化的,比较简单,是非常好的入门语言。
书籍最少应该准备两本,不可能一本书籍会包含VB的所有内容,在看书的时候,可以交叉的看,一本书籍中没有讲到的内容可以在另一本中看到,这样对学习是很有好处的,也能保证所学知识的完整性。
学编程是一个很漫长的过程,不要着急,要理论与实践想结合,例程书籍也是很重要的,看源代码对学习也是很有帮助的,等你学完这门VB语言之后,学习别的语言是非常简单,可以尝试C语言,按照C——C++——VC的顺序学习,有助于知识的连贯性,我也希望你能学好的。
或者学习Delphi,入门较为简单类似于VB,但比VB强大,即可作为入门又能做强、做大 怎样学编程 1.明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。
学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。
学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。
知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2.打好基础 学编程要具备一定的基础,总结之有以下几方面: (1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。
因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。
要想成为一名优秀的程序员,最重要的是掌握编程思想。
要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。
因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。
谁都有第一次。
有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。
2)跨平台开发开发工具如 Java 等。
3)网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。
以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。
选 VB 作为入门的方向对出学者是较为适合的。
3. 注意理解一些重要概念 一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4.掌握编程思想 学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。
例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5.多实践、多交流 掌握编程思想必须在编程实际工作中去实践和体会。
编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。
这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。
亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6.养成良好的编程习惯 编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。
在此期间要注意养成一些良好的编程习惯。
编程风格的好坏很大程度影响程序质量。
良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。
如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7.上网学编程 在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。
例如网站“编程课堂”(http://best.yeah.net/)主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”(http://pshool.yeah.net/)是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”(http://www.vbeden.com/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。
8....
为什么有些软件被称为流氓软件,它跟病毒有何区别?
前言 后门!相信这个词语对您来说一定不会陌生,它的危害不然而欲,但随着人们的安全意识逐步增强,又加上杀毒软件的“大力支持”,使传统的后门无法在隐藏自己,任何稍微有点计算机知识的人,都知道“查端口”“看进程”,以便发现一些“蛛丝马迹”。
所以,后门的编写者及时调整了思路,把目光放到了动态链接程序库上,也就是说,把后门做成DLL文件,然后由某一个EXE做为载体,或者使用Rundll32.exe来启动,这样就不会有进程,不开端口等特点,也就实现了进程、端口的隐藏。
本文以“DLL的原理”“DLL的清除”“DLL的防范”为主题,并展开论述,旨在能让大家对DLL后门“快速上手”,不在恐惧DLL后门。
好了,进入我们的主题。
一,DLL的原理 1,动态链接程序库 动态链接程序库,全称:Dynamic Link Library,简称:DLL,作用在于为应用程序提供扩展功能。
应用程序想要调用DLL文件,需要跟其进行“动态链接”;从编程的角度,应用程序需要知道DLL文件导出的API函数方可调用。
由此可见,DLL文件本身并不可以运行,需要应用程序调用。
正因为DLL文件运行时必须插入到应用程序的内存模块当中,这就说明了:DLL文件无法删除。
这是由于Windows内部机制造成的:正在运行的程序不能关闭。
所以,DLL后门由此而生! 2,DLL后门原理及特点 把一个实现了后门功能的代码写成一个DLL文件,然后插入到一个EXE文件当中,使其可以执行,这样就不需要占用进程,也就没有相对应的PID号,也就可以在任务管理器中隐藏。
DLL文件本身和EXE文件相差不大,但必须使用程序(EXE)调用才能执行DLL文件。
DLL文件的执行,需要EXE文件加载,但EXE想要加载DLL文件,需要知道一个DLL文件的入口函数(既DLL文件的导出函数),所以,根据DLL文件的编写标准:EXE必须执行DLL文件中的DLLMain()作为加载的条件(如同EXE的mian())。
做DLL后门基本分为两种:1)把所有功能都在DLL文件中实现;2)把DLL做成一个启动文件,在需要的时候启动一个普通的EXE后门。
常见的编写方法: (1),只有一个DLL文件 这类后门很简单,只把自己做成一个DLL文件,在注册表Run键值或其他可以被系统自动加载的地方,使用Rundll32.exe来自动启动。
Rundll32.exe是什么?顾名思意,“执行32位的DLL文件”。
它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。
如果看到系统中有多个Rundll32.exe,不必惊慌,这证明用Rundll32.exe启动了多少个的DLL文件。
当然,这些Rundll32.exe执行的DLL文件是什么,我们都可以从系统自动加载的地方找到。
现在,我来介绍一下Rundll32.exe这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。
系统中还有一个Rundll.exe文件,他的意思是“执行16位的DLL文件”,这里要注意一下。
在来看看Rundll32.exe使用的函数原型: Void CALLBACK FunctionName ( HWND hwnd, HINSTANCE hinst, LPTSTR lpCmdLine, Int nCmdShow ); 其命令行下的使用方法为:Rundll32.exe DLLname,Functionname [Arguments] DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。
(2),替换系统中的DLL文件 这类后门就比上边的先进了一些,它把实现了后门功能的代码做成一个和系统匹配的DLL文件,并把原来的DLL文件改名。
遇到应用程序请求原来的DLL文件时, DLL后门就启一个转发的作用,把“参数”传递给原来的DLL文件;如果遇到特殊的请求时(比如客户端),DLL后门就开始,启动并运行了。
对于这类后门,把所有操作都在DLL文件中实现最为安全,但需要的编程知识也非常多,也非常不容易编写。
所以,这类后门一般都是把DLL文件做成一个“启动”文件,在遇到特殊的情况下(比如客户端的请求),就启动一个普通的EXE后门;在客户端结束连接之后,把EXE后门停止,然后DLL文件进入“休息”状态,在下次客户端连接之前,都不会启动。
但随着微软的“数字签名”和“文件恢复”的功能出台,这种后门已经逐步衰落。
提示: 在WINNTsystem32目录下,有一个dllcache文件夹,里边存放着众多DLL文件(也包括一些重要的EXE文件),在DLL文件被非法修改之后,系统就从这里来恢复被修改的DLL文件。
如果要修改某个DLL文件,首先应该把dllcache目录下的同名DLL文件删除或更名,否则系统会自动恢复。
(3),动态嵌入式 这才是DLL后门最常用的方法。
其意义是将DLL文件嵌入到正在运行的系统进程当中。
在Windows系统中,每个进程都有自己的私有内存空间,但还是有种种方法来进入其进程的私有内存空间,来实现动态嵌入式。
由于系统的关键进程是不能终止的,所以这类后门非常隐蔽,查杀也非常困难。
常见的动态嵌入式有:“挂接API”“全局钩子(HOOK)”“远程线程”等。
远程线程技术指的是通过在一个进程中创建远程线程的方法来进入那个进程的内存地址空间。
当EXE载体(...
基层工作者6