设计ASP时对其安全性以及稳定性设计的经验


我是搞江湖程序出身的,那个时候网上满那都是黑客攻击江湖的范例。在当时还是菜鸟兼

站长的我是吃尽了苦头,也许下边的一些经验都不是有太高技术含量,但是如果小瞧的话

死的可能会很惨

1.sql注入漏洞 我想有的人在一些网站上看过介绍。明白的请继续走。不明白的留下

就先那刚才发[本人開發大型商業平臺...]的那个兄弟开刀,(请不要拿东西丢我)

他的站点设计的感觉还算不错。但是有一个致命弱点。

就是当我输入

用户名:admin

密 码:' or ''='

的时候,就直接能进入到他的系统中,不过不是ADMIN权限,(失算一,一!)

不过这个就反映一个问题,在一个系统设计中是不应该出现不知道密码就可以进入个人帐

号的现象的,但这确实出现了。原因是什么呢

一般的用户校验都是这样

rs.open "select * from userdata where name='"&name&"' and pass='&pass&'"

想必大家都知道这个语句怎么用

但是如果合并我刚才的用户名密码

这个SQL语句就是

rs.open "select * from userdata where name='admin' and pass='' or ''=''"

想必大家能看明白是怎么回事情了吧。

解决方法就是把'转换成''

如果你认为只是能让你免密码登入可就错了

如果用户名是任意密码是 
' or ''='';delete * from userdata where ''='

合并以后大家自己琢磨吧~~~,还有更狠的就不网上写了

可悲的是我在网络上找ASP的站点,有70%有这样的漏洞,不知道是素质都不行,还是我

“运气”太好。

-------------------------------------- 
留言版和信息发布

这个照比那个漏洞能差点,至少你数据能保住。

一般设计留言版都直接使用这样的模式

存:rs("memo")=表单提交信息 
取:<%=rs("memo")%>

在感觉上这样是没有什么问题

但是我如果在留言版输入如下代码~ 
 
不知道你会不会很爽~~~。 
或者连到一个SEX然后给相关部门打电话让他们来检查达到害死你的目的。 
甚至查消息的时候你直接中弹而导致无法查看他的信息。

这个时候就要用

Function HTMLEncode(fString) 
If Not IsNull(fString) Then 
Dim bwords,ii 
fString = replace(fString, ">", ">") 
fString = replace(fString, "<", "<")

fString = Replace(fString, CHR(32), " ") 
fString = Replace(fString, CHR(9), " ") 
fString = Replace(fString, CHR(34), """) 
fString = Replace(fString, CHR(39), "'") 
fString = Replace(fString, CHR(13), "") 
fString = Replace(fString, CHR(10) & CHR(10), "

") 
fString = Replace(fString, CHR(10), "
")

End Function 
这个函数,可以把用户输入的HTML代码按照原样显示出来,而不会直接执行。 
------------------------------------- 
FSO图片上传。犯这个错误的人已经很少了,不过不表示没有。 
在上传图片的时候不限制扩展名。

比如我传一个ASP的FSO木马或者通过SHELL执行程序。以及其他方式,就可以完全操控服

务器

不知道到底有多少网站有这个漏洞。

现在网上有大连信息港的程序下载,想必就知道他是如何来的,(其维护人员还把整个程序打RAR,方便下载)

而另人痛心的是,出现这个错误的大部分是政府网站,和国营网站。看学历以及关系用人

严重。不负责任。混日子的人都在机关工作,但真正搞的了技术却不一定过这什么日子

------------------------------- 
不知道还有什么,暂时没想起来,主要这几个把握好一般人不能黑了,如果通过139或者

445把你站点改了可就不是我能帮的上忙的了 

你可能感兴趣的:(设计ASP时对其安全性以及稳定性设计的经验)