抵御入侵保护ASP系统的通用方法

    研究了漏洞,我就想解决的方法,我总结一下,里面有我想的一个不成熟的想法。是给高手看的,看看是不是一种解决已知和未知SQL注入漏洞的好方法。

 这个是我想的不成熟的方法,我认为能解决大部分以知和未知的SQL注入漏洞,让入侵者弄不到密码!

 首先我先分析大多数的SQL注入,原理无非就是对管理员敏感的信息进行猜测,因此都需要知道管理员表名,用户变量和密码变量才能进行猜测。http://ip/art/list.asp?id=253 and 1=(select id from admin where len(password)=10)而免费的ASP系统最大的缺点是什么?数据库的储存敏感的信息的地方都是一样的!!

 试想对于上面的注入,我不知道储存管理员的表为admin,我怎么可能进行攻击呢?呵呵大家都想到了吧,我说的方法就是自己修改表名和ASP代码,以达到保护的目的,让入侵者猜到吐血,也找不出!

 此方法我认为适合大多数的文章管理和下载系统,等asp系统

 还是实战一下,对于动网文章系统3。4的修改,

 第一步:修改数据库

 用access打开数据库,然后在表名admin上点右键选择重命名,我命名为admin1234(呵呵,你可要命名个随机难猜的啊)

 第二步:修改ASP代码

 一般我门只要修改相关的SQL语句就可以了。

 先找出需要修改的文件,恩,打开WINDOWS的搜索,选择搜索动网文章的文件夹,然后在搜索条件为包含文字"admin",一定要加引号,表示此字符串单独存在,不包含在其他字符串中,这时就出来了13个文件,然后打开文件,我发现只有一出干扰就是

  if session("admin")="" then 他也包含admin,其余的均为SQL语句查询里,所以我看了一下确定了该改的文件有 chkadmin.asp saveuser.asp saveuer1.asp adminuser.asp

 修改为,用记事本打开,并利用其搜索替换的功能,将所有from admin 替换为from admin1234,其实就是遇到sql="select * from admin where flag 或类似的SQL语句,就将admin修改为admin1234,然后保存, 好了,到此就修改完了,然后测试了一下,还行,没有问题。这下即使有新漏洞我也不怕了,因为入侵者猜不到我的表名,呵呵。
 这就是一次简单实战,对于其他的ASP系统也是类似的。到这里我不太满意,因为我在用手工修改,谁能保证不出错,而且对于论坛类的ASP是不可能的。

 所以我的想法是用软件批量的修改文件,这样的功能的软件应该有,可以自己找,或编,但是我还是认为不好,因为有好多干扰的因素,如上面的的if session("admin")="" then 就不能改 的,软件是不好判断的。所以我认为对于这个方法应该在业界行成编程的新规范。还是拿动网来做例子

 对于动网的BBS,他可以在编写的时候,对于储存用户和管理员的表名起一个与BBS代码没有重复的表名,然后随论坛发布一个软件,在用户安装后,批量修改数据库和论坛文件代码中储存管理员的表名为用户自己定义的表名。这样就解决了修改时文件过多,和相同字符干扰的问题,而你自己定义的管理员的表名被猜出的几率极底,入侵者猜不出来就没法进行SQL注入攻击了,即使是他发现了新的注入漏洞,如此安全性大大提高了。

 我希望的是这个方法可以实现,这样在用户得到文件后可以自己定义敏感数据,以避免绝大多数已知和未知的SQL攻击。

 这是我找的一个好工具,非常不错的批量文件字符替换程序。

 自我点评一下,我对前两篇文章不是很满意的,即动网漏洞和浪客密码,我只是在原有的知识上重复工作,没什么用,而这篇文章我认为可以有效的改变安全问题,我看了一下,如果对于一个如上方法处理的BBSXP论坛,即使是没有补丁对于BBSXP漏洞倒着看一、二、四、五都是天生免疫的,对于动网,如果也用上面的方法处理过,那么,对于”绝对背后的微笑-再谈DVBBS漏洞“,“免费版dvBBS的另一类漏洞“,”Sql Injection with Access“等漏洞也是天生免疫的,所以我对这个方法还是抱着很大希望的,如果能成为一种规范,应该对安全的贡献是大的,虽然目前还不行,但我想将来可以行,而且现在对于小规模的ASP系统可以手工修改。

时间: 2024-12-26 11:07:13

抵御入侵保护ASP系统的通用方法的相关文章

一个通用的保护ASP系统的方法

