本文目录一览:
XSS攻击原理是什么?
什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 [编辑本段]如何寻找XSS漏洞就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
xss攻击类型包括那些?
从攻击代码的工作方式可以分为三个类型:
(1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。
(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。
(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。
常用的XSS攻击手段和目的有:
1、盗用cookie,获取敏感信息。
2、利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
4、利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
5、在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDos攻击的效果。
发现XSS漏洞的一般做法有哪些?
关于发现时间,要具体到是检测什么目标了。找google的,和找腾讯的时间肯定不会一样。 至于“你们一般都是如何发现xss漏洞的?” 不同类型的XSS漏洞,可能不尽相同。
1.对于反射型XSS以及一些DOM XSS,一般建议是开发一些自动化的扫描工具进行扫描,并辅以手工分析。 另外一方面,搜索引擎也是快速寻找具有缺陷参数的好办法。
2.对于存储型XSS,
1) 对于单纯的输入-存储-输出点 的情况 (输入与输出点关系:一个地方输入,会有多个地方输出;不同地方输入,同一地方输出。绕了点 T T ...)。常规测试是正向直接输入内容,然后在输出点查看是否未过滤,当然你也可以先大胆假设输出点未过滤,反向寻找在何处进行输入,进而测试。
2)对于富文本,则需要对过滤器进行fuzz测试(人脑+自动化)了,正好乌云drops上有乌乌发了一篇:fuzzing XSS filter
3)第三类,就是一些WEB应用中所出现的DOM-存储型XSS,即输出点的无害内容,会经过js的一些dom操作变得危险(本质上和 第1点里的dom xss成因是一样的)。这一类的挖掘方法,个人觉得不太好总结。 其一,需要熟悉WEB应用的功能,其二,知道功能所对应的JS代码有哪些,其三,凭直觉猜测程序员会在哪些功能出现可能导致XSS的过滤遗忘或过滤错误(直觉是唬人的,其实就是你知道某些功能会需要某些代码实现,而这些代码常常容易出错),其四,需要有较好的代码阅读跟踪能力(JS一大坨。。还是蛮难读的.... 有些代码被混淆过,十分不易阅读,就会涉及到如何下断点进行调试的小技巧)。 我想,挖掘这一类的前提可能是需要有不错的前端开发经验,写多了,才会有足够的嗅觉。
其实吧,有时候专门去找漏洞会很累的,大什么怡情,小什么伤身,因此,我们还不如开心的敲敲代码,听听歌,静待生命中那些意外的收获。 这些收获经常来自身边的人发给你的一些事物。
最后,不论如何,基础很重要吧,内力不足,招式再多也没用,反之,草木竹石皆可为剑。
XSS攻击原理是什么
什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 [编辑本段]如何寻找XSS漏洞就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
什么是XSS攻击
XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
常见的XSS攻击有三种:反射型XSS攻击、DOM-based型XSS攻击、存储型XSS攻击。
第一种:反射型XSS攻击
反射型XSS攻击一般是攻击者通过特定手法,诱使用户去访问一个包含恶意代码的URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。此类XSS攻击通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端Cookies或进行钓鱼欺骗。
第二种:DOM-based型XSS攻击
客户端的脚本程序可以动态地检查和修改页面内容,而不依赖于服务器端的数据。例如客户端如从URL中提取数据并在本地执行,如果用户在客户端输入的数据包含了恶意的JavaScript脚本,而这些脚本没有经过适当的过滤或者消毒,那么应用程序就可能受到DOM-based型XSS攻击。需要特别注意以下的用户输入源document.URL、location.hash、location.search、document.referrer 等。
第三种:存储型XSS攻击
攻击者事先将恶意代码上传或者储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此存储型XSS攻击的危害会更大。此类攻击一般出现在网站留言、评论、博客日志等交互处,恶意脚本存储到客户端或者服务端的数据库中。