背景

星盟团队的内部awd训练,邀请我们团队参加,然后想着也没什么事情就报名了。

为什么说叫反杀之旅?

因为最开始的时候由于技术师傅的手误,前两轮设置后台check扣分的时候多按了一个0,导致一次check扣了我们1000分。。。

本来每个队初始分数是1000,结果我们一下变成了0,成了倒数第一。

不过经过团队的紧张的补救以及多年的手速,在多扣了几百分的情况下最后追赶到了正数第二名的位置。

觉得还挺有意思,所以今天写篇博客来记录下过程。

比赛规则

比赛时间

八月十四日(今晚)晚六点四十到十点四十

比赛规则

(队长比赛前五分钟找我私聊拿各自的登陆密码并尽快修改)

1.每个队伍分配到一个docker主机,给定ctf用户权限,通过制定的端口和密码进行连接;

2.每台docker主机上运行一个web服务或者其他的服务,需要选手保证其可用性,并尝试审计代码,攻击其他队伍;

3.选手可以通过使用漏洞获取其他队伍的服务器的权限,读取他人服务器上的flag并提交到平台上。

每次成功攻击可获得5分,被攻击者扣除5分;有效攻击五分钟一轮;

4.选手需要保证己方服务的可用性,每次服务不可用,扣除100分;服务检测五分钟一轮;

5.不允许使用任何形式的DOS攻击

因为是awd一般是线下赛,线上的awd确实还是第一次搞。

最开始的时候以为是在他搭建的内网里,还要端口转发到本地才能打,感觉麻烦很多。

后来才发现不是,就是一个外网主机开了很多docker,不同docker在不同的端口,打的时候IP都不用换,直接找端口就可以了。

看了下界面还是挺炫酷的哈哈哈

冷静分析

拿到ssh后先登上去,改密码,保存源码,D盾扫一扫

虽然我经常发帖子过D盾,但是D盾确实很厉害啊哈哈哈,在比赛中还是非常有用的

老套路,被留了各种后门。

因为本来预定的环境有问题,启用了备用线路,所以只有一个web一个pwn,那就慢慢看吧。

第一个后门 任意命令执行

文件名 api.inc.php

很多文件都包含有这个文件

$authcheck是个array_map,下面51行又调用了这个$authcheck,

代码意思就是说收到数组$auth后先base64解码一遍,然后用$authcode参数来任意命令执行

那么我们就可以构造以下payload:

http://xxxxx/api.inc.php?authcode=assert&auth=ZXZhbCgkX1BPU1RbJ2EnXSk7

auth参数解码后是

eval($_POST['a']);

就可以生成个用蚁剑连接的一句话啦

附一张当时的截图

最开始因为手速快,所有的人都被我们拿了flag

第二个后门 一句话木马

这个没什么说的

后来发现他的$islogin可以随便绕过。。根本不用登陆。。

第三个后门 LFI

直接包含flag就可以读取

第四个后门 任意文件上传

主要代码

if ($mod == "release"){

echo'

'.$xiaofu.' - 上传安装包

';

if ($_POST["s"] == 1) {

$extension = explode(".",$_FILES["file"]["name"]);

if (($length = count($extension)) > 1) {

$ext = strtolower($extension[$length-1]);

}

if ($ext == "png" || $ext == "gif" || $ext == "jpg" || $ext == "jpeg" || $ext == "bmp") {$ext = "png";

}

copy($_FILES["file"]["tmp_name"],ROOT. "download/release/release.".$ext);

$city=get_ip_city($clientip);

$czip=($udata['dlip']);

$user=($udata['user']);

$DB->query("insert into `auth_log` (`user`,`type`,`date`,`city`,`czip`,`data`) values ('".$user."','上传安装','".$date."','".$city."','".$czip."','无')");

echo "成功上传文件!
(请刷新安装包文件夹)";

}

}

意思就是说,收到上传文件后检查后缀,然后保存。

但是仔细看这一句

if ($ext == "png" || $ext == "gif" || $ext == "jpg" || $ext == "jpeg" || $ext == "bmp") {$ext = "png";

}

如果后缀是这么多的一种,那么变量$ext 就被赋值为png

然后if语句就结束了

也就是说他这个判断后缀是没什么卵用的,任意的后缀就可以跳过他这个判断继续往下执行。

但是当时无法利用,因为网站权限被设置为不可写。。。

也就是说你只有ssh才可以更改网站的内容。

马失前蹄

因为漏洞都比较简单,很快就看完了。

