一、防守流程
防守队友做的事情简单来说,按优先级有以下几个:
- 重中之重:备份网站源码和数据库。这个作用有二,一是以防自己魔改网站源码或数据库后无法恢复,二是裁判一般会定时 Check 服务是否正常,如果不正常会进行扣分,因此备份也可以防对手入侵主机删源码后快速恢复服务。
备份数据库:(今晚去实践一下)
1.mysql -uroot -proot //连接数据库;
2.show databases //查看数据库有哪些
3.exit //关闭连接
4.mysqldump -uroot -proot mysql >/tmp/db.sql; //输入数据库备份命令
5.到指定的位置下去查看db.sql
恢复数据库:
1.mysql -uroot -proot //连接数据库;
2.create databases test; //重新创建数据库
3.use test; //使用该数据
4.source c://db.sql; //还原数据库的命令
5.show databases //查看数据库是否还原成功
修改登录密码:
passwd //更改登陆密码
zcvf%@$sdd54
更改数据库密码、删除匿名账户:
1.select host,user,password from mysql.user; //查看host、user、password 三个字段
2.update mysql.user set password=password(‘himaliya’) where user=‘root’; //修改完数据库账号root密码
3.delete from mysql.user where user=‘debian-sys-maint’; //删除数据库debian-sys-maint匿名账户
4.修改完数据密码需要在 web 应用中修改相关的配置项,否则无效;
破坏登录结构:
1.这个需要代码审计的知识
查看历史命令记录和日志:
1.netstat -pantu //查看端口及服务
2.ls -al //查看web 应用日志
- 部署 WAF。用自己提前准备好的 WAF,使用脚本进行快速部署,但是要注意验证会不会部署完后服务不可用。
把WAF文件拖到配置文件夹下面,在config.php里面加上一行include(‘waf.php’);
3.部署文件监控脚本。监控可读写权限的目录是否新增、删除文件并及时提醒。这里说下,如果被种了不死马的话通常有以下几种克制方法:
创建一个和不死马生成的马一样名字的文件夹
4.上监控脚本
本来按理说先放个通防waf的,但是听说十分容易被check down,最好不要乱动,有时候拿flag分还不如down的分多,这就很难受了。include(‘watch.py’);
5.当发现自己被打时,首先尝试还原以前的备份(记得备份当前),如果依然被打,这个时候应该跟队友分好工,
6.扫描一下自己网站的漏洞
6.代码审计能力(防守方)以及自动化脚本的编写能力(攻击方):
1.发现后门后,第一时间删除,把一句话木马哪一行删掉
要点:
1.在最外面有放flag的文件
2.配置文件在data/config.php下面
3.flag在home/flag下
4.他们删只能删app的文件
5.比赛开始后,如果发现每个队伍的SSH账号密码都是一样的(某次比赛中都是phpcms、wordpress),需要立即修改口令,如果被其他队伍改了那就gg了。