这几天带实验室集训,被迫在云端搭建靶场......本地靶场直接套源代码就完了,云端靶场还需要手动配置一下数据库,不过问题不大
STEP 1 搭建WEB环境
直接用docker拖一个lamp就行,不记得怎么操作的话可以康康这篇:docker搭建WEB题
这里还是以 tutum/lamp 为例
STEP 2 配置数据库
数据库忘记密码请看这里:mysql忘记密码
如果数据量不大的话,直接手动进入docker中,打开mysql进行配置即可
docker exec -it xxxx /bin/bash
# 交互模式进入容器,xxxx 为容器的ID
mysql -u root -p
# 输入密码进入数据库,没设置密码就直接敲回车
修改数据库密码(可选)
set password for USER @localhost = password('PASSWD');
# USER为用户名,PASSWD为新密码
# 例如: set password for root@localhost = password('6666');
如果上述方法失败,还可以直接修改用户表:
# 先登陆mysql
use mysql;
# 使用mysql数据库
update user set password=password('123') where user='root';
# 更新密码
flush privileges;
# 刷新缓冲区
然后通过sql语句进行表单的创建和增删改查等。
如果数据量很大,直接使用文件进行数据库的导入导出操作:
mysqldump -h localhost -u root -p users > ./output.sql
# 数据库导出,其中localhost是服务器名,users是数据库名,其后可以直接跟表名,output为输出文件
mysql -h localhost -u root -p xxx < ./input.sql --default-character-set=utf8
# 数据库导入,其中--default-character-set=utf8 用于解决中文乱码
STEP 3 PHP连接数据库
编写 index.php,使后端连接到服务器
这里给一个简单的参考
index.php:
<?php
$con = mysql_connect("localhost","root","xxxx") or die();
// 创建链接,验证服务器,用户名,密码
mysql_select_db("security");
// 使用的数据库
$ID = $_GET['id'];
// 获取URL中的参数"id"
$sql = "select * from users where id=$ID";
echo "sql operations: ".$sql."<br>";
$res = mysql_query($sql);
while($rows = mysql_fetch_array($res)){
echo "ID:".$rows['id']."<br>";
echo "username:".$rows['username']."<br>";
echo "password:".$rows['password']."<br>";
}
// 交互,找到符合条件的值就输出
mysql_close($con);
// 断开链接
?>
数据库文件直接拖了sql-lab.sql:
-- DROP DATABASE IF EXISTS security;
CREATE database security;
USE security;
CREATE TABLE users
(
id int(3) NOT NULL AUTO_INCREMENT,
username varchar(20) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE emails
(
id int(3)NOT NULL AUTO_INCREMENT,
email_id varchar(30) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE uagents
(
id int(3)NOT NULL AUTO_INCREMENT,
uagent varchar(256) NOT NULL,
ip_address varchar(35) NOT NULL,
username varchar(20) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE referers
(
id int(3)NOT NULL AUTO_INCREMENT,
referer varchar(256) NOT NULL,
ip_address varchar(35) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO security.users (id, username, password) VALUES ('1', 'Dumb', 'Dumb'), ('2', 'Angelina', 'I-kill-you'), ('3', 'Dummy', 'p@ssword'), ('4', 'secure', 'crappy'), ('5', 'stupid', 'stupidity'), ('6', 'superman', 'genious'), ('7', 'batman', 'mob!le'), ('8', 'admin', 'admin');
INSERT INTO `security`.`emails` (id, email_id) VALUES ('1', 'Dumb@dhakkan.com'), ('2', 'Angel@iloveu.com'), ('3', 'Dummy@dhakkan.local'), ('4', 'secure@dhakkan.local'), ('5', 'stupid@dhakkan.local'), ('6', 'superman@dhakkan.local'), ('7', 'batman@dhakkan.local'), ('8', 'admin@dhakkan.com');
然后访问该地址即可,例如 http://xiabee.cn:7009/?id=1

Comments | NOTHING