简单说了一下分工,就让牛逼牛逼最牛逼巨佬naivekun师傅修洞,我们就开始写批量getflag脚本然后批量交flag

结果突然听见naivekun师傅大叫一声卧槽

看积分榜我们居然只有100分

其他队都是1000起步

喵喵喵???

我眼花了吗???

后来问kun师傅怎么修的,他说直接把参数删了。。。

完 蛋,国 赛 重 现

其实研究一下规则就知道,别人打你就扣5分

但是你修炸了就一下扣100。。。

唉,国赛就是这样被坑惨的,做题不少。。。但是越修分数越低。。。

但是也不会掉这么多啊,一下成了倒数第一

后来看群里才知道,由于技术师傅的手误,前两轮设置后台check扣分的时候多按了一个0,导致一次check扣了我们1000分。。。

然后我们手速比较快修的比较急,刚好在扣分的第一轮没修好就被扣分了

赶紧把洞重新修了一遍

gg,跟别的队差1000分还打个毛啊

猛男落泪.jpg

搅屎翻盘之旅

不过这个比赛有一点好处就是时间长,5分钟一轮,四个小时。

算了算我们还是有翻盘的机会的

毕竟手速快,顺便稳定了权限,基本上当时所有队伍的权限都在我们手里。

分工了一下

一个人稳定权限拿flag,一个人写批量脚本交flag,一个人搅屎。

pwn跟web是分开的,也差不多这个样子

当时自己批量getflag的截图

这是一个洞的脚本,多的图就没截了

然后慢慢分数就涨了上去,倒数第二还是第三吧

删库跑路

只靠得分不行,因为分差太小了,一轮全部拿到其他队伍的flag还没有扣得多

所以就想着搅屎

因为别人扣分实际上就相当于自己队伍得分

搅屎本来想删站的,结果没权限,就少了很多乐趣。

然后想着能不能fork炸弹啊磁盘写满啊这种

后来naivekun师傅发现可以删库让整个站500

哈哈哈哈快乐

删库跑路图:

被群里人发现了

基本上把大多数队伍的库都删了个遍

但是我们后来发现

删库居然不扣分???

在群里问技术

原来check扣分异常。。。所以技术直接把check关了。。。

好的吧,反正继续搅屎没毛病

然后写个循环脚本,继续删库。。

pwn也开始搅屎了

附上队员blackbinary的犯罪证据

直接echo fuckyou到二进制文件里

这样其他队伍就无法攻击得到flag

逐渐回暖

后来因为搅屎比赛太过激烈

我们的队伍分数在逐渐往上涨,其他大多数被删库就在往下掉

最后就也不想打了,全部是自动化getflag,自动化提交了,大家也都自己干自己的事去了。

附上几张当时的截图

随机队名,我们是Colombia队

第三了

然后第二了

最后结果,第二名

后续

在多扣1000分的情况下从倒数第一反杀到第二

最后说给我们分数加上但是也没加,毕竟训练赛就当打着玩

还是挺好玩的,但是中途平台bug比较多

什么flag提交不上,提交频率过快

然而最让我懵逼的是

他平台有漏洞

每个队伍的cookie居然只是队伍名的md5。。。

阿伟死了

最后

总结一下反杀的原因还是主要靠搅屎,让其他队伍扣分

不然快1000分的分差靠只有5分一个的flag很难追上

不管怎么说这个线上awd还是挺有趣的

操作虽然都是常规操作,但也是对团队分工合作,搅屎技术的一次综合考验

特地写下这篇文章记录一下。

小插曲

喵喵喵???

首发于博客:

