BWAPP搭建和通关(html部分)

本文详细记录了Docker环境下搭建过程中遇到的数据库连接问题及解决方法,深入探讨了不同难度级别的HTML Injection攻击与防御策略,包括GET、POST、URL反射型和存储型注入案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker搭建遇到的问题

数据库未建立

Connection failed: Unknown database 'bWAPP'
搭建完毕打开的时候,会提示这么个东西,我们只需要打开install.php就能成功建立
在这里插入图片描述

登录

默认用户名bee、密码bug在这里插入图片描述

HTML Injection - Reflected (GET)

low

在这里插入图片描述

先说下htmli和xss的区别,xss插入的是js代码,htmli插入的则是html标签,我觉得原理是一样的,无非是细分了一下实现插入的代码之间的差别,htmli可以用于误导用户,并且欺骗它们来提交一些敏感信息,或者浏览恶意网站

选择使用<script>alert(1)</script>进行尝试注入
在这里插入图片描述
发现成功

medium

这里我选择查看源代码来了解做法。但是会有这么几个函数
在这里插入图片描述
这里在题目文件是没有的。
函数no_check()、xss_check_1()
这些的定义全在另一个functions_external.php中,可以自行前往查看

在这里插入图片描述
好,我们继续看
中等难度是这样过滤的在这里插入图片描述
他把尖括号转译成实体,最后输出的时候进行url编码,那么我们,直接输入url编码后的语句
%3cscript%3ealert(1)%3c/script%3e即可绕过在这里插入图片描述

high

在这里插入图片描述
这里使用了htmlentities()函数进行过滤,把字符转换为 HTML 实体
ENT_QUOTES - 编码双引号和单引号
emm,绕不过

HTML Injection - Reflected (POST)

low

no_check,没有检测
直接采用<script>alert(1)</script>
在这里插入图片描述

medium and high

同上(方法于get一样)

HTML Injection - Reflected (URL)

low

在这里插入图片描述
经过翻阅代码可知
我们注入脚本
?id=<script>alert(1)</script>会发现,他在发送到url之前就给我们进行了url编码
在这里插入图片描述
因此,我们需要用burp抓包,修改成?id=<script>alert(1)</script>
在这里插入图片描述

成功在这里插入图片描述

medium

在这里插入图片描述

在这里插入图片描述
和上面的方法一样,抓包,修改注入,只不过他换成了js的写入,本质上是没有变化的

high

在这里插入图片描述
转译成实体,好了,无法绕过

HTML Injection - Stored (Blog)

low

这里有新函数
mysql_real_escape_string()
介绍

此函数用来对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的 SQL 语句。 传入的字符串会根据当前连接的字符集进行转义,得到一个编码后的合法的 SQL 语句。
会被进行转义的字符包括: NUL (ASCII 0),\n,\r,\,’," 和 Control-Z.

我们直接<script>alert(1)</script>
在这里插入图片描述

medium

在这里插入图片描述
在这里插入图片描述

这里采用这种过滤

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

单引号(’) 双引号(") 反斜杠(\) NULL

这样我们就没法用alert绕过

high

在这里插入图片描述

放弃绕过

<think>好的,我现在需要帮助用户了解如何搭建Pikachu靶场的后台以完成通关。首先,我得回顾用户提供的引用内容,确保回答准确。 用户提到了几个引用,其中引用[1]说明Pikachu是一个基于PHP的Web安全练习平台,需要PHP环境,可能使用PhpStudy或Docker部署。引用[3]提到了修改config.inc.php文件中的数据库用户名密码,这是配置数据库的关键步骤。引用[4]展示了sqlmap的使用示例,可能涉及漏洞利用,但用户现在关注的是搭建后台,所以暂时不需要深入这个部分。 接下来,我需要整理搭建步骤。首先,环境准备,需要安装PHP、MySQLWeb服务器。根据引用[1],PhpStudy是一个集成环境,适合Windows用户。然后下载Pikachu源码,解压到WWW目录。接下来是数据库配置,这里需要创建数据库并导入数据,引用[3]指出要修改config.inc.php中的数据库信息,所以这一步很重要。可能还需要修改文件权限,确保应用能访问数据库。之后,访问靶场并初始化数据库,完成安装。 在常见问题部分,需要考虑数据库连接失败、文件权限问题以及PHP扩展是否启用。比如,如果数据库配置错误,用户会遇到连接问题,需要检查config.inc.php的设置。另外,路径错误或端口冲突也可能导致无法访问,需要提示用户检查端口文件路径。 最后,生成相关问题,要围绕搭建步骤、环境配置、数据库问题漏洞学习展开。比如,如何配置PhpStudy,或者解决数据库连接失败的问题,以及如何利用靶场练习特定漏洞。 需要确保回答结构清晰,分步骤说明,并引用正确的参考资料。同时,注意用户可能遇到的常见问题,提前给出解决方案。这样用户能顺利搭建环境,完成通关。</think>### Pikachu靶场后台搭建教程 #### 一、环境准备 1. **安装集成开发环境** 推荐使用$phpstudy$(支持Windows/Linux)或$Docker$快速部署[^1]。 - 下载$phpstudy$:[phpstudy官网](https://www.xp.cn/) - 安装后启动$Apache$$MySQL$服务 2. **下载Pikachu源码** - 官方GitHub仓库或从安全社区获取源码包 - 解压至$phpstudy$的网站根目录(如`\WWW\pikachu\`) #### 二、数据库配置 1. **创建数据库** ```sql CREATE DATABASE pikachu; GRANT ALL PRIVILEGES ON pikachu.* TO 'pikachu_user'@'localhost' IDENTIFIED BY 'your_password'; ``` 2. **修改配置文件** 编辑`\WWW\pikachu\inc\config.inc.php`,更新数据库连接信息[^3]: ```php $_config['db']['host'] = 'localhost'; $_config['db']['user'] = 'pikachu_user'; $_config['db']['pwd'] = 'your_password'; $_config['db']['dbname'] = 'pikachu'; ``` 3. **导入数据表** 访问`http://localhost/pikachu/install.php`,点击初始化数据库按钮。 #### 三、访问靶场 1. 浏览器输入`http://localhost/pikachu/` 2. 若显示登录界面,则安装成功 3. 默认测试账号:admin/password123 #### 四、关键目录说明 ``` pikachu ├── vul # 漏洞模块目录 ├── inc # 配置文件目录 ├── pkxss # XSS漏洞示例 └── pksqli # SQL注入漏洞示例 ``` #### 五、常见问题解决 | 问题类型 | 解决方案 | |-------------------|-----------------------------------| | 数据库连接失败 | 检查`config.inc.php`权限与参数 | | 页面显示空白 | 开启PHP的`mysqli`扩展 | | 端口冲突 | 修改Apache端口为8080 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值