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

网络整理 - 08-30
研究了漏洞,我就想解决的方法,我总结一下,里面有我想的一个不成熟的想法。

是给高手看的,看看是不是一种解决已知和未知SQL注入漏洞的好方法。

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

首先我先分析大多数的SQL注入,原理无非就是对管理员敏感的信息进行猜测,因此都需要知道管理员表名,用户变量和密码变量才能进行猜测。

?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,然后保存, 好了,到此就修改完了,然后测试了一下,还行,没有问题。这下即使有新漏洞我也不怕了,因为入侵者猜不到我的表名,呵呵。