站长的我是吃尽了苦头,也许下边的一些经验都不是有太高技术含量,但是如果小瞧的话
死的可能会很惨
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把你站点改了可就不是我能帮的上忙的了