• 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/

     

     

  • 相关阅读:
    一个配置引发的血案
    软件工程之学习方法篇
    开篇
    重拾《 两周自制脚本语言 》- 中文关键字与原生函数
    重拾《 两周自制脚本语言 》- 支持中文标识符
    将《 两周自制脚本语言 》测试中使用的接口中文化
    5分钟入门LingaScript-尝鲜中文版TypeScript
    为《 两周自制脚本语言 》添加中文测试代码
    2019-02-18 扩展Python控制台实现中文反馈信息之二-正则替换
    2019-02-14 1992年日本对母语编程的可读性比较实验
  • 原文地址:https://www.cnblogs.com/blazarstar/p/14375700.html
Copyright © 2020-2023  润新知