初识Web安全(一)在Kali Linux 2019.4中搭建DVWA和sqli-labs


1. 网络不是法外之地,学习网络安全只是为了更好地保护网络安全

2. 文中内容仅为学习交流,涉及到的工具和方法均不能用于破坏网络安全

该笔记仅在CSDN中发表,如转载请大家注明出处。

本文地址:https://blog.csdn.net/elang6962/article/details/104764765

本文环境:

  • PhpStudy=0.4公测版

  • OS:Kali Linux 2019.4


在诸多教程和先辈的建议中,Web安全都是渗透测试和漏洞挖掘等方向的安全入门必修课,其中SQL注入和XSS注入又是Web安全的基础和重点。

任何技术都需要在基础理论学习后进行大量的实践,逐渐把理论转化为自身的技能,并且在实践中不断加深对理论的理解。网络安全更是如此,这一点应该有一部分大学和研究生安全专业的同学有共鸣。

安全专业的实践与其他学科有一个关键的区别就在于,刚刚入门时根本没有可供实践的场所。别说是法律不允许了,即使法律允许,能被三角猫的功夫用于实践的网站或者系统应该也不容易找到。因此和我一般的入门者就需要靶场这种神奇的系统,本文详细的介绍了作者在Kali 2019.4中搭建DVWA和sqli-labs的过程,全文多图预警,详细到几乎每一次点击鼠标都有介绍。

1 PhpStudy安装

PhpStudy是一个网站搭建的集成环境,包括apache、nginx、mysql、php等网站环境都可以一键安装,可以使用phpmyadmin管理数据库,在Linux版本中使用网页进行网站服务器管理。

