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/

 

 

原文地址:https://www.cnblogs.com/blazarstar/p/14375700.html