栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

DVWA—暴力破解(Brute Force)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DVWA—暴力破解(Brute Force)

DVWA—暴力破解(Brute Force) low
' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '
' ); if( $result && mysqli_num_rows( $result ) == 1 ) { // Get users details $row = mysqli_fetch_assoc( $result ); $avatar = $row["avatar"]; // Login successful $html .= "

Welcome to the password protected area {$user}

"; $html .= ""; } else { // Login failed $html .= "

Username and/or password incorrect.
"; } ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); } ?> low级别是一个简单的登录的代码,仅仅对密码进行了MD5加密。没有任何过滤。

四种暴力破解方式的区别:

一个字典,两个参数,先匹配第一项,再匹配第二项【sniper】

一个字典,两个参数,同用户名同密码【battering ram】

两个字典,两个参数,同行匹配,短的截止【pitch fork】

两个字典,两个参数,交叉匹配,所有可能【cluster bomb】

medium
' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '
' ); if( $result && mysqli_num_rows( $result ) == 1 ) { // Get users details $row = mysqli_fetch_assoc( $result ); $avatar = $row["avatar"]; // Login successful $html .= "

Welcome to the password protected area {$user}

"; $html .= ""; } else { // Login failed sleep( 2 ); $html .= "

Username and/or password incorrect.
"; } ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); } ?>

medium级别的代码和low级别的代码比较不同点在于加了层mysql_real_escape_string( );

**mysql_real_excape_string()**函数转义sql语句中使用的字符串中的特殊字符,防止sql注入.

同时对密码进行了md5加密,杜绝通过参数password进行sql注入的可能性.但是没有加

入有效的防爆破机制.

由此可见该函数的功能为防止SQL Injection攻击,

1、也就是你必须验证用户的输入

2、操作数据的时候避免不必要的字符导致错误

hign
' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '
' ); if( $result && mysqli_num_rows( $result ) == 1 ) { // Get users details $row = mysqli_fetch_assoc( $result ); $avatar = $row["avatar"]; // Login successful $html .= "

Welcome to the password protected area {$user}

"; $html .= ""; } else { // Login failed sleep( rand( 0, 3 ) ); $html .= "

Username and/or password incorrect.
"; } ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); } // Generate Anti-CSRF token generateSessionToken(); ?>

high级别的代码和medium级别相比又加了stripslashes()函数

对于这个可以先弱口令、万能密码测试。如果无果,则进行暴力破解。

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符;

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠,可用于清理从数据库中或者从 HTML表单中取回的数据;

破解过程

通过抓包,我们发现了需要提交四个参数:username,password,login,user_token

每次服务器返回的登陆页面中都会包含一个随机的user_token的值,用户每次登录时都要将user_token一起提交。服务器收到请求后,会优先做token的检查

可以尝试使用python脚本,使用爬虫将服务器每次返回的user_token抓取到

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号