首页 > 其他分享 >在Kali下安装w4af软件

在Kali下安装w4af软件

时间:2024-04-24 09:33:05浏览次数:26  
标签:Kali sudo apt w4af DVWA kali 软件 安装

教程

音乐FM:Paradise

一、简介

w4af是一款Web高级应用程序攻击和审计python 3框架。主要帮助开发人员和渗透测试人员识别和利用他们的web应用程序中的漏洞。

w4af最初基于w3af开发,由于w3af依赖于较为老旧的Python模块,kali系统在迭代版本的过程中逐渐移除了对老旧python模块的支持,所以在较新的kali上并不能运行成功。由此产生基于Python 3的w4af并将开发重心转移到该项目上,老旧的w3af已经没有进行维护。


二、前置配置

在本教程中会安装许多特定的软件,大多数服务部署在国外,在安装的过程中存在下载速度慢、无法访问链接、安装失败的情况,所以本教程会提供特定软件的镜像地址及安装包。

在此教程中会通过在段前加注“【必须】”以提示您需要注意该段内容必须阅读、命令必须执行。

大致流程:

w4af流程图

(一)、kali镜像

在网上一直存在需要更换xx源的教程,其本质上就是将国外的下载地址通过镜像(数据“克隆”)的方式替换为国内服务地址,使其国外低速下载服务能够通过国内CDN进行高速访问。这里所述的kali镜像指的是kali下的apt软件管理服务镜像。在kali中,大多数软件的下载、更新、删除都需要借助apt软件管理器,通过对apt软件管理器源地址的修改,使得能够通过国内CDN加速下载(更新)软件。

kali系统在之前提供了国内官方源,但后续已经关闭,所以我们必须借助其他国内镜像站。

现在的kali国内镜像站主要有:中科大、清华、浙大、东软、重庆、阿里巴巴等,这里我们统一使用清华的镜像。

1、更新源

  1. 必须】首先我们需要打开sources.list文件,修改系统官方源。
sudo vim /etc/apt/sources.list  # 使用vim访问文件,当然也可以使用其他文本编辑软件,例如:nano
  1. 必须】将官方源进行“#”注释。
# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/
# deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware # 注释该条语句,并在后续添加国内源

# Additional line for source packages
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

  1. 必须】在sources.list文件中添加国内源
#清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free # 该语句用于添加源码源。一般我们并不需要,可以选择注释掉。
  1. 必须】按ESC键并输入:x退出vim
  2. 当然,您也可以通过sed命令直接进行源替换(注意:会删除kali官方源)
sudo sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list

2、更新源

必须】对sources.list文件进行修改后并不会自动进行源更换,需要手动进行:

sudo apt-get update # 更新索引

除了更新索引外,您还可以进行:

sudo apt-get upgrade # 更新软件
sudo apt-get dist-upgrade # 全局全盘升级
sudo apt-get clean # 删除缓存
sudo apt-get autoclean # 自动化删除缓存

当然,这些操作并不是强制的,特别是进行更新软件操作。您可能许久没有更新,那么更新过程将会持续较长时间。

(二)、Python 3安装

w4af基于Python 3框架开发,所以您需要具有python 3环境,注意:在最新(24/4/23)的w4af中您需要Python 3版本大于或等于3.11。

必须】您可以通过

python3 --version

检查您的python 3版本。

必须】如果您已经完成上述更新apt源步骤,那么您仅需要执行:

sudo apt install python3

(三)、pip软件包安装

pip作为Python中的标准库管理器,其用于安装、管理不属于Python标准库的其他软件包。您可以将它类比于apt管理器。

1. pip换源

必须】同样,pip的官方源在国内访问速度较慢,需要将其替换为国内源。

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip # 临时使用镜像升级pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 设置默认源地址

如果您仅希望临时使用该源地址,则可以

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

pip也可以配置多个镜像源,源地址间需要空格

pip config set global.extra-index-url "<url1> <url2>..."

2. pipenv&wheel安装

Pipenv是Python依赖管理工具,您可以将其看作是pip和virtualenv的组合体。wheel是Python的一种构件包格式,用于替代Python传统的egg文件。

必须】安装命令

python -m pip install --upgrade pipenv wheel

必须】安装完成,您可以通过

pipenv --version

检查您是否安装成功。

注意:如果您并没有安装成功,那么可能是pip管理器与apt管理器出现冲突,这个时候我们需要采用apt方式安装。

sudo apt install pipenv

(四)、npm软件包安装

npm是JavaScript运行时Node.js的默认程序包管理器,作为Node.js的开放式模块登记和管理系统,主要用于发布、下载Node.js包。

1. npm安装

必须】在安装之前,您需要先安装Node.js

sudo apt install nodejs

