当前位置:网站首页>【CTF】AWDP总结(Web)
【CTF】AWDP总结(Web)
2022-07-05 01:10:00 【Sunlight_316】
【CTF】AWDP总结(Web)
什么是adwp?
AWDP是一种综合考核参赛团队攻击、防御技术能力、即时策略的攻防兼备比赛模式。每个参赛队互为攻击方和防守方,充分体现比赛的实战性、实时性和对抗性,对参赛队的渗透能力和防护能力进行综合全面的考量。
比赛中,每支队伍拥有相同配置的虚拟靶机,参赛队员需对平台中的GameBox发起攻击,并向平台提交正确的flag(证明自己具备对该题的攻击能力);在此期间,由平台以轮次制的方式向参赛队伍的靶机发起攻击,检查其他选手的漏洞是否修补成功,若修补成功则认为参赛队伍具备该漏洞的防御能力。
计分规则如下:比赛过程中每支参赛队拥有相同的起始分数(10000分),截止比赛结束时的分数,作为各队伍比赛得分,由高至低在成绩榜排列。
参赛队伍可通过以下两种方式获取积分:
1)攻克:提交GameBox中存放的flag;
2)防御:成功防御平台对各个靶机的攻击,且服务无异常。
同时也会通过以下两种方式失分:
1)服务异常:队伍无法维护某GameBox的正常服务,平台检查不通过;
2)违规:因违反比赛纪律及发现违规等行为被裁判判罚扣分。
六种状态
–已攻击,说明这个题已经打下来了,交了flag,就是攻击成功。攻击的过程其实就是普通的ctf。有的题目会先给你一切源码让你来打,这就是白盒了,但是白盒还是很多题防御成功但打不出flag哈哈。有的题你只有黑盒打出flag来了,攻击成功才会给你源码,让你来防御。
–已防御,说明你拿到源码之后,把这个题的漏洞通过修改源码,已经补完了,裁判的poc打不动这个题了,就算是防御成功。
–防御异常,说明防御的过程中,你把网站应该提供的服务给搞没了,可能是防御过度,也可能是你把关键的功能删掉了。如果防御异常了,一定要第一时间重置环境,要不然等到一个轮次结束之后会扣分,扣分就特别伤了。
防御
赛前准备
1.赛前要做好充分准备,把一些漏洞的waf全部准备好,例如:
function wafrce($str){
return !preg_match("/openlog|syslog|readlink|symlink|popepassthru|stream_socket_server|scandir|assert|pcntl_exec|fwrite|curl|system|eval|assert|flag|passthru|exec|chroot|chgrp|chown|shell_exec|proc_open|proc_get_status|popen|ini_alter|ini_restore/i", $str);
}
function wafsqli($str){
return !preg_match("/select|and|\*|\x09|\x0a|\x0b|\x0c|\x0d|\xa0|\x00|\x26|\x7c|or|into|from|where|join|sleexml|extractvalue|+|regex|copy|read|file|create|grand|dir|insert|link|server|drop|=|>|<|;|\"|\'|\^|\|/i", $str);
}
function wafxss($str){
return !preg_match("/\'|http|\"|\`|cookie|<|>|script/i", $str);
}
这些waf有点简陋,是因为要保证题目的环境不能出问题,题目要提供正常的服务。
这很重要很重要,直接决定能不能很快拿下题目的防御。
2.XFTP
文件上传工具要准备好
下载:
链接:https://pan.baidu.com/s/1eabfwy7b8TlM-0fquWAYxw
提取码:g32d
3.phpstudy等web环境
配置好本地web环境,越方便越好,就是拿到源码之后要很迅速能在自己本地跑起来,不要到了比赛的时候手忙脚乱的,一下子域名出问题一下子数据库出问题。比赛时,时间就是分!!
4.代码审计工具
Seay源代码审计系统之类的。
可以做到辅助作用,不是很重要。
第一时间上waf
对于awdp来说,防御的重要性远远大于攻击,因为是轮次制,每一轮防御成功或者攻击成功都会加对应的分,成功的人越多,每轮加的分就越少,而且分是累计制,**题目分少了,自己之前得到的分不会扣。**所以时间特别重要。有些人题目刚出没5分钟就防御成功了,一个题的分吃了一整天,从第一轮加500到最后一轮加50,累积起来大几千分。
所以我们的策略是,一上来一个题目,先分析是大概什么知识点,是命令执行?sql注入?文件上传?然后第一时间在源代码上加waf。
waf的形式不局限于上面展示的例子,过滤关键字,也可以是直接对输入的东西进行长度限制,比如说限制输入执行命令的长度为小于2。就可以达到修补漏洞又不破坏题目环境的目的。不过也要看具体题目,有的题目可能长度低于2就破坏了web服务导致防御失败了。
注意文件上传的路径
这个问题非常重要!!!
防御的时候我们是要把要修补的文件上传到服务器里,替换原来服务器中的文件,所以我们要知道文件具体的路径,但是一般来说题目不会直接给,不同开发语言不同框架的目录也不尽相同。
这个时候就要用到一个小tips:
题给示例:
mv -f explorer.php /www/html/
我们要替换的文件很有可能不是在根目录下的/www/html,所以这个示例很鸡肋
那就从根目录里面查找:
mv -f explorer.php $(dirname `find / -name 'explorer.php' 2>/dev/null`)/explorer.php
用find命令从根目录查找名为explorer.php
的文件,然后返回他的路径名(dirname)
2>/dev/null
的作用是避免返回一些错误的信息,比如说查找过程中会返回权限不足等错误。
攻击
攻击就没什么好讲的,就是打ctf,有的题是白盒,有的题你得先打出flag才有源码。
暂时想到的就是这些,打完了这么久了才记录,因为一直考试。
在这致敬一下工作室大佬们带我打awdp!
边栏推荐
- 4. Scala writes HelloWorld in idea, in-depth analysis of accompanying objects, and association of source packages
- How to use words to describe breaking change in Spartacus UI of SAP e-commerce cloud
- BGP comprehensive experiment
- Digital DP template
- 整理混乱的头文件,我用include what you use
- Query for Boolean field as "not true" (e.g. either false or non-existent)
- Chia Tai International Futures: what is the master account and how to open it?
- 【大型电商项目开发】性能压测-优化-中间件对性能的影响-40
- Playwright之录制
- 如果消费互联网比喻成「湖泊」的话,产业互联网则是广阔的「海洋」
猜你喜欢
【大型电商项目开发】性能压测-优化-中间件对性能的影响-40
Safety learning week4
[wave modeling 2] three dimensional wave modeling and wave generator modeling matlab simulation
Insert sort of sort
POAP:NFT的采用入口?
那些一门心思研究自动化测试的人,最后都怎样了?
SAP UI5 应用开发教程之一百零七 - SAP UI5 OverflowToolbar 容器控件介绍的试读版
【大型电商项目开发】性能压测-性能监控-堆内存与垃圾回收-39
[development of large e-commerce projects] performance pressure test - Performance Monitoring - heap memory and garbage collection -39
“薪資倒掛”、“畢業生平替” 這些現象說明測試行業已經...
随机推荐
How to use words to describe breaking change in Spartacus UI of SAP e-commerce cloud
SAP ui5 application development tutorial 106 - how to improve the readability of SAP ui5 application routing URL trial version
Open3d uses GICP to register point clouds
Talking about JVM 4: class loading mechanism
【Unity】InputSystem
Apifox (postman + swagger + mock + JMeter), an artifact of full stack development and efficiency improvement
POAP:NFT的采用入口?
SAP UI5 应用开发教程之一百零六 - 如何提高 SAP UI5 应用路由 url 的可读性试读版
LeetCode周赛 + AcWing周赛(T4/T3)分析对比
SAP UI5 应用的主-从-从(Master-Detail-Detail)布局模式的实现步骤
Relationship between classes and objects
Basic concept and usage of redis
Yyds dry goods inventory kubernetes management business configuration methods? (08)
Async/await you can use it, but do you know how to deal with errors?
6. Scala operator
Armv8-a programming guide MMU (3)
“薪資倒掛”、“畢業生平替” 這些現象說明測試行業已經...
Global and Chinese markets of emergency rescue vessels (errv) 2022-2028: Research Report on technology, participants, trends, market size and share
When the industrial Internet era is truly developed and improved, it will witness the birth of giants in every scene
“薪资倒挂”、“毕业生平替” 这些现象说明测试行业已经...