DVWA-Brute Force暴力破解
漏洞介紹
由於對弱密碼的防護就弱,此漏洞主要是通過大量的使用者名稱和字典對賬號進行暴力破解。
Low Brute Force Source
<?php
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';";
$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>' );
if( $result && mysqli_num_rows( $result ) == 1 ) {
// Get users details
$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($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>
分析原始碼 對user和password的值進行分析
此處繞過直接登陸成功
admin’or ‘1’=‘1
admin’ – #(密碼)
123456 (密碼)
回顯以下介面
或者使用萬金油admin和password試試看
結果返回
Medium Security Level
<?php
if( isset( $_GET[ 'Login' ] ) ) {
// Sanitise username input
$user = $_GET[ 'username' ];
$user = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $user ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
// Sanitise password input
$pass = $_GET[ 'password' ];
$pass = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
$pass = md5( $pass );
// Check the database
$query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
$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>' );
if( $result && mysqli_num_rows( $result ) == 1 ) {
// Get users details
$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
sleep( 2 );
echo "<pre><br />Username and/or password incorrect.</pre>";
}
((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>
還是一樣原始碼分析
發現此處的原始碼使用了函式mysql_real_escape_string
mysql_real_escape_string的作用
1.防止SQL Injection攻擊,驗證使用者輸入
2.運算元據時避免不必要的字元導致錯誤
並且使用sleep休眠函式
意思是如果密碼錯誤,則延時兩秒響應
直接進行爆破
點選開始攻擊
爆破密碼
(明天續更,今天就晚安啦)
相關文章
- DVWA靶機通關係列--1.Brute Force(暴力破解)(解題思路+審計分析)
- House Of Force
- 暴力破解
- ACID(Force & Steal)
- 什麼是暴力破解?暴力破解的方法有哪些?
- DVWA之Brute Force
- 暴力破解測試
- 2.5.11 指定 FORCE LOGGING 模式模式
- 2.5.11.1 使用 FORCE LOGGING 子句
- 迭代暴力破解域名工具
- Linux防止SSH暴力破解Linux
- [譯] 使用 `-force` 被認為是有害的;瞭解 Git 的 `-force-with-lease` 命令Git
- web類靶機暴力破解Web
- 暴力破解zip加密檔案加密
- nologging、force logging、supplemental log的理解
- [20180803]cursor_sharing = force.txt
- dvwa-暴力破解(low-high)
- burpsuite暴力破解之四種方式UI
- PostgreSQL DBA(138) - PG 13(Drop database force)SQLDatabase
- DVWA靶場學習(一)—— Brute Force
- 暴力破解-基於Pikachu的學習
- 使用python暴力破解mysql資料庫PythonMySql資料庫
- Spring Boot如何防暴力破解攻擊?Spring Boot
- 日誌記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)模式
- Vivado使用技巧(3):Force Up-to-Date功能
- [20240325]FORCE_MATCHING_SIGNATURE與DML.txt
- Yuan Force收購萬順醫療MFV
- [20210627]cursor_sharing=force與orade by.txt
- Linux應急響應(一):SSH暴力破解Linux
- Centos7使用DenyHosts防止ssh暴力破解CentOS
- Wireshark駭客發現之旅(4)——暴力破解
- pikachu 基於表單的暴力破解(一)
- burpsuite暴力破解的四種攻擊方式UI
- DNS暴力破解工具Fierce常用命令DNS
- terrans force筆記本怎麼安裝win10_terrans force電腦安裝win10教程【圖文】筆記Win10
- idea Git Force Checkout後的解決辦法IdeaGit
- D3原始碼解讀系列之Force原始碼
- [20241012]cursor_sharing=force與函式索引.txt函式索引