研究了漏洞,我就想解决的方法,我总结一下,里面有我想的一个不成熟的想法.  是给高手看的,看看是不是一种解决已知和未知SQL注入漏洞的好方法. 这个是我想的不成熟的方法,我认为能解决大部分以知和未知的SQL注入漏洞,让入侵者弄不到密码!  首先我先分析大多数的SQL注入,原理无非就是对管理员敏感的信息进行猜测,因此都需要知道管理员表名,用户变量和密码变量才能进行猜测如 http://ip/art/list.asp?id=253 and 1=(select id from admin where

用ASP与SQL Server2000编程分页显示记录的通用方法

server|server2000|sql|编程|分页|显示 用ASP与SQL Server2000编程分页显示记录的通用方法 在工作中,因为需要,需要一个网络查询系统,所以进行了网页设计.以前进行网页编程时经常使用PHP语言和MySQL数据库,此次,因为限制,必须用ASP语言和SQL Server2000,所以对此进行了一些研读.发现,SQL Server和ASP配合没有象MySQL那样的   Select ... limit ... 语句从某条记录开始只取需要的记录的功能,显得比较不方便.

Windows系统安全设置方法--中级安全篇

1.利用win2000的安全配置工具来配置策略 微软提供了一套的基于MMC(管理控制台)安全配置和分析工具,利用他们你可以很方便的配置你的服务器以满足你的要求.具体内容请参考微软主页:http://www.microsoft.com/windows2000/techi...y/sctoolset.asp 2.关闭不必要的服务 windows 2000 的 Terminal Services(终端服务),IIS ,和RAS都可能给你的系统带来安全漏洞.为了能够在远程方便的管理服务器,很多机器的终端

Windows Server 2003 系统安全配置方法_win服务器

一.系统的安装 1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM+ 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必选) |--Int

保护ASP脚本源代码

于 Server端的脚本运行环境,它简单易用,不需要编译和连接,脚本可以在 Server端直接运行,并且它支持多用户.多线程,在 Web开发中得到了广泛的应用. 但是,因为 ASP脚本是纯文本格式,所以恶意者通过源代码可以很容易地看到原本不该看到的页面内容.例如, ASP源代码中通常有系统数据库的连接用户名和口令,恶意者利用此用户名和口令可以轻松地查看数据库中的所有信息(包括系统机密信息),还可能篡改库中信息,造成系统严重损坏.因此,保护 ASP脚本的源代码显得非常重要. 保护 ASP脚本源代码

WebSphere Application Server通用方法支持数据库活动监控

本文将展示一个适用于 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® Application Server 应用程序的通用方法,该方法支持数据库活动监控解决方案,比如 InfoSphere® Guardium®,以便可靠地将应用程序用户分配给数据库活动,无需更改相应的应用程序. 某些规范需求,比如 PCI-DSS 和 SOX,要求审计公司数据库上的特定活动,并为负责相应活动的人员指派活动.同时,越来越多的应用程序

网站安全之ASP程序加密/解密方法大揭密

安全|程序|加密|解密 如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题,网上求解这类问题的帖子非常多,下面我们就来谈谈ASP程序的加密方法. 一.如何加密ASP程序? 目前对ASP程序的加密方法主要有三种:脚本编码器(SRCENC.EXE)加密.组件加密.自编程序加密,下面我们就来展开介绍这三种加密方法. 1.使用微软的MS Script En

看asp源码的方法及工具20种

众所周知windows平台漏洞百出,补丁一个接一个,但总是补也补不净.我把我所知道的20种看asp源码的方法总结了一下,并且用c#写了个应用程序来扫描这些漏洞,发现虽然大部分的方法已经不起做用,但还是有一些漏网之鱼的:),结果这两天真看到不少站的源代码,包括数据库密码,如果用access的可以把库下载下来,而用sql server的如果不是用udl,dsn等来连接的话,也可以通过tcp/ip网络库连接到数据库,为所欲为呀.先面把这20种方法列在下面: .%81::DATA%2e%2e%41sp+

U盘WINPE系统的制作方法

      WinPE(Windows预安装环境,WindowsPreinstallationEnvironment),基于在保护模式下运行的 WindowsXP个人版内核,是一个只拥有较少(但是非常核心)服务的Win32子系统.这些服务为Windows安装.实现网络共享.自动底层处理进 程和实现硬件验证. WinPE让你创建和格式化硬盘分区,并且给你访问NTFS文件系统分区和内部网络的权限.这个预安装环境支持所有能用Windows2000和WindowsXP驱动的大容量存储设备,你可以很容易地