对于awd而言简单来说就是分为三步:
1.登录平台,查看规则,探索flag提交方式,比赛开始前有时间的话使用nmap或者httpscan等工具 扫一下IP段,整理各队的IP(靶机的IP应该是比赛开始后才会给出)。
2.登录ssh->dump源码->D盾去后门->一人写批量脚本,一个人去修->部署waf,流量监控。
3.控制npc->加固npc(拿到别人的靶机也是一样),紧盯流量。
流程
1.登录比赛平台,查看比赛信息
连接ssh
一般情况下比赛方给的密码都过于简单,属于弱口令,可能存在被爆破成功的机会,登录之后,首先就是修改密码。
linux修改ssh即本地密码passwd
修改后台登录密码mysql -u root -pshow databases;use test;show tables;
select * from admin;
updata admin set user pass=’123456’; //updata 表名 set 字段名 = ‘值’;
flush privileges;
修改mysql登录密码
方法一:mysql>set password for root@localhost =password(‘ocean888’);config.php文件中是有数据库的连接信息,执行完上条命令后更改此文件。
方法二:mysqladmin -uroot -p 123456 password 123 root=用户名; 123456=旧密码; 123=新密码;
2.dump源码
使用ssh工具保留源码,复制两份,用d盾去扫一份
注意:如果使用tar命令打包文件夹,.index.php(隐藏类型文件)将不会被打包
或者使用scp命令。
数据库操作
数据库备份
登录数据库,命令备份数据库
mysqldump -u db_user -p db_passwd db_name > 1.sql //备份指定数据库
cd /var/lib/mysqlmysqldump -u db_user -p db_passwd > 1.sql //先进入数据库目录再备份
mysqldump —all-databases > 1.sql //备份所有数据库
数据库还原
mysql -u db_user -p db_passwd db_name < 1.sql //还原指定数据库
cd /var/lib/mysqlmysql -u db_user db_passwd < 1.sql //先进入数据库目录再还原
3.站点防御部署
check:
1.查看是否留有后门账户
2.关注是否运行了“特殊”进程
3.是否使用命令匹配一句话
4.关闭不必要端口,如远程登陆端口,木马端口
action:
1.d盾扫描删除预留后门文件,代码审计工具审计
2.流量监控脚本部署
3.waf脚本部署挂waf
每个文件前加require_once(waf.php)
改 .user.ini配置文件 auto_prepend_file=<filename>; 包含在文件头auto_append_file= < filename>; 包含在文件尾
注:如果挂了waf出现持续扣分,waf去掉(根据比赛实际情况而定)
4.文件监控脚本部署注意:现上好waf再上文件监控靶机没有python的话要先安python(视情况而 定)
4.利用漏洞进行得分
利用漏洞进行既包括自己去审计挖掘漏洞,也包括看流量分析出其他师傅发现的漏洞的复现
5.编写脚本批量拿分
1.通过预留后门批量拿分
2.批量修改ssh账号密码
3.通过脚本批量获取flag
4.脚本批量提交flag
以上就是awd开局所需要做的事情,下文从攻击和防御做详细介绍