博主之前发表过一篇文章,通过SQL注入漏洞攻击网站的一个实例演示,有兴趣的朋友可以移步至:实战:【黑客技术】手把手教你如何攻击一个网站,今天和大家演示一下如何通过XSS攻击手段去破坏网站页面渲染,为了让大家更加了解什么是XSS攻击,以下引用百度百科对XSS攻击、危害和特点做一个简单的介绍

什么是XSS攻击

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

XSS攻击的危害

①跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。

②攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。

③XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)

原理

HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始,<title>与</title>之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。

特点

与钓鱼攻击相比,XSS攻击所带来的危害更大,通常具有如下特点:

①由于XSS攻击在用户当前使用的应用程序中执行,用户将会看到与其有关的个性化信息,如账户信息或“欢迎回来”消息,克隆的Web站点不会显示个性化信息。

②通常,在钓鱼攻击中使用的克隆Web站点一经发现,就会立即被关闭。

③许多浏览器与安全防护软件产品都内置钓鱼攻击过滤器,可阻止用户访问恶意的克隆站点。

④如果客户访问一个克隆的Web网银站点,银行一般不承担责任。但是,如果攻击者通过银行应用程序中的XSS漏洞攻击了银行客户,则银行将不能简单地推卸责任。

以上就是百度百科对XSS攻击的一个简单介绍,说白了,XSS攻击漏洞和SQL注入漏洞一样,都是由于开发者对于用户提交的数据完全信任,没有过滤导致。下面博主通过实际操作给大家简单演示一下XSS攻击到底是如何执行的。再次郑重声明,博主此篇文章仅用于个人学习使用,目的是为了提高大家开发时的安全意识,任何攻击都是不被允许的,由此造成的后果与本站无关。

靶站:

中国花炮网:http://www.zghpw.com/

寻找入口

image.png

通过首页信息,我们发现有这么几个输入框,下面我们试试2号输入框提交的数据在后台服务器有没有进行过滤:

在2号输入框输入js脚本:<script>alert(1);</script>  还是解释一下把,照顾一下完全不懂js代码的同学,这段脚本的意思是让浏览器弹窗打印1;

image.png

结果显而易见,浏览器居然把1打印出来了,说明什么?  开发人员对于用户提交的数据完全没有进行过滤,这问题就大了,恶意攻击者可以利用这个漏洞做很多事了,可以说任何js可以做的事,现在你都可以通过这个漏洞去它服务器上执行,比如我们把body标签的背景色给它变成红色,那么只需要在输入框输入:  <script>document.body.style.backgroundColor="red"</script> 那么提交后这个网站的背景色就都变红了,你说危害大不大?看效果演示:

image.png


总结:以上可以看出,XSS攻击漏洞对于网站来说危害是极其大的,作者之所以演示的是搜索框执行js脚本,那是因为搜索框输入的数据不会存入数据库,不会影响到别人的访问,假如说你在什么留言板,评论区去提交这些js脚本,那么这些js脚本是会存入数据库的,这就是持久化XSS攻击,当别人访问这个留言板或评论区的时候,就会执行到你的这段js代码。博主演示的仅仅是冰山一角,XSS攻防策略远远不止这些,有兴趣的小伙伴可以深入研究


声明:本篇内容仅供个人参考学习使用,目的是为了让大家提高安全意识,任何影响他人的攻击都是不被允许的,由此造成的一切后果和本站无关......