DVWA最经典PHP/MySQL老靶场,简单回顾一下通关流程吧

DVWA十大金刚,也是最常见的十种漏洞利用:Brute Force(暴破)、Command Injection(命令行注入)、CSRF(跨站请求伪造)、File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA(不安全的验证码)、SQL Injection(SQL注入)、SQL Injection(Blind)(SQL盲注)、XSS(Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨站脚本)

靶场分4个难度,low medium high impossible,难度递增

有源代码,正面不行反面审计突破

本来想一次性写完十个的,后来发现内容量有点大......那就分开写吧

0x01暴破

Low:没啥说的,用户名admin已知,要暴破出密码是什么(如果用户名也不知道,那就要暴破到地老天荒了),简单了很多

Burp suite开始,用户名输admin,密码随便写,打开截断,send to intruder,选中密码部分,攻击类型选狙击手,payloads中加密码字典,start attack开搞

另:可以利用sql注入,源代码$query= "SELECT * FROM `users` WHERE user = '$user'AND password='$pass';";

那么用户名就可以admin’#  截断后面的,密码也不用输入了

Medium:

多了个函数mysql_real_escape_string,基本可以抵御注入……吧(大佬绕过帖子 https://www.cnblogs.com/Safe3/archive/2008/08/22/1274095.html),pass有md5(),注入会麻烦,不过这本来就是暴破,不注入了,用暴破的方法就好

重复low级别的操作即可

High:

增加了checkToken、stripslashes剥离反斜杠、mysql_real_escape_string转义,更安全了,无脑暴破应该是不行了

因为每次服务器回到登录界面,都会给你一个user_token,你记住喽,下次再登录带着这个user_token一起提交给服务器,服务器先检查user_token,对了,再做sql查询,不对,一边玩去吧

由于有两个参数user_token和password需要暴破,所以这次将请求包发到intruder后,将这两个参数处上标,选草叉模式,因为要两个位置两个payload分别暴破,你暴破你的,我暴破我的

Password还用原来的字典payload就行,如何搞user_token呢?

在intruder模块下的option中,找到Grep – Extract,点击Add,fetch response,获取一下这次请求返回的结果,二话不说先把返回包中<input type='hidden' name='user_token' value=……>此处的value值复制到小本儿上,一会要用,之后点ok,一定把request engine中 number of threads改成1,否则会报错,recursive grep payloads cannot be used with multiple request threads

返回payloads栏目,payload 1 选原来强度暴破的字典

payload 2 选择payload type为“Recursive grep”

initial payload for first request粘贴之前复制到小本儿上的token,最后start attack 开搞

把上次请求得到的按服务器规则生成的token作为本次,下次,下下次,往后无数次请求的参数暴破,就没有报错,看length不一样的那个就是密码

另:第一反应是写py,应该也可以,后续写再好补上

Impossible:

嗯。。。。。。代码中好像不仅写了时间检测的方法,连续登录时间区分不开就会把账户锁置1,还用了一个叫PDO(PHP数据对象)的东西

PDO在PHP5.1版本以后存在,按官方说法是一个轻量级的、具有兼容接口的PHP数据连接拓展。它所提供的数据接入抽象层,具有与具体数据库类型无关的优势,为它所支持的数据库提供统一的操作接口。

遗憾的是,我们没法通过PDO本身来执行数据库操作

$data = $db->prepare( 'SELECT * FROM users WHERE user = (:user) AND password = (:password) LIMIT 1;' );

$data->bindParam( ':user', $user, PDO::PARAM_STR);

$data->bindParam( ':password', $pass, PDO::PARAM_STR );

$data->execute();

$row = $data->fetch();

比较以前低级别的

$query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";

$result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' );

中间加了一层,莫得办法

附:关于burp suite暴破的四种方法

举个例子,如果有4个暴破点

sniper狙击手:(一枪一个小朋友,每一颗子弹消灭一个敌人)用payload把每一个点都搞一遍,控制变量,搞一个点时其他点保持原样不变,有10个payload的话,搞40遍

battering ram攻城锤(势大力沉,干就完了,一招鲜吃遍天):用一个payload同时搞4个点,有10个payload的话,搞10遍

pitch-fork草叉(三根四根五根叉齿,茅草麦秸花生棵,按顺序挨个来一遍,哪个顺手用哪个):在每个暴破点用不同的payload,按顺序匹配,次数以某个点最少的payload为准

        payload1:1、5、9、13、17

        payload2:2、6、10、14、18

        payload3:3、7、11、15、19

        payload4:4、8、12、16、20

        点1  点2  点3  点4

        1     2      3   4

        5     6            7          8

        9         10           11         12

        13        14          15        16

        17        18          19         20

cluster bomb集束炸弹(排列组合总有一颗炸弹能炸到你):排列组合 1234、1238、12312、12316、12320、1274、1278、12712、12716、12720......

DVWA靶场之Brute Force(暴破)通关的更多相关文章

  1. DVWA实验之Brute Force(暴力破解)- High

    DVWA实验之Brute Force(暴力破解)- High   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2046/p/10928380.ht ...

  2. DVWA实验之Brute Force(暴力破解)- Medium

    DVWA实验之Brute Force(暴力破解)- Medium   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2046/p/10928380. ...

  3. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

  4. 【DVWA】Brute Force(暴力破解)通关教程

    日期:2019-08-01 14:49:47 更新: 作者:Bay0net 介绍:一直以为爆破很简单,直到学习了 Burp 的宏录制和匹配关键词,才发现 burp 能这么玩... 0x01. 漏洞介绍 ...

  5. DVWA笔记之一:brute Force

    1.Low 级别 burpsuite抓包 low级别是使用GET请求进行登录,将其发送到Intruder中,并增加password变量 之后选择字典开始攻击. 暴力破解完成后,查看结果RESULT,根 ...

  6. DVWA靶场之XSS(Stored)通关

    Low: <?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $message = trim( $_POST[ 'mtxMessage ...

  7. DVWA靶场之XSS(Reflected)通关

    反射型xss Low: <?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_ ...

  8. DVWA(二): Brute Force(全等级暴力破解)

    tags: DVWA Brute Force Burp Suite Firefox windows2003 暴力破解基本利用密码字典使用穷举法对于所有的账号密码组合全排列猜解出正确的组合. LEVEL ...

  9. DVWA Brute Force:暴力破解篇

    DVWA Brute Force:暴力破解篇 前言 暴力破解是破解用户名密码的常用手段,主要是利用信息搜集得到有用信息来构造有针对性的弱口令字典,对网站进行爆破,以获取到用户的账号信息,有可能利用其权 ...

随机推荐

  1. Leetcode547 朋友圈解题报告 (DFS

    题目描述: 班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递性.如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友.所谓的朋友圈,是指所有朋 ...

  2. JetBrains GoLand 以debug运行Go程序时出现could not launch process: decoding dwarf section info at offset 0x0: too short报错之保姆级别解决方案

    这是一篇写给刚开始学习Go语言而在搭建环境可能遇到问题的小萌新的文,大神请自行绕路哈(0-0) 有天,我把Go运用环境升到最新版1.16后,用以前一直在用的JetBrains GoLand 2017. ...

  3. 从零搭建一个IdentityServer——资源与访问控制

    IdentityServer作为授权服务器它的最终目的是用于对资源进行管控,这里所说的资源有两种,其一是API资源,实际上也就是OIDC协议中客户端(RP)所需要访问的一系列受保护的资源(API),授 ...

  4. 前端开发入门到进阶第五集【安装SublimeServer】

    参考:https://www.cnblogs.com/jf-67/p/8031614.html 1.我们可以直接在sublime text里面安装,Ctrl+shift+p进入命令模式,输入insta ...

  5. 前端开发入门到进阶第三集【JavaScript中如何将html字符串转化为Jquery对象或者Dom对象】

    https://www.cnblogs.com/mingjiatang/p/4746845.html

  6. 【对线面试官】CountDownLatch和CyclicBarrier的区别

    <对线面试官>系列目前已经连载31篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...

  7. Spring 框架中都用到了哪些设计模式

    Spring 框架中都用到了哪些设计模式? Spring 框架中使用到了大量的设计模式,下面列举了比较有代表性的: 1.代理模式-在 AOP 和 remoting 中被用的比较多. 2.单例模式:在 ...

  8. redis的单线程

    一.redis为什么这么快 1.完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1):2.数据结构简单 ...

  9. Win10离线安装.net3.5

    起因 工作原因需要安装vs2008,但是依赖.net3.5,寻找可以离线安装的版本 尝试 下载.net framework sp1完整包 dotnetfx35.exe 可选下载 语言包 dotnetf ...

  10. 如何用C++自己实现mysql数据库的连接池?

    为什么是mysql? 现在几乎所有的后台应用都要用到数据库,什么关系型的.非关系型的:正当关系的,不正当关系的:主流的和非主流的, 大到Oracle,小到sqlite,以及包括现在逐渐流行的基于物联网 ...