最近发现很多同仁对我的网站比较青睐,同事帮我分析网站log时,惊讶的发现:2M的log居然有将近1M都是测试我网站的安全性的,其中至少0.5M的log来自WVS。
Acunetix Web Vulnerability Scanner 是一款国外产的及其优秀的扫描工具,可以帮忙挖掘网站内的诸多漏洞,包括常见的SQLinjection,XSS(很多自认为牛人的就喜欢用WVS扫站发现XSS就公布说是他发现的...)。既然WVS这么牛,那咱们就不给他访问网站的机会,像堵SQL注入一样来堵住它。
分析了一下WVS扫描时候的头文件,基本都包含它网站的英文名称:acunetix,于是我们从这个名称下手了。以下是三个版本的代码:
1.ASP(JScript)版,对于LBS的用户,可以用这个(添加或包含到_common.asp文件里):
复制代码代码如下:
<%
var StopScan="== WVS PLS GO AWAY!BY oldjun! ==";
var requestServer=String(Request.ServerVariables("All_Raw")).toLowerCase();
if(Session("stopscan")==1){
Response.Write(StopScan);
Response.End;
}
if(requestServer.indexOf("acunetix")>0){
Response.Write(StopScan);
Session("stopscan")=1;
Response.End;
}
%>
2.ASP(VBscript)版,一般的asp用户可以用这个,包含到conn.asp即可:
复制代码代码如下:
<%
Dim StopScan,RequestServer
StopScan="== WVS PLS GO AWAY!BY oldjun! =="
RequestServer=Lcase(Request.ServerVariables("All_Raw"))
If Session("stopscan")=1 Then
Response.Write(StopScan)
Response.End
End If
If instr(RequestServer,"acunetix") Then
Response.Write(StopScan)
Session("stopscan")=1
Response.End
End If
%>
3.PHP版:
复制代码代码如下:
<?php
$http=$_SERVER["ALL_HTTP"];
If(isset($_COOKIE["StopScan"]) && $_COOKIE["StopScan"]){
die("== WVS PLS GO AWAY!BY oldjun! ==");
}
If(strpos(strtolower($http),"acunetix")){
setcookie("StopScan", 1);
die("== WVS PLS GO AWAY!BY oldjun! ==");
}
?>
代码很简单,本文只是提供个思路,对于一般的WVS扫描均可以拦截,如果头部信息可以自己定义或者遇到zwell的JSKY,大家找最匹配的即可~~~From oldjun