Linux版本不提供安装包,安装过程最好到官网照着来(目前的域名是https://www.xp.cn/linux.html),或者直接按照如下步骤:

  1. 终端内执行wget -O install.sh https://download.xp.cn/install.sh && sudo bash install.sh,非root用户要加sudo
  2. 经过些许的等待,安装完成后终端会打印出如下提示:
=================安装完成==================

请用浏览器访问面板http://1XX.XX.XX.XX:9080/0XXXX
系统初始账号:admin
系统初始密码:QJ6XXXX7tZ
官网https://www.xp.cn
如果使用的是云服务器,请至安全组开放9080端口
如果使用ftp,请开放21以及30000-30050端口
如果在虚拟机安装,请将ip换成虚拟机内网ip

===========================================

不要理会提示中的ip,直接在浏览器中输入127.0.0.1:9080/0XXXX,使用初始帐号和密码登录即可。后面的0XXXX叫做授权码,每次登录网页面板都必须输入,但是初始授权码可以修改。

  1. 修改初始密码和登录授权码。如图,右上角用户名称处,点击选择修改密码可修改面板登录密码;左下角设置中可以修改一个好记的授权码。

image

  1. 面板中的其他操作。在设置中不要选择绑定域名,并绑定ip为127.0.0.1,个人认为这样最安全,确保只有自己可以进面板;当然如果在虚拟机中搭建就无所谓啦,域名随便绑,IP要设置成虚拟机的内网IP;在网站-localhost-配置-网站目录中查看网站目录,后期可以把各种靶场文件夹直接丢进这个目录内。
  2. 使用方法。终端控制sudo xp,选择‘1’开启phpstudy,在面板中开启apache。在浏览器输入127.0.0.1,可测试是否安装成功。

image
image

  1. mysql和phpmyadmin安装和使用。在面板-软件管理中找到phpmyadmin,点击“安装”,在安装时会要求选择站点,并安装在该站点的目录中。使用时点击phpmyadmin后面的“管理”会自动打开一个网页,这个网页是用外部IP打开的,只需在地址栏中把IP改成127.0.0.1就可以正常进入。但是,每次登录phpstudy会产生一个token,必须使用它才能打开phpmyadmin,也就是说,一定要在网页面板里打开,且等待到网页错误,才能修改ip进入。mysql同样在软件管理中找到后安装即可。

image
image

  1. 设置数据库root密码。练习中一切为方便服务,在搭建靶场的过程中可能会建立N个不同名称的数据库,且每个靶场都要设置连接数据库的用户名和密码。如果为每个数据库建立一个用户,不仅麻烦,而且在搭建sqli-labs的过程中发现这是不可能实现的。设置root密码,靶场在初始化时会自己建立对应的数据库。如图,在面板-数据库中,点击“root密码”就可以设置。

image

  1. 设置网站配置文件为只能本地访问。在面板-网站-localhost-配置-配置文件中,修改为只能本地访问 (windows下在phpstudy-设置-配置文件-vhosts.conf),在AllowOverride All下面添加,修改完成重启apache服务。最终结果是
    <Directory "/www/admin/localhost_80/wwwroot/">
		DirectoryIndex index.php index.html error/index.html
		AllowOverride All
		Require all denied
		Require ip 127.0.0.1
		Require host localhost
	</Directory>

不清楚此条在Linux中是否有必要,但修改后等于用户本人接管了phpstudy对网站的管理,其他配置项会全部消失。每次进入配置文件时系统会提示是否恢复,选择“恢复”后用户对配置文件的修改会删除。

2 DVWA的搭建

DVWA是Web安全渗透测试的综合平台,难度有low、medium、high、impossible四个等级,除了直接练习,还能结合网页代码进行分析,可谓是新手必备提升信心之佳品。

  1. 首先到github下载。在github首页直接搜索dvwa

image

  1. 选择如图这个进入,直接下载zip包

image
image

  1. dvwa配置。解压zip包,整个dvwa文件夹复制到phpstudy中网站目录下,/www/admin/localhost_80/wwwroot/dvwa/config/下的‘config.inc.php.dist’复制一份改名为‘config.inc.php’双击打开,修改数据库用户名和密码后保存关闭:
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root'; #此处如新建了用户请填写其用户名
$_DVWA[ 'db_password' ] = 'password'; #此处填写用户名对应的密码

$_DVWA[ 'default_security_level' ] = 'low'; #设置dvwa的默认难度为low,否则是impossible
  1. dvwa初始化。浏览器输入127.0.0.1/dvwa,直接拉到最下面,点击Create/Reset Database,等待数据库建立后自动进入登录界面,用户名admin,密码password。恭喜!可以开始练习了。

image

如果考虑到后续会同时使用更多的靶场,最省事的做法是不要修改默认网站的网站目录,将每个靶场的文件夹都复制到这个目录内,在浏览器中使用127.0.0.1/dvwa这类的地址进入不同的靶场。

3 sqli-labs

  1. sqli-labs的安装。同样在github中搜索下载,解压后复制到网站目录中。不同的是sqli-labs原版只支持php5,有需要可以下载php7版本的。

image

  1. 配置。/www/admin/localhost_80/wwwroot/sqli-labs/sql-connections打开db-creds.inc,修改数据库用户名和密码:
$dbuser ='root';   #数据库用户名
$dbpass ='pass';   #密码
$dbname ="security"; #靶场建立的第一个数据库
$host = 'localhost';
$dbname1 = "challenges"; #靶场建立的第二个数据库

从上面的配置可以看到,虽然建立了2个数据库,但只有一个用户名起作用,而在mysql里没办法在不同的数据库中使用相同的用户名,也就是说必须使用数据库的root用户进行连接。
3. 初始化。127.0.0.1/sqli-labs进入,点击Setup/reset Database for labs,如果没有报错就算成功了。回到首页,点击SQLi-LABS Page-1(Basic Challenges)就可以选择题目。

image

  1. 教程。在php7版本的文件夹中有一个sqli-labs-usermanual-cn.pdf ,醒目的cn字样,诱人的中文教程。

2个靶场的搭建就算完成了,并且搭建好phpstudy的平台后,再搭建这一类靶场都变得非常简单。愿自己和大家都能坚持下去,实现自己的目标!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值