比赛从上午9点打到17点,总共8h,中途不停赛,10轮一次攻防,比赛强度感觉还是比较大的;pwn和web各两个靶机。web貌似打得比较狠,估计是权限比较大的缘故。
我还是着重讲一下pwn把。
先附上一份这次awd的规则把
对于pwn的话,比赛一开始要干的就是ssh连上自己队伍的服务器,把题目和相应的libc做一个备份,要不然之后patch打坏了就不好修补。有一个认识的师傅就是忘记备份最后把题目patch坏了没办法再次正常起服务导致了之后一直check没过,每轮都只能扣分。
pwn题在前几轮一般不太会被打,(因为不可能分析的这么快,除非非预期或者遇到看过的题目了)但是一开始解出题目的队伍可以收割很多的分数,因为没有别的队伍和他们分被攻击队的分数。当场上有队伍解出来题目的时候这时候,这时候就要看看自己的靶机有没有被打,假如被打了并且你还没有啥解题思路,那么应该快速去自己的服务器上把流量包拿下来(我一开始没有看到服务器上有流量包,导致了pwn1一直没有进展),流量包中可以看到你被打的流量,可以从流量中找到解题方法。(感觉pwn题到了最后就全都变成了流量分析,所以快速分析别人的流量特别重要),下图是我服务器被打时攻击队的流量。
流量都是明文,一般做不了混淆啥的,所以照着复现一下就行了。
最后一点要提的是,自动化的脚本要写出来,不然会很痛苦,每一轮都手动提交flag的话会花掉大量的时间。这次的pwn2是可以做到自动化提交,但pwn1最后虽然exp写出来可以打,但是没能写出自动化,因为本身这个exp也是个爆破脚本(8说了,就是菜)。
pwn总体来讲比较缓和一点,毕竟只要题目备份了至少重传上去可以保证服务是正常的,能够保证check通过。
总结几点就是
- 提前把本地环境安好,最好是各个版本的虚拟机都备着,pwn的工具我就不多说了
- wireshark!!!(流量分析,快速复现别人的exp,非常非常非常重要)
- 学习patch相关知识
- 自动化脚本编写
- 玩的开心,认识认识大师傅们
总的来说这次比赛awd办还不错(饭真香,浴缸真不错),虽然最后结束1h左右平台崩了一次,但也很快修复了。