被遗落的开源项目——Hackazon安装

Posted 信安杂谈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了被遗落的开源项目——Hackazon安装相关的知识,希望对你有一定的参考价值。

最近在简单地研究渗透测试,一直想找一个关于购物场景的漏洞环境,研究一下逻辑漏洞,后面偶然的接触到了hackazon这个开源项目。花了好久的功夫,Windows弄了好久也没法搭建成功,后面就放弃了。本以为Linux环境下搭建比较简单吧,我试了试,好像也挺头疼的。最终还是厚着脸皮请教了大学同寝室的好哥们才搞定的,十分感谢刚哥,不厌其烦的帮我,并且绝大部分报错都帮我完美解决。哈哈。。。今天记录一下我的安装过程,或许也可以帮到有需要的人。

Hackazon项目好像搁浅了,没更新了,不过可以玩玩。后面我又接触到了OWASP的juice-shop开源项目,也是关于购物场景的Web渗透测试环境,是OWASP的旗舰项目,Lunix环境下安装也比较简单,可以玩玩。好吧,废话有点多了,接下来就是正文。

hackazon项目环境要求如下:

 

被遗落的开源项目——Hackazon安装


我搭建这个项目的环境为现在最新的Ubuntu 20.04系统。

一、安装mysql后没有设置root密码环节

项目的mysql版本5.5,而ubuntu20.04的默认版本为8.0,执行到安装手册第三步,安装完该新版本后,没有依照第四步预期的那样自动弹出设置root密码的界面,需要自己手动修改。

解决办法为,首先查看mysql的debian.cnf配置文件,找到默认的user和password,然后利用这个默认用户名和密码登录mysql数据库,再修改root密码,查看命令为sudo cat /etc/mysql/debian.cnf

修改密码步骤:

1)  默认用户名密码登录

mysql -u debian-sys-maint -p

2)  连接到mysql数据库

usemysql;

3)  设置root密码

alteruser 'root'@'localhost' identified with mysql_native_password by '你的密码';

4)  刷新权限

flushprivileges;

5)  退出mysql

quit;

6)  重启mysql服务

sudoservice mysql restart

二、安装PHP5.6

执行到安装手册第五步安装php framework时,项目要求PHP5.4,而ubuntu20.04系统的php默认版本为7.4。我能力有限,没法编译安php5.4,只能简单通过ondrej/php  ppa源来安装php5.6(此时该源最低版本的php版本为5.6)。我也尝试过跟换更低版本的Ubuntu系统来解决该问题,但换了好几个都不行,后来我就投降了,还是老实地按照刚哥的指导来完成搭建环境。解决步骤如下:

1)  添加ondrej/php  ppa源

sudoadd-apt-repository ppa:ondrej/php

2)  更新添加的源的所有软件包

sudoapt-get update

3)安装php5.6framework(后续安装的所有php相关的都php5.6)

sudo apt-getinstall php5.6 libapache2-mod-php5.6

三、执行到安装手册的第二十三步,赋予hackazon数据库所有权限后,还需创建hackazon用户,并赋予hackazon用户所有权限

步骤如下

1)  登录mysql数据库

mysql-u root -p

2)  创建hackazon用户

createuser 'hackazon'@'localhost' identified by 'root密码';

3)  赋予hackazon用户所有权限

GRANTALL PRIVILEGES ON hackazon.* TO 'hackazon'@'localhost';

4)  刷新权限

flushprivileges;

5)  退出

quit;

四、安装完打开http://localhost/ 出现如下错误

Fatalerror: Call to undefined function bcpow() in /var/www/hackazon/vendor/gwtphp/gwtphp/src/util/TypeConversionUtil.class.phpon line 207

被遗落的开源项目——Hackazon安装


由于我们上面安装PHP5.6时没安装其他完整模块,提示缺少bcpow()函数,解决办法为安装bcmath,并重启apache,步骤如下:

1)  sudo apt-get installphp5.6-bcmath

2)  sudo service apache2 restart

五、网页安装第二步连接数据库出错,需要修改mysqld.cnf配置文件

Error2054: SQLSTATE[HY000] [2054] Server sent charset unknown to the client. Please,report to the developers

被遗落的开源项目——Hackazon安装


项目mysql要求版本为5.5,而安装版本为8.0,导致这个错误,编辑mysqld.cnf配置文件(该配置文件所在目录为/etc/mysql/mysql.conf.d/mysqld.cnf),通过编辑命令增加如下三行代码,并保存。

character-set-server= utf8mb4

collation-server= utf8mb4_unicode_ci

default_authentication_plugin=mysql_native_password

编辑命令如下:

sudovi /etc/mysql/mysql.conf.d/mysqld.cnf

并登录mysql的root用户,按顺序输入如下指令解决该错误。

alteruser 'hackazon'@'localhost' identified with mysql_native_password by 'root';

flushprivileges;

quit;

sudo/etc/init.d/mysql restart

六、安装完最后打开主页,左下角显示错误信息,并且点击登录功能,网页变黑且无法登录

Fatalerror: Call to undefined function mb_substr() in/var/www/hackazon/assets/views/home/top_reviews.php on line 34


原因还是前面安装PHP5.6时未安装其他完整的功能模块,才导致这个报错。安装mbsting并修改php配置文件php.ini解决问题,命令如下:

sudoapt-get install php5.6-mbstring(如果安装出现E: Unable tofetch some archives,则升级一下源apt-get update再执行)

修改/etc/php/5.6/apache2/php.ini增加一行配置 extension=mbstring.so

或者把;extension=php_mbstring.dll改为extension=mbstring.so

之后重启apache2解决问题,重启命令如下:

sudo/etc/init.d/apache2 restart

这样最后就可以正常打开hackazon网站了,也可以欢快的探索下这个开源项目。


 

以上是关于被遗落的开源项目——Hackazon安装的主要内容,如果未能解决你的问题,请参考以下文章

被开源绑架的开源项目开发者

那些被BAT们“放弃”维护的开源项目

你用的那些开源项目可能已经被"放弃维护"!

Gitee 宣布开源须人工审核,大量开源项目被转为私有!

上游开源项目闭源,相关仓库被GitHub要求下架

牛逼,被 Gitee 评为最有价值的开源项目!