Damn Vulnerable Web App (DVWA),直译为 该死的易受攻击的Web应用,是一个基于PHP/MySQL的非常脆弱的web应用。其主要目标是帮助安全专业人员在合法环境中测试他们的技能和工具,帮助Web开发人员更好地了解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全性 。
1.DVWA在kali上的安装教程
注意不配置ReCAPTCHA 也没有问题。其它按照下面教程上的步骤来就可以。
https://www.cnblogs.com/JetpropelledSnake/p/9128613.html
2.DVWA Brute Force 暴力破解
LOW
参考链接:https://blog.csdn.net/qq_42357070/article/details/81109775
补充:
1.GET方法
可以看到,在low级别下,form表单的方法是GET方法。GET方法会将查询的字符串在URL中显示,会被缓存、保存在浏览器历史记录中、存在长度限制。通过GET方法的特性可以看出,处理敏感数据时,用GET方法非常不安全。一般在form表单中,采用的方法都是POST方法。
2.源代码解析
<?php
//isset函数作用:变量不存在或变量存在但值为NULL,返回FALSE;变量存在且值不为NULL,返回TRUE
//这里判断是否点击了login
if( isset( $_GET[ 'Login' ] ) ) {
// Get username
$user = $_GET[ 'username' ];
// Get password
$pass = $_GET[ 'password' ];
$pass = md5( $pass );
// Check the database 在这里直接查询了数据库
$query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
//mysqli_query(connection, query, resultmode)执行对某个数据库的查询
//die函数输出一条消息,并退出当前脚本
$result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
//mysqli_num_rows返回结果中行的数量
if( $result && mysqli_num_rows( $result ) == 1 ) {
// Get users details
//在结果中取一行作为关联数组,avatar一般是指用户头像
$row = mysqli_fetch_assoc( $result );
$avatar = $row["avatar"];
// Login successful
echo "<p>Welcome to the password protected area {
$user}</p>";
echo "<img src=\"{
$avatar}\" />";
}
else {
// Login failed
echo "<pre><br />Username and/or password incorrect.</pre>";
}
((is_null