网站漏洞整改报告记录
————————————————————————————————作者:————————————————————————————————日期:
网站漏洞整改报告
按照国家《中华人民共和国计算机信息系统安全保护条例》、《计算机信息网络国际联网安全保护管理办法》、《互联网安全保护技术措施规定》等有关法律法规规定,全面落实互联网安全保护制度和安全保护技术措施,对网站、信息安全进行了严格漏洞安全检查工作。
本次网站安全检查是完全站在攻击者角度,模拟黑客可能使用的攻击技术和漏洞发现技术进行的安全性测试,通过结合多方面的攻击技术进行测试,发现本校个别网站系统存在比较明显的可利用的安全漏洞,针对已存在漏洞的系统需要进行重点加固。本次检查结果和处理方案如下:
https://www.doczj.com/doc/a616021330.html,.c n 高危漏洞0个页面
严重漏洞0个页面
警告漏洞0个页面
轻微漏洞0个页面
同主机网站安全正常虚假或欺诈网站正常挂马或恶意网站正常恶意篡改正常
敏感内容正常
安全状况安全
https://www.doczj.com/doc/a616021330.html,.c n 漏洞类型: SQL注入/XPath
请求方式: POST
影响页面: https://www.doczj.com/doc/a616021330.html,/webDeanBoxAction.do 处理方案: 通过在Web应用程序中增加通用防注入程序来防止SQL注入攻击。通用SQL防注入程序通常
在数据库连接文件中被引入,并在程序执行过程中对常见的GET、POST、Cookie等提交方式进行过滤处理,拦截可能存在的SQL注入攻击。
https://www.doczj.com/doc/a616021330.html,.c n 漏洞类型: SQL注入/XPath、XSS跨站脚本攻击
请求方式: POST
影响页面: https://www.doczj.com/doc/a616021330.html,/sbcxsearch.asp
处理方案: 此网站已经新做,新版正测试中,马上投入使用。
https://www.doczj.com/doc/a616021330.html, :80/jp2005/08 漏洞类型: XSS跨站脚本攻击
漏洞证据:
影响页面: https://www.doczj.com/doc/a616021330.html,:80/jp2005/08/flashshow.
asp?title=%CA%FD%D7%D6%B5%E7%C2%B7%D3
%EB%CA%FD%D7%D6%B5%E7%D7%D3%BC%BC
%CA%F5%BE%AB%C6%B7%BF%CE%B3%CC%C9%
EA%B1%A8%CE%C4%BC%FE_%D0%BB%CB%C9%
D4%C6">
处理方案: 方案一:站在安全的角度看,必须过滤用户输入的危险数据,默认用户所有的输入数据都是
不安全的,根据自身网站程序做代码修改。
方案二:使用防护脚本。(附代码)
<%
'Code by safe3
On Error Resume Next
if request.querystring<>"" then call
stophacker(request.querystring,"'|<[^>]*?>|^\+/
v(8|9)|\b(and|or)\b.+?(>|<|=|\bin\b|\blike\b)|/
\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELEC T|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SEL ECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TR UNCATE)\s+(TABLE|DATABASE)")
if Request.ServerVariables("HTTP_REFERER")<>"" then call test(Request.ServerVariables("HTTP_REFERER"),"' |\b(and|or)\b.+?(>|<|=|\bin\b|\blike\b)|/\*.+?\ */|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPD ATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DE LETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE )\s+(TABLE|DATABASE)")
if request.Cookies<>"" then call stophacker(request.Cookies,"\b(and|or)\b.{1,6}?( =|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\ bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSER T\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|( CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DAT ABASE)")
call
stophacker(request.Form,"^\+/v(8|9)|\b(and|or) \b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*s cript\b|<\s*img\b|\bEXEC\b|UNION.+?SELECT|U PDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT |DELETE).+?FROM|(CREATE|ALTER|DROP|TRUN CATE)\s+(TABLE|DATABASE)")
function test(values,re)
dim regex
set regex=new regexp
regex.ignorecase = true
regex.global = true
regex.pattern = re
if regex.test(values) then
IP=Request.ServerVariables("HTTP_X_FORWARDE D_FOR")
If IP = "" Then
IP=Request.ServerVariables("REMOTE_ADDR")
end if
'slog("
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")& "
提交参数: "&l_get&"
提交数据: "&l_get2)
Response.Write("
style='position:fixed;top:0px;width:100%;height:1 00%;background-color:white;color:green;font-we ight:bold;border-bottom:5px solid #999;'>
您的提交带有不合法参数,谢谢合作!
end if
set regex = nothing
end function
function stophacker(values,re)
dim l_get, l_get2,n_get,regex,IP
for each n_get in values
for each l_get in values
l_get2 = values(l_get)
set regex = new regexp
regex.ignorecase = true
regex.global = true
regex.pattern = re
if regex.test(l_get2) then
IP=Request.ServerVariables("HTTP_X_FORWARDE D_FOR")
If IP = "" Then
IP=Request.ServerVariables("REMOTE_ADDR")
end if
'slog("
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")& "
提交参数: "&l_get&"
提交数据: "&l_get2)
Response.Write("
style='position:fixed;top:0px;width:100%;height:1 00%;background-color:white;color:green;font-we ight:bold;border-bottom:5px solid #999;'>
您的提交带有不合法参数,谢谢合作!
Response.end
end if
set regex = nothing
next
next
end function
sub slog(logs)
dim toppath,fs,Ts
toppath = Server.Mappath("/log.htm")
Set fs = CreateObject("scripting.filesystemobject")
If Not Fs.FILEEXISTS(toppath) Then
Set Ts = fs.createtextfile(toppath, True)
Ts.close
end if
Set Ts= Fs.OpenTextFile(toppath,8)
Ts.writeline (logs)
Ts.Close
Set Ts=nothing
Set fs=nothing
end sub
%>
https://www.doczj.com/doc/a616021330.html, 漏洞类型: XSS跨站脚本攻击
漏洞证据:
影响页面: https://www.doczj.com/doc/a616021330.html,:80/servlet/Redirect?linkt o=/structure/wqfw"-->;alert(42873);"
处理方案: 方案一:站在安全的角度看,必须过滤用户输入的危险数据,默认用户所有的输入数据都是
不安全的,根据自身网站程序做代码修改。
方案二:使用防护脚本。
输入资料过滤
<%
String message =
request.getParameter("message");
message = message.replace ('<',' ');
message = message.replace ('>',' ');
message = message.replace ('"',' ');
message = message.replace ('\'',' ');
message = message.replace ('/',' ');
message = message.replace ('%',' '); message = message.replace (';',' '); message = message.replace ('(',' '); message = message.replace (')',' '); message = message.replace ('&',' '); message = message.replace ('+','_'); out.print(message);
%>
https://www.doczj.com/doc/a616021330.html, 漏洞类型: SQL注入漏洞(盲注)
漏洞证据: Injection Type: String
Database Type: Access 影响页面: https://www.doczj.com/doc/a616021330.html,/book/own_show_showim
g.asp?own_id=122
处理方案: 1.在网页代码中需要对用户输入的数据进行严格过滤。(代码如https://www.doczj.com/doc/a616021330.html,)
2.部署Web应用防火墙
3.对数据库操作进行监控
通过本次网站安全检查,发现使用学校统一的站群做的网站都没有问题,发现问题的都是各部门自建的网站,以后要加强安全管理宣传,自建网站逐步过渡到统一的站群管理系统以方便安全管理。进一步规范管理,加强检查。不断完善细化信息公开内容,增加发布信息量,提高数据的及时性、准确性,增强服务意识,推动各项工作健康有序发展。