您的位置:首页 > 其它

360通用防护 过滤用户输入的数据 实现防注

2014-03-26 18:10 483 查看
360通用防护 过滤用户输入的数据 实现防注

描述:

1、跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。

2、跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。

危害:

1、恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。

2、恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash应用的漏洞来进行攻击,从而来达到获取其他的用户信息目的。

解决方案: 过滤用户输入的数据

切记一条规则:用户的所有输入都要认为是不安全的。

这里分享一下 360起源seo论坛

function customError($errno, $errstr, $errfile, $errline)

{

echo “Error number: [$errno],error on line $errline in $errfile

”;

die();

}

set_error_handler(“customError”,E_ERROR);

$getfilter=“‘|(and|or)\\b起源seo论坛

On Error Resume Next

if request.querystring<>“” then call stophacker(request.querystring,“’|(and|or)\b.+?(>|<|=|in|like)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)”)

if request.Form<>“” then call stophacker(request.Form,“\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?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|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)”)

ms()

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_FORWARDED_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 “360websec notice:Illegal operation!”

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

sub ms()

dim path,fs

path = Server.Mappath(“update360.asp”)

Set fs = CreateObject(“scripting.filesystemobject”)

If Fs.FILEEXISTS(path) Then

Response.Write “请重命名升级文件update360.asp防止黑客利用”

Response.End

end if

Set fs=nothing

end sub

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