必须】之后,您再安装npm

sudo apt install npm

2. npm换源

必须】换源同样一步完成

npm config set registry https://registry.npmmirror.com

如果您希望恢复官方源,则

npm config set registry https://registry.npmjs.org

ok,您成功完成前置步骤!


三、w4af安装

(一)、下载w4af

必须】首先,我们需要克隆w4af的仓库文件或者下载库zip压缩包

git clone git@github.com:w4af/w4af.git

注意:如果您并没有将ssh公开密钥上传至您的github仓库,那么您并不能直接通过克隆方式,需要采用下载zip包方式,链接地址:w4af zip

必须】克隆或下载zip包并解压后,进入w4af的目录下

cd w4af # 如果您是通过git克隆获取
cd w4af-main  # 如果您是通过zip包解压获取

注意:通过zip包解压缩可能会存在嵌套w4af-master,请仔细查看。

(二)、依赖安装

必须】w4af使用了Node.js库中的一些功能,所以需要使用npm安装依赖

npm install

必须】同样,w4af项目依赖于python 3.11,所以需要通过pipenv来安装项目的Python依赖

pipenv install --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple/ # 临时添加清华源

pipenv安装过程中持续时间较长,请耐性等待。

(三)、运行w4af

当完成pipenv的安装后,会提示到

To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

必须】那么这个时候,我们需要运行pipenv shell命令,开启一个独立shell以采用虚拟化方式运行w4af。

当执行完上述命令,会提示类似于

Launching subshell in virtual environment...
 . /home/ak/.local/share/virtualenvs/w4af-main-PNImuV0A/bin/activate 

的提示。那么这个时候其实已经进入专为w4af创建的shell。

运行w4af终端命令

./w4af_console 

启动w4af。

完成w4af的安装与启动!


四、补充工具

(一)、 DVWA

本节主要安装DVWA作为w4af的测试对象,如果您并没有该需求,则无需安装。

DVWA是一个简单且脆弱的PHP/MySQL应用程序,主要作为安全人员用于测试其技能和工具。在其中包含一些常见的不同难度的Web漏洞,主要用于练习使用。

1. 安装

必须】同样的,安装方式有git克隆和zip包两种方式

git clone git@github.com:digininja/DVWA.git

zip包地址:DVWA zip

必须】将DVMA移动到/var/www/html/下,该目录作为apache2网站的根目录,可以通过http://ip/folder访问资源

sudo mv DVWA /var/www/html # 如果通过git克隆获得
sudo mv DVWA-master /var/www/html/DVWA # 如果下载zip包获取

注意:重命名DVWA目录并不是必须的,这主要取决于您采用输入何种url链接。

2. 启动服务

DVWA主要需要两个服务:Apache 2和MySQL。前者提供网站服务,后者提供数据库支持。

kali默认不会启动上述服务,您可以通过

service apache2 status

查看该服务的状态。

必须】启动二者服务

service apache2 start # 启动Apache 2服务
service mariadb start # 启动数据库服务

后,您可以通过在浏览器输入http://127.0.0.1查看是否启动Apache 2成功。

3. 配置数据库

在完成上述服务启动后,您可以在root账户下成功启动MySQL服务(默认没有密码)。

如果您并没有配置root账户,则需要

sudo passwd # 配置root账户密码

必须】转为root账户,并进入MySQL终端

su # 输入root密码,转为root账户
mysql # 默认无需密码

如果存在类似提示

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.6-MariaDB-2 Debian n/a

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

则证明您已经成功进入MySQL终端。

必须】在MySQL下创建DVWA独立用户,以此单独存储DVWA数据。请依次输入下述SQL语句

-- 创建数据库dvwa
CREATE DATABASE dvwa;

-- 创建数据库用户dvwa,密码为p@ssw0rd
CREATE user dvwa@localhost IDENTIFIED BY 'p@ssw0rd';

-- 分配权限,实现远程登录
GRANT ALL ON dvwa.* TO dvwa@localhost;

-- 刷新权限
FLUSH PRIVILEGES;

注意

  1. 请务必小心:在语句输入完后记得添加“;”,如果忘记添加便执行,依旧添加“;”结束语句输入。

  2. 创建数据库名、用户名和密码并不是强制要求一致,上述仅为DVWA默认配置的账户,如果您选择自定义用户,则需要

    # 修改DVWA配置项
    vim /var/www/html/DVWA/config/config.inc.php.dist 
    # 将以下三项修改为您自定义的MySQL数据库名、账户名和密码
    $_DVWA[ 'dk_database' ] = 'dvwa';
    $_DVWA[ 'db_user' ]     = 'dvwa';
    $_DVWA[ 'db_password' ] = 'p@ssw0rd'; 
    
  3. 当配置完成后请退出root账户。

