寒墨默涵头像
关注
安卓手机Termux部署DVWA靶场|Web安全入门封面图

安卓手机Termux部署DVWA靶场|Web安全入门

声明:本文搭建的DVWA仅用于个人安全学习,仅限本机/内网环境测试,禁止用于未授权的网站渗透、攻击行为,一切违规操作后果自行承担。

一、前言

DVWA(Damn Vulnerable Web Application)是Web安全入门必刷的漏洞靶场,集成SQL注入、XSS跨站、CSRF、文件上传等经典漏洞,支持低/中/高难度切换,非常适合新手理解漏洞原理。

通常我们在电脑虚拟机部署DVWA,今天教大家用安卓手机+Termux,直接在手机上搭建完整DVWA环境,旧手机也能当作随身安全练习靶场。

环境准备

1. 安卓手机(推荐Android 8及以上,一加、小米、红米均可,不需要Root)

​2. Termux安装包(官方Github/F-Droid下载,不要从应用商店的阉割版Termux)

Termux下载地址

​【Termux 超全详解:无需Root!安卓手机变身掌上Linux开发机 - CSDN App】

3. 手机网络:全程建议WiFi,下载代码包需要网络

二、步骤1:初始化Termux,更新软件源

 打开Termux,依次执行下面命令,更新包管理器:pkg update && pkg upgrade -y

如果提示选择 [Y/n] 全部输入 y 回车。

三、步骤2:安装LAMP环境(Apache+PHP+MariaDB)

DVWA需要Web服务、PHP、数据库,一键安装全套依赖:pkg install apache2 php php-apache                     mariadb git nano -y

安装完成后,开启PHP的mysqli扩展(DVWA数据库依赖)

echo "extension=mysqli.so" >> $PREFIX/etc/php/php.ini

四、步骤3:下载DVWA源码,部署到网站根目录

 1. 克隆DVWA官方仓库到apache网页目录

git clone https://github.com/digininja/DVWA.git $PREFIX/share/apache2/htdocs/dvwa

2. 复制默认配置文件(重要!dvwa需要config.inc.php)

cp$PREFIX/share/apache2/htdocs/dvwa/config/config.inc.php.dist $PREFIX/share/apache2/htdocs/dvwa/config/config.inc.php

3. 修改DVWA配置文件,设置数据库账号密码

nano $PREFIX/share/apache2/htdocs/dvwa/config/config.inc.php

进入nano编辑器,找到这两行:

$_DVWA[ 'db_user' ] = 'root';

$_DVWA[ 'db_password' ] = '';

把密码改为自定义密码,示例:

$_DVWA[ 'db_user' ] = 'root';

$_DVWA[ 'db_password' ] = '123456';

(快捷键: Ctrl+O 保存,回车确认, Ctrl+X 退出nano。)

五、步骤4:初始化MariaDB数据库,创建dvwa库

1. 启动mariadb并初始化数据库

mysqld_safe --skip-grant-tables &

2. 进入mysql命令行,设置root密码,新建dvwa数据库

mysql -u root

依次执行下面SQL语句(每一行回车)

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

CREATE DATABASE dvwa;

exit;

(注意:密码 123456 要和上面dvwa配置文件里写的保持一致。)

六、步骤5:启动Apache网页服务,访问DVWA

apachectl start

打开手机浏览器,访问地址:

http://127.0.0.1:8080/dvwa

(注意:Termux的apache默认端口是8080,不是80!)

进入页面后点击【Create/Reset Database】,数据库创建完成。

默认账号密码:

 - 账号: admin 

​- 密码: password 

 登录成功!就可以切换安全等级(Low/Medium/High),练习SQL注入、XSS、文件上传等漏洞。

七、后续使用&常见问题

每次使用DVWA需要执行的启动命令

# 启动数据库

mysqld_safe --skip-grant-tables &

# 启动apache

apachectl start

浏览器访问  http://127.0.0.1:8080/dvwa

常见报错排查

 

1. 页面空白 / PHP代码直接显示出来

 

解决:php-apache没装好,或者mysqli扩展没有写入php.ini,重新执行 echo "extension=mysqli.so" >> $PREFIX/etc/php/php.ini 

 

2. 数据库连接失败

 

核对config.inc.php的数据库账号密码,确认mariadb已经正常启动,dvwa数据库已创建。

 

3. git克隆超时失败

 

可以手动下载DVWA压缩包,放到 $PREFIX/share/apache2/htdocs/ 解压。

 

停止服务

apachectl stop

pkill mysqld

 

八、收尾&学习提示

 

1. DVWA默认Low难度适合新手,熟悉原理后切换Medium、High,学习WAF防护、过滤绕过。

​

2. 手机屏幕小,写payload不方便,可以搭配小黄鸟(HttpCanary)抓包辅助练习。

​

3. 仅本地学习,不要对公网IP、外网网站进行测试,遵守网络安全法规。

避坑小节

❗避坑1:不要用国内应用商店的Termux,版本老旧,会出现pkg命令失效,必须用F-Droid/Github原版Termux。

❗避坑2:手机休眠会自动杀死Termux进程,长时间练习建议关闭电池优化,允许Termux后台运行。

❗避坑3:端口8080占用,执行 apachectl stop 关闭占用进程,再重新start。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2601_96911824/article/details/167220282

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--