一、XSS攻击原理
XSS又称CSS,全称Cross Site Script,跨站脚本攻击,是Web程序中常见的漏洞。
原理是攻击者向有 XSS漏洞的网站中输入(传入)恶意的代码,当其它用户浏览该网站时,这段代码会自动执行,从而达到攻击的目的。如:盗取用户 Cookie、破坏页面结构、重定向到其它网站等。
二、环境配置
linux环境下, 安装apache2、mysql,、php5。
将myzoo文件部署到apache2服务器上,注意在mysql中创建的数据库和表,要和zoobar网站源码中对应。
三、利用ajax实现XSS worm
1、攻击原理
在zoobar网站上注册了用户A、B。其中A作为攻击者。A、B资料页面都有profile栏可供输入。理论上,所有可输入的地方如果没有对输入数据进行处理,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力。
当B看A的简介时,B的一个zoobar被转移给A。此时是在B的登陆页面,B看A的简介时执行了一段脚本,该脚本发送给服务器,是以自己的cookie发送的,因此该脚本的作用是伪造一个请求,以B的名义,向服务器发送转移zoobar的表单。
当用户B看A的简介时,自己的简介会被改动,说明A伪造了一个请求,提交给服务器,修改了B的简介。我们要看当B保存自己的简介,点击save按钮时,向服务器传送的请求时什么,然后根据该请求伪造。
2、攻击实现
在A的profile中输入如下代码:
在攻击者A的profile中写入攻击代码,A现在的zoobar有21个
登录受害者C,C此时有10个zoobar,profile为空
在C中users页面查看A,看到A的zoobar是21个,有一个诱导按钮”IPHONE 7”
点击IPONE 7的按钮,弹出窗口
此时再查看A,看到A的zoobar变成22个
再看C的资料页面,C的zoobar变为9个,profile被感染成和A一样.Bingo!