
ASP木马注入到网站服务器后,可通过控制整个网站的所有的源代码,其中程序修改或删除网站的其它内容,如果一不小心注入的是网站服务器,那么影响的就不是一个网站,而是整个网站服务器上的所有网站
防止ASP一句话木马的方法如下:
1、可以通过修改注册表,将此组件改名,来防止此类木马的危害。
HKEY_CLASSES_ROOT\ScriptingFileSystemObject\
改名为其它的名字,如:改为FileSystemObject_ChangeName,以后调用的时候使用这个就可以正常调用此组件了。
2、也要将clsid值也改一下:
HKEY_CLASSES_ROOT\ScriptingFileSystemObject\CLSID\项目的值
3、也可以将其删除,来防止此类木马的危害。
注销此组件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrundll
4、禁止Guest用户使用scrrundll来防止调用此组件。
使用命令:cacls C:\WINNT\system32\scrrundll /e /d guests
要看怎么保密,对客户端的话,哪种语言都一样
对服务端源码的话,只有Net和JSP是编译发布的
php那个zend和asp的encode加密都是摆设,解密软件一大堆
不过现在Net的dll反编译器连注释都能编译出来,如果微软不升级,恐怕编译也只是摆设(高手写入花指令的除外)
Java编译过的文件 是否能够反编译 我也不清楚 ,不过好像还没见到很好的Java反编译器
单从安全角度来讲,推荐JSP
用组件法加密的asp程序是无法解密的,而screnc加密过的程序则可以解密,方法是:使用解密软件(ZWDECODEEXE)。
ZWDECODEEXE(下载地址
>
ActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、VBScript脚本命令和JavaScript脚本命令等,以创建交互的Web页和基于Web的功能强大的应用程序。
由于脚本程序是在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。所以不必担心浏览器能否处理脚本:Web服务器已经完成了所有脚本的处理,并将标准的HTML页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。
简介
Active Server Page (ASP) 应用程序的成功常常取决于对体系结构和设计这两方面的取舍 考虑到 ASP 技术的范围之广和当前应用程序固有的复杂性 这种取舍是非常困难的 本文中 我将为您提供一些特定的指导方针 以助您成功开发基于 ASP 的应用程序
我已将指导方针整理成一组开发原则 在评估解决方案和技术时 可以应用以下原则帮助您做出决策 以下原则是我长期以来从成功的开发模式所得的经验积累
原则 采用标准方法
建立命名约定并使目录结构标准化 可以帮助您大大提高 ASP 应用程序的可读性和可维护性 虽然目前尚无 ASP 应用程序的正式标准 许多开发人员还是建立了一些通用方式 在此 我将与您共享一些更为通用的方式
因为 ASP 技术依靠脚本引擎进行工作 而且脚本具有类型不严密的天性 命名约定也很模糊 在类型非常严密的语言中 变量将按照它的实际类型进行声明 在使用 ASP 技术时 通常按照处理变量的方式(而不是其实际数据类型)在 ASP 代码中声明变量 例如 在使用 Visual Basic(R) Scripting Edition (VBScript) 时 尽管所有的 VBScript 变量都是 Variant 你还是会将成功标志声明为 bSuccess(b 代表布尔型) 而不是 vSuccess(v 代表 Variant)
下表是一些通行的命名约定
变量前缀
前缀 使用的变量 变量示例
b or bln Boolean bSuccess
c or cur Currency cAmount
d or dbl Double dblQuantity
dt or dat Date and Time dtDate
f or flt Float fRatio
l or lng Long lMilliseconds
i or int Integer iCounter
s or str String sName
a or arr Array aUsers()
o or obj Object oPipeline
数据库对象的变量前缀
前缀 使用的变量 变量示例
cnn Connection cnnPubs
rst Recordset rstAuthors
cmd Command cmdEmployee
fld Field fldLastName
范围及前缀的用法
前缀 说明
g_ 创建于 Global asa
m_ 对于 ASP 页或在 Include 文件中是局部的
(没有前缀) 非静态变量 对于过程来说前缀是局部的
Knowledge Base (KB) 中的一篇文章 Q INFO: Microsoft Consulting Services Naming Conventions for Visual Basic (英文)对命名约定提供了真知灼见
尽可能采用目录结构为您的各个应用程序部件提供始终如一的位置 您应用程序的实际目录结构当然由您自己决定 但通常是将图像 文档 include 文件和组件分别放置在单独的目录中 以下是简单 ASP 应用程序目录结构示例
目录结构示例
\SimpleAspApp
\Docs
\Images
\Includes
一个好的目录结构允许您有选择地应用 NTFS 权限 您还可以从 ASP 应用程序内部使用相对路径 例如 可以使用以下代码 从位于 SimpleAspApp 目录的 default asp 页 引用 Includes 目录中的 include 文件 top asp
/includes/top asp
注意我的 include 文件的扩展名是 asp 而不是 inc 这样做是出于安全方面的考虑 而且使用 asp 扩展名(而不是 inc) 还能够在 Visual InterDev(R) 中使用彩色编码
有关结构化 ASP 应用程序的其他一些提示和技巧 请参阅文章 ASP Conventions (英文)
原则 设计为在服务下运行
ASP 将在服务下运行 设计 ASP 应用程序时 您马上会面临在桌面应用程序中不会遇到的安全环境和线程问题 在桌面环境中 通常只处理作为交互式用户运行的单线程执行 而且有权访问当前的桌面系统 在 Internet 信息服务 (IIS) 中 模拟不同用户环境的多个客户机线程调用您的应用程序 而且您的应用程序被限于 系统 桌面
这对您来说意味着什么?请学习 IIS 的安全模式 还要提醒您 仅因为某些东西能在 Visual Basic IDE 下能够正常运行 并不意味着它就能在 ASP 技术中安全运行 Visual Basic IDE 并没有准确地模拟运行时环境 常见的设计错误包括 在 ASP 技术中使用需要用户界面的 OCX 控件 使用对线程来说不安全的组件 和使用要求特殊的用户上下文的组件 要避免的一个最简单的问题 就是从应用程序中试图访问 HKEY_CURRENT_USER (HKCU) 注册表项(例如 不要调用 Visual Basic 的 GetSetting 和 SaveSetting 函数 它们都依赖于 HKCU) 同样 不要出现需要用户进行人机交互的消息框或其他对话框
以下文章是有关 ASP 技术中的安全和验证问题的相当不错的入门读物
Authentication and Security for Internet Developers (英文)
Q INFO: Security Issues with Objects in ASP and ISAPI Extensions (英文)
原则 封装业务逻辑
ASP 技术通过生成 HTML 输出提供了表示服务 简而言之 它会生成用户界面 您需要将商务逻辑从 ASP 表示脚本中分隔开来 即使您不使用 组件将业务逻辑从 ASP 代码中分隔开来 至少也要将业务逻辑分隔到函数和 include 文件中 以提高可维护性 可读性和可重用性 在需要排除故障和隔离问题时 您还能体会模块化设计方法的好处
调用脚本内部调用函数和方法 可避免代码乱作一团 并能在 ASP 应用程序中添加结构 下面举例说明从 ASP 代码中 将逻辑分离到方法调用中
lt;% Main()
MyBizMethod()
Sub Main()
GetData()
DisplayData()
End Sub
%>
在使用包含 ASP 功能的技术时 可以应用这一原则 下面举一个使用 Visual Basic WebClass 时的例子 说明如何使用这一原则
因为 WebClass 本身引用 ASP 代码生成 HTML 所以您不要将业务逻辑直接置于 WebClass 内 因为这是您的表示层 不在 MTS/+ 下直接运行 WebClass
从 WebClass 可以调用能运行在 MTS/+ 中的单独业务组件
您可以决定创建自己的 具有对 ASP 引用的 组件 而不是依赖于 WebClass 框架结构和额外的 WebClass 运行时开销 — 您也可以使用 ASP 脚本直接将业务组件自动化
原则 尽晚获取资源 尽早释放资源
常见的问题是 从桌面系统到服务器的过渡 许多具有桌面系统背景的开发人员从来没有为服务器的一些问题和资源共享担心过 在传统的桌面应用程序中 连接到服务器是个耗时的过程 为了改善用户的体验 通常采用尽早获取资源和推迟释放资源的方法 例如 许多应用程序会在它的整个运行时间内始终连接着数据库
这种方式在传统的桌面应用程序中能够正常工作 其原因是用户数量非常明确 容易加以控制 并且后端与前端紧密连接 然而 对于当前的 Web 应用程序 这种方式已经不可行了 其原因是有限的服务器资源将面对越来越多的用户 为了使您的应用程序能够应付用户的增加 您需要尽晚获取资源 尽早释放资源
共用有助于增加这一方式的有效性 通过共用 多个用户能够共享资源 而且等待时间最少 对服务器的影响也最小 例如 在处理数据库时 ODBC 连接共用和 OLEDB 资源共用可以实现从共用池中选择连接 最大程度地减少连接数据库的开销
有关共用 ADO 的详细信息 请参阅 Pooling in Microsoft Data Access Components (英文)
原则 使用数据库维护复杂的状态
尽管 >
以上就是关于如何防止ASP一句话木马全部的内容,包括:如何防止ASP一句话木马、jap,asp,php,.net,哪种技术做的网站程序最保密、asp程序加密了 怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)