awd的批量脚本 pwn_记一次AWD反杀之旅相关推荐

  1. awd的批量脚本 pwn_北极星杯AWD-Writeup

    前言 祝祖国70周年生日快乐,也祝星盟一周年生日快乐.感谢各位师傅在国庆假期抽出时间参加这次比赛,也感谢负责组织比赛的师傅忙前忙后. 我是M09ic,负责本次北极星杯AWD的赛后分享.靠着抱大腿以及足 ...

  2. awd的批量脚本 pwn_北极星杯 awd复现

    北极星杯 awd复现 服务器共有3个web和一个pwn web1 1,down下web1的源码,使用D盾扫描: 2,漏洞1:发现三个冰蝎的木马,和一个一句话木马 冰蝎的后门需要使用冰蝎的客户端进行连接 ...

  3. awd的批量脚本 pwn_[原创]第一届护网杯线下决赛awd之shell多解

    前言 好久不打比赛,顺便来北京实习就参加了护网杯.排名虽然有所提高但还是被各种大表哥吊打.(和企业参赛简直痛苦)这里带来决赛中awd比赛pwn题shell的两种漏洞利用方式. 程序保护 保护全开 程序 ...

  4. awd的批量脚本 pwn_CTF线下赛AWD套路小结

    CTF线下赛AWD套路小结 本文已在先知社区发表,欢迎访问,链接h 最近打了2场CTF线下赛,把AWD模式中的一些小套路做一些总结,本人web狗,二进制部分就不班门弄斧了. 一.AWD模式简介 AWD ...

  5. awd的批量脚本 pwn_AWD攻防之web入门篇

    前言 AWD(Attack With Defense,攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分.也就是说,攻击别人的靶机可以获取 Flag ...

  6. plsql command window 执行批量脚本

    commandwindow 是执行批量脚本的,也可以单个执行一条语句,但它的输出结果不如sqlwindow,而sqlwindow执行的是一个语句,输出结果是规范的表格 比如,现在有100条插入语句,你 ...

  7. 通过批处理调用SQL*Plus执行批量脚本

    文章目录 在批处理文件中调用SQL*Plus命令执行批量脚本的场景 Windows命令终端连接数据库 方式1:登录进入SQL命令行 方式2:先进入SQL命令行,再登录 方式3: 使用用户名/密码连接指 ...

  8. 把生命放在美丽的焦距上——记桂林、阳朔、龙胜之旅

    把生命放在美丽的焦距上--记桂林.阳朔.龙胜之旅 题记: 冷于陂水淡于秋,远陌初穷到渡头. 赖是丹青不能画,画成应遣一生愁. --宋.司马池<行色>   一 暗恋情节 有的地方,一生也许只 ...

  9. HBase shell执行批量脚本

    场景描述: HBase namespace中有大量无用的小表,占用了过多的block,需要批量删除,了解了一下有两种方式: 1.使用通配符 用drop命令可以删除表.在删除一个表之前必须先将其禁用. ...

  10. awd赛题的flag是什么意思_记一次AWD自动获取flag并提交

    背景 近期部门内搭建了攻防实验平台供大家练习,周末组织了一波AWD练习,之前都是做渗透测试比较多,加之题目比较简单,找到漏洞getshell拿flag都没问题,只不过如果没找到突破口flag都要手动提 ...

最新文章

  1. Linux下HOOK动态链接库中API的方法
  2. Python3面向对象编程的三大特性 封装、继承、多态
  3. 生成pfx文件需要在服务器上执行,PEM文件和private.key文件生成IIS服务器所需的pfx文件(配置SSL用)...
  4. 散射理论方程_非弹性中子磁散射方法简介之自旋波激发
  5. parallels网络初始化失败_33 个神经网络「炼丹」技巧
  6. (转)OpenLayers3基础教程——OL3基本概念
  7. 吴恩达深度学习5.1练习_Sequence Models_Character level language model - Dinosaurus land
  8. IEEE access参考文献的添加
  9. 计算机需要那些高中数学知识点,高中必考数学知识点归纳整理
  10. youtube-dl下载速度慢解决方法
  11. [随笔] flex 布局使用 space-between 尾行排版效果优化
  12. VBA完整学习笔记1-39集(共60集)
  13. 据说币圈炒币亏钱的人,大多都是因为这6个原因!
  14. python中randint是什么意思_python中random.randint和random.randrange的区别详解
  15. 电除尘器 matlab,基于MATALAB的静电除尘电源技术仿真
  16. java8 Arrays.sort 与Arrays.parallelSort
  17. 图像基础知识学习笔记
  18. 机器学习————最小二乘法
  19. 黑马程序员Java零基础视频教程笔记-方法
  20. pycharm连接mysql5.7

热门文章

  1. 《人生七年》纪录片总结
  2. 还不知道什么是cms 什么是 cmf?
  3. 转:PV、UV、访问次数、跳出率、转化率、平均访问时长
  4. 听完周杰伦的《Mojito》,我不禁想用分子料理做几颗
  5. Meltdown漏洞分析
  6. meltdown linux检测,Linux操作系统已拥有自动化的Spectre/Meltdown检查器
  7. python开头编码cc手_python 利用cip.cc查询IP归属地
  8. Moive-Pages
  9. 云知声发布多模态AI芯片战略,同步曝光三款在研芯片...
  10. 发起一款国产开源CRM系统,有想共同参与的进来哈,己发出SVN库