不难看出,该模拟网站的结构比较典型,和众多中小网站一样,属于动态网站,是“IIS+ASP+ACCESS”组合,都是由前台显示程序,后台管理程序,以及网站数据库组成。模拟网站之所以被黑客入侵,是因为网站设计者的一些“疏忽”造成网站存在一些漏洞,而这些“疏忽”也正是在现实中网站管理者经常犯的,可见模拟网站设计者的网站攻防经验十分丰富。下面我们来看看模拟网站都存在哪些漏洞,以及该如何防范。
1、SQL注入漏洞。这种漏洞在网上很普遍,通常是由于程序员对SQL注入攻击不了解,程序过滤不严格,或者某个参数忘记检查所产生的。这就导致入侵者通过构造特殊的SQL语句,而对数据库进行跨表查询攻击,通过这种方式很容易使入侵者得到一个WebShell,然后利用这个WebShell做进一步的渗透,直至得到系统的管理权限,所以这种漏洞产生的危害很严重。建议网站管理者使用NBSI、啊D、小榕的WED+WIS等注入工具对自己的网站扫描一下,看是否存在此漏洞。如果存在该漏洞,则可以在存在漏洞的页面加入以下代码:
<%
dim sqlcheck
sqlcheck=request(“id”)
if isnumeric(sqlcheck)=0 or sqlcheck=”” then
response.write “参数错误,请重新输入!”
response.end
end if
%>
2、后台管理链接“大大方方”的放在首页上。要登录后台上传木马,找到后台管理路径是关键,这次模拟网站的后台管理链接直接放在了网站的首页上,入侵者可以轻易的找到。即使后台管理路径没有在首页上做链接,也会被SQL注入工具扫描出来,因为路径http://59.151.29.110/admin/Login.asp太容易被搜索到了。所以建议后台管理路径要放在深目录下,后台管理目录和登录页的名字也要起的复杂些,不要起admin、houtai等常见名字,这样才不容易被扫描到。另外,网站的数据库也要采取这种措施。
3、后台管理员用户名和密码过于简单。尽管后台管理员用户名和密码经过MD5加密,但还是可以被破解的,类似http://www.xmd5.org这样破解MD5密码的网站有很多,也有象Rainbowcrack、MD5Crack、DeMD5等这类的暴力破解软件,所以密码设置的复杂些也很重要。
4、上传文件格式限制不严谨。尽管模拟网站对上传文件做了限制,可是只对类似于“asp”、“php”、“apsx”这类常见文件做了限制,而没有对“asa”格式的文件做限制(经过测试cer格式的文件可以上传),入侵者还是将海阳顶端木马Eval版的一句话木马上传到了服务器上,从而获得服务器的WebShell权限,可谓是“千里之堤,溃于蚁穴”。
除了上面几个网站漏洞外,下面的漏洞也在网站中比较常见,同样需要网站管理者引起重视:
1、一种比较特殊的Sql注入漏洞。之所以说比较特殊,是因为它同样是通过构造特殊的SQL语句,来欺骗鉴别用户身份代码的,但与Sql注入的提交方式不同。比如入侵者找到后台管理入口后,在管理员用户名和密码输入“'or '1'='1'”、“'or''='”、“') or ('a'='a”、“" or "a"="a”、“' or 'a'='a”、“' or 1=1--”等这类字符串(不包含引号),提交,就有可能直接进入后台管理界面。这个漏洞比较老了,但还是在一些网站存在着。解决这个漏洞的办法是对“’”这类特殊字符进行过滤或者替换。
2、对提交的特殊字符不过滤。对于网友在网站注册用户信息和留言时,也要过滤提交的特殊字符,防止入侵者提交HTML语句。本次大赛的模拟网站就没有过滤这些特殊字符,可以导致网页被挂马、跨站等,如图2所示。

图2