XSS概念:通常指黑客通过HTML注入纂改了网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

XSS有三种:

反射型xss:只是简单地把用户输入的数据反射给浏览器,简单来说,黑客往往需要用户诱使用户点击一个恶意链接,才能攻击成功。

存储型XSS:将用户输入的数据存储在服务器端。

DOM XSS:通过修改页面的DOM节点形成的XSS。

反射型xss

LOW等级:

先利用alert测试是否存在xss

出现弹窗,说明存在xss。

编写PHP文档获取页面的cookie:

<?php

$cookie=$_GET[‘cookie’];

file_put_contents(‘cookie.txt’,$cookie);

?>

编写js代码将页面的cookie发送到cookie.php中

这里的js代码要用url编码

页面跳转,说明js执行成功

接下来查看phpstudy中www目录下是否出现cookie.txt

 

成功拿到cookie

利用得到的cookie登陆DVWA的首页:

 

成功登陆

Medium等级:

同样,先利用alert进行弹窗测试

发现页面没有反应,有可能是<script>被过滤了,浏览器虽然会过滤<script>标签关键字,但是只过滤一次,所以可以想办法绕过。

(1)通过构造两个<script>标签,即嵌套:

出现弹窗,说明存xss

(2)也可以大小写混写进行绕过

出现弹窗,说明存在xss

然后利用js代码获取cookie,成功拿到cookie

High等级

还是先利用弹窗测试是否存在xss,像low和medium等级那样操作发现页面并没有出现弹窗。

接下来我们换个标签,img标签和iframe标签(在一个HTML中嵌入另一个HTML):

Img:<img src=x onerror=alert(1)>

Iframe:<iframe onload=alert(1)>

两个都成功的出现弹窗

存储型XSS:

和上面一样的操作,只是要注意的是在这个里面文本框是有长度限制,但是可以借助火狐的插件Tamper Data,在Tamper Data加入写的js代码获取cookie

 

DVWA--XSS解题过程的更多相关文章

  1. A+B Format 思路及解题过程结果

    A+B Format 思路及解题过程结果 github链接 题目 解题思路 这个题目的难点在于每三位用逗号隔开,以及带不带负号的问题.第一个问题,我的解决办法是先通过取整来取数,再通过取余来去数.第二 ...

  2. DVWA XSS (Reflected) 通关教程

    XSS 介绍XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需 ...

  3. DVWA XSS (Stored) 通关教程

    Stored Cross Site Scripting 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户 ...

  4. 一个蒟蒻的解题过程记录——洛谷P1003 铺地毯

    这到题算是我“火线回归”后码的第一道题,病好了心情不错,发篇博客分享一下 目录: ·题目描述 ·题目分析 ·解题思路 ·代码实现 ·总结 ·题目描述: 为了准备一场特殊的颁奖典礼,组织者在会场的一片矩 ...

  5. web 攻击靶机解题过程

    sql注入靶机攻击过程请参考 https://pentesterlab.com/exercises/from_sqli_to_shell/course http://www.sohu.com/a/12 ...

  6. DVWA XSS (DOM) 通关教程

    DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容.结构以及样式. DOM型XSS其实是一种特殊类型的反射型XSS,它是 ...

  7. Wirte-up:攻防世界Web解题过程新手区01-06

    文章更新于:2020-02-18 说明:为了标识图片边界,有些图片加了红线以增强观感. 注1: web 环境搭建参见: Windows&linux使用集成环境搭建 web 服务器 注2:DVW ...

  8. DVWA(xss部分源码分析)

    前言 DVWA靶场都不陌生,最新学习xss,从新又搞了一遍xss部分,从源码方面康康xss的原因,参考了很多大佬的博客表示感谢,网上也有很多DVWA靶场教程,就水一篇吧. 更多web安全知识欢迎访问: ...

  9. iscc2016 mobile1-TurtleShell.apk解题过程

    拿到程序先运行,简单的验证输入的flag正确与否.jeb加载apk文件 实在库文件里面验证,所以ida加载之,so文件是加密的,所以看不到关键验证函数,百度搜了下libhackme.so,出来这篇文章 ...

随机推荐

  1. Global.asax.cs中相关方法

    protected void Session_Start(object sender, EventArgs e) { #if DEBUG //debug 登陆默认设置 #endif } protect ...

  2. WijmoJS 全面支持 Angular 7

    概述 首先恭喜Angular团队发布Angular 7.0.0版本! 对于大多数开发人员,只需要执行一个命令就可以更新到Angular 7: ng update \@angular/cli \@ang ...

  3. 创建 JavaScript 类和对象 prototype

    创建 JavaScript 对象 通过 JavaScript,您能够定义并创建自己的对象. 创建新对象有两种不同的方法: 定义并创建对象的实例(直接创建方式) person=new Object(); ...

  4. toggle 1.9 以后就被删除了

    toggle 1.9 以后就被删除了, 1.8.x  以前可用. $(function(){ $(".p_title").toggle( function(){ $(this).n ...

  5. 线程间操作无效: 从不是创建控件“button2”的线程访问它

    在项目中经常遇到类似的问题,如何解决呢,报错的方法中添加  Control.CheckForIllegalCrossThreadCalls = false; 就可以解决了.

  6. ECMAScript6语法重点(二)

    十一.Proxy和Reflect(Proxy保护对象不被外界访问:Object方法移植到Reflect) ①Proxy:原始对象(供应商)通过Proxy(代理商)生成新对象(映射原对象),用户访问的是 ...

  7. JVM——Java虚拟机架构

    0. 前言 Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性. 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行.JVM屏蔽 ...

  8. 求文件的hash值(基于SHA3的Hash)

    import hashlib import tkinter from tkinter import filedialog import pyperclip def fileHash(fileName) ...

  9. Android IPC 结篇

    一.概述 Android 的 IPC 方式有 Bundle .共享文件.AIDL .Messenger .ContentProvider .Socket ,我们在实现进程间通信时要选择哪一种方式来实现 ...

  10. this 指向 及 调用方式

    1. this 指向 函数执行方式 this指向1.直接圆括号 window2.对象调用 对象3.事件触发 触发对象4.定时器运行 window (常常定义变量存储this以达到this指向特定对象) ...