zoukankan      html  css  js  c++  java
  • DVWA靶场练习-暴力破解

    一、暴力破解 (Brute Force)

       暴力破解是Web安全领域的一个基础技能,破解方法论为:构建常见用户名及弱口令 

       因此需要好的字典,对应破解场景构建特定的用户名密码,以及还需要具有灵活编写脚本的能力

    1. 全级别涉及的安全知识点:

        <1>get与post的区别

        get不如post安全;

        post使用body传输数据,而get用Url传输;所以更加容易被看到;

    注:

    但是有一个问题是虽然post相对来说比较安全,但是从攻击的角度说get和post都不足够,因为HTTP本身属于明文协议,所以不论是url、header、还是body,每一个HTTP请求和返回的每个byte都会在网络上进行明文传输.所以,一般使用的方法是使用https协议、私网等。

    另一方面,如果get作为接口使用,其实也是可以带上body的,而post也可在url上携带数据。所以还是具体问题具体分析。

    一些细节方面:① get书签可以收藏,post书签不可收藏;②get可以缓存,post不能缓存;③get历史参数可以保留在浏览器历史中,post则不会;④get只允许ASCII字符,post无限制;

        <2>php相关函数说明

       对于用户名及密码信息进行过滤;

      mysql_real_escape_string()函数将 string 中的特殊字符转义,一般使用方法如下:

    $user = mysql_real_escape_string($user);
    $pwd = mysql_real_escape_string($pwd);      //用来转义用户名和密码
    //说明:这个函数会在 ',"前面添加反斜杠来转义危险字符

        <3>checkToken

      在高级别的源码中,为了防CSRF,一般使用Anti-csrf token机制,由这个函数来实现。

      <4>PDO模式

       PDO模式防SQL注入的原理是利用PDO的预处理方式。

      <5>防御CSRF

      一般有三种方式:响应头Set-Cookie设置SameSite属性;效验码或Token验证;验证Http Referer字段。

    2. (防守方) 防御方法及代码修改

      设置IP黑名单、设置错误登录次数、设置每次登录错误后延时1分钟才能再次登录、设置验证码等

    3.工具使用- Burpsuite

      若遇到抓不到本地流量的情况,试着将127.0.0.1改成本地IP地址。

      字典下载地址:

      https://github.com/danielmiessler/SecLists/tree/master/Passwords

      https://thehacktoday.com/password-cracking-dictionarys-download-for-free/

     

     

  • 相关阅读:
    java 实现往oracle存储过程中传递array数组类型的参数
    Mybatis调用PostgreSQL存储过程实现数组入参传递
    数组做为参数传入Oracle存储过程操作数据库
    jdbcTemplate 调用存储过程。 入参 array 返回 cursor
    eclipse安装反编译插件
    eclipse安装JAVA反编译插件
    java怎样将一组对象传入Oracle存储过程
    Spring如何使用JdbcTemplate调用存储过程的三种情况
    Java_oracle超出打开游标的最大数的原因和解决方案
    windows+mysql集群搭建-三分钟搞定集群
  • 原文地址:https://www.cnblogs.com/blazarstar/p/14375700.html
Copyright © 2011-2022 走看看