本文目录一览:
- 1、如何测试XSS漏洞
- 2、网站发现XSS漏洞,该如何修复?
- 3、关于ASP网站XSS漏洞,请帮忙过滤一下,谢谢
- 4、ASP网站的XSS跨站漏洞出现原因及解决办法?
- 5、我做的网站被漏洞检测说是有什么xss跨站脚本漏洞,怎么修复啊,哪位大侠帮看看!!
如何测试XSS漏洞
XSS跨站漏洞分为大致三种:储存型XSS,反射型XSS,和DOM型XSS,一般都是由于网站对用户输入的参数过滤不严格而调用浏览器的JS而产生的。XSS几乎每个网站都存在,google,百度,360等都存在,存在和危害范围广,危害安全性大。
具体利用的话:
储存型XSS,一般是构造一个比如说"scriptalert("XSS")/script"的JS的弹窗代码进行测试,看是否提交后在页面弹窗,这种储存型XSS是被写入到页面当中的,如果管理员不处理,那么将永久存在,这种XSS攻击者可以通过留言等提交方式,把恶意代码植入到服务器网站上, 一般用于盗取COOKIE获取管理员的信息和权限。
反射型XSS,一般是在浏览器的输入栏也就是urlget请求那里输入XSS代码,例如:127.0.0.1/admin.php?key="scriptalert("xss")/script,也是弹窗JS代码。当攻击者发送一个带有XSS代码的url参数给受害者,那么受害者可能会使自己的cookie被盗取或者“弹框“,这种XSS一次性使用,危害比储存型要小很多。
dom型:常用于挖掘,是因为api代码审计不严所产生的,这种dom的XSS弹窗可利用和危害性并不是很大,大多用于钓鱼。比起存储型和反射型,DOM型并不常用。
缺点:
1、耗时间
2、有一定几率不成功
3、没有相应的软件来完成自动化攻击
4、前期需要基本的html、js功底,后期需要扎实的html、js、actionscript2/3.0等语言的功底
5、是一种被动的攻击手法
6、对website有http-only、crossdomian.xml没有用
所以楼主如果想更加深层次的学习XSS的话,最好有扎实的前后端开发基础,还要学会代码审计等等。
推荐的话,书籍建议看看《白帽子讲web安全》,《XSS跨站脚本攻击剖析与防御》
一般配合的话,kalilinux里面的BEFF是个很著名的XSS漏洞利用工具,楼主有兴趣可以去看看。
纯手工打字,望楼主采纳。
网站发现XSS漏洞,该如何修复?
谈到XSS漏洞攻击,可能很多童鞋或多或少的晓得一些基础的东西。
XSS是一种经常出现在web应用中的计算机安全漏洞,恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。详细的防范和修复方法,一两句话是说不清楚的,建议你去i春秋学院听一听这方面的课程吧,知道创宇录制的“WEB安全漏洞原理分析”课程就有专门讲XSS漏洞的。很专业,很牛B!
关于ASP网站XSS漏洞,请帮忙过滤一下,谢谢
Function Checkxss(byVal ChkStr)
Dim Str
Str = ChkStr
If IsNull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str, "", "")
Str = Replace(Str, "'", "´")
Str = Replace(Str, """", """)
Str = Replace(Str, "", "")
Str = Replace(Str, "", "")
Str = Replace(Str, "/", "/")
Str = Replace(Str, "*", "*")
Dim re
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "(w)(here)"
Str = re.Replace(Str, "$1here")
re.Pattern = "(s)(elect)"
Str = re.Replace(Str, "$1elect")
re.Pattern = "(i)(nsert)"
Str = re.Replace(Str, "$1nsert")
re.Pattern = "(c)(reate)"
Str = re.Replace(Str, "$1reate")
re.Pattern = "(d)(rop)"
Str = re.Replace(Str, "$1rop")
re.Pattern = "(a)(lter)"
Str = re.Replace(Str, "$1lter")
re.Pattern = "(d)(elete)"
Str = re.Replace(Str, "$1elete")
re.Pattern = "(u)(pdate)"
Str = re.Replace(Str, "$1pdate")
re.Pattern = "(\s)(or)"
Str = re.Replace(Str, "$1or")
re.Pattern = "(\n)"
Str = re.Replace(Str, "$1or")
'----------------------------------
re.Pattern = "(java)(script)"
Str = re.Replace(Str, "$1script")
re.Pattern = "(j)(script)"
Str = re.Replace(Str, "$1script")
re.Pattern = "(vb)(script)"
Str = re.Replace(Str, "$1script")
'----------------------------------
If Instr(Str, "expression") 0 Then
Str = Replace(Str, "expression", "expression", 1, -1, 0) '防止xss注入
End If
Set re = Nothing
Checkxss = Str
End Function
使用方法:Checkxss(request.QueryString("变量")),或者Checkxss(request.form("表单名"))
ASP网站的XSS跨站漏洞出现原因及解决办法?
Xss漏洞主要利用的是把输出的内容信息转化成脚本信息,这就需要把输出信息做过滤,这方面的过滤API可以考虑OWASP的ESAPI。这个API有面向ASP的版本,去OWASP官网去找吧。
恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
ASP
漏洞代码示例:
%
Dim param
Set param=Request.QueryString(“dd”)
response.write param
%
修复范例:
%
Dim param
Set param=Request.QueryString(“dd”)
response.write Server.HTMLEnCode(param)
%
PHP
漏洞代码示例:
?php
$aa=$_GET['dd'];
echo $aa.”123″;
?
修复范例:
?php
$aa=$_GET['dd'];
echo htmlspecialchars($aa).”123″;
?
我做的网站被漏洞检测说是有什么xss跨站脚本漏洞,怎么修复啊,哪位大侠帮看看!!
你这个页面我没看出来有xss啊,倒是有可能有sql注入漏洞。Title变量要过滤一下啊,要不用户可能会修改Title的内容,比如插入一个单引号,后面跟上自己的sql语句,这样会导致查到一些不该看到的数据库内容,引发注入漏洞。所以,要过滤一些用户提交的数据,把特殊字符全滤掉,百度一些啊asp防注入,有源码的。
xss,假设我是攻击者,我把提交数据的一个变量修改为‘aaaaaaaaaaaa’(post或则get提交的都可以,因为你是request接收的),然后看页面中回显‘aaaaaaaaaaaa’的位置。如果出现了,我可以尝试修改一下加入“”等,破坏掉你的html结构,如果可以破坏,那么我就可以插入javascript代码“script src=.../script”。盗取用户的cookies(所以cookies最好只用httponly),结合beef甚至操作用户的浏览器(权限和功能很低的,别想多了)。
综上所述,你写源码时,必须要检查所有用户可以修改和提交的数据(包括cookies等http头里面的),然后在输出点做好编码。输入与输出控制好了可以减免很多麻烦。
还可以使用安全宝、知道创于等公司提供的云waf服务,这样用户提交的数据会由他们检测,并且给你做好了cdn加速。注意的是,不要把你真实的ip暴露在网上。有的人只做的解析,没有做test.com的解析,导致真实ip暴露在网上。
或者使用一些开源的cms,asp的我不了解,php的我知道有wordpress,代码写的很不错了,只要你定期更新版本,不乱下载一些插件(插件都是别人提交的,编程水平不一定很好所以),一般不会出什么大的漏洞。插件也要定期更新。
防止旁站,找主机服务商时要注意(找大的和好的),亚马逊这样的,每个站的权限都是控制的很死的,所以很难提权。
至于社工,安全是一种意识,慢慢培养吧。我了解的就这些了,希望能对你有帮助。