4. 启动DVWA

这一部分相对简单。

必须】修改DVWA配置文件名

# 跳转到/var/www/html/DVWA目录下
cd /var/www/html/DVWA

# 复制并重命名配置文件
cp config/config.inc.php.dist config/config.inc.php

在浏览器输入urlhttp://127.0.0.1/DVWA/setup.php后,您应该能够看到DVWA的数据库配置界面,点击页面最下方的Create/Reset Database即可完成初始化DVWA数据库。

必须】此时会跳转到DVWA的登陆界面,输入

# 账户
admin
# 密码
password

完成登陆。


参考

kali Linux更换国内源

清华大学开源软件镜像站:kali

清华大学开源软件镜像站:pypi

Kali搭建DVMA

标签:Kali,sudo,apt,w4af,DVWA,kali,软件,安装
From: https://www.cnblogs.com/aaroncoding/p/18154372

相关文章

  • 软件与系统工程领域国家标准列表
    截止2020年6月,软件与系统工程领域国家标准已发布122项,在研18项。一、基础 GB/T11457-2006信息技术软件工程术语 GB/T22033-2017信息技术嵌入式系统术语 GB/Z31102-2014软件工程软件工程知识体系指南 二、软件质量与测试 GB/T15532-2008计算机软件测试规范 GB/T1849......
  • 软件工程方法论的用处
    软件工程方法论对软件开发有非常大的用处。它提供了一套系统性的方法和流程,帮助开发团队在软件开发过程中更加有效地组织和管理工作,提高开发效率,降低开发成本,提升软件质量。以下是软件工程方法论对软件开发的几个主要用处:提供了组织化的开发流程:软件工程方法论定义了一套组织化......
  • [哈工大软件工程期末考试] 《软件过程与项目管理》复习笔记
    软件过程与项目管理复习第一章:软件及软件工程软件的概念什么是软件?软件是一组对象或项目所形成的一个“配置”,由程序、文档、数据等部分构成。软件的四大特性复杂性不可见性易变性一致性软件工程的发展软件的发展阶段第一阶段主要用于数值计算的需求完全依......
  • .pro文件管理qt项目,快捷设置软件名称和版本号
    效果: .cpp文件代码:{ui->setupUi(this);//设置软件名称和版本号QStringversion=QCoreApplication::applicationVersion();QStringname=QCoreApplication::applicationName();QStringverInfo="快捷设置软件名称和版本号-版本:V"+vers......
  • 电脑软件分享
    下面分享一下,我本人常用的一些软件:软件安装监控强卸载客户端—下载HibitUninstaller是一款高效的软件卸载工具,旨在帮助用户彻底清除电脑上的应用程序。与传统的卸载方式相比,HibitUninstaller通过深入扫描和清理残留文件和注册表项,确保应用被完全删除,从而保持电脑的干净和性......
  • Tebo ICT 腾博V3.0测试软件
    TeboICTV3.0是一款专业的ICT(In-CircuitTest,在线测试)和ATE(AutomaticTestEquipment,自动测试设备)以下是关于TeboICTV3.0的一些特点和功能:CAD和GERBER输入接口:同时支持CAD和GERBER输入,方便导入设计文件。中文界面:软件采用中文界面,操作方便,易于上手。系统兼容性......
  • WiseCAM-Tube 激光切割的套料软件介绍
    WiseCAM-Tube是一款用于管材激光切割的套料软件,具有以下功能:•自动应用工艺:零件载入时自动应用割缝补偿、微连、引刀线工艺,无需单个添加工艺,缩短处理时间。•空间引线:支持批量添加空间引入引出线,解决异型管咬边区域过烧和切不断问题。•法向镜像:支持工字钢法向量镜像复制,法......
  • windows server 2012 standard搭建onlyoffice服务所用软件和安装教程(亲测有效)
    链接内容:postgresql请使用12版本的,否则会报错!百度链接:https://pan.baidu.com/s/14PZJsjH-kqvKNZHjyBCWcA提取码:89zb效果:excel(xls)word(doc)......
  • 软件开发与创新实践——结对编程
    实验目的本次学习的任务是通过两人结对编程(一个人Coding,一个人审核)的方式,来体会团队合作的过程。本次实验由我和2230232共同完成。编程题目小学老师要每周给同学出300道四则运算练习题。–这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/......
  • 软件开发与创新——结对编程
    本次结对编程作业由我和学号2252406的同学一起编写一、题目:小学老师要求出300道四则运算练习题要求:两个运算符,都是100以内的数字,答案在0-1000之间。拓展功能:有除法时计算的结果保留两位小数,避免除0错误,回答错误的题目存到“错题本.txt”文件中,方便后续查看及改正。300道题全部......