<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://game.etao.net/w/index.php?action=history&amp;feed=atom&amp;title=%E7%BA%BF%E4%B8%8B%E6%94%BB%E9%98%B2%E7%BB%8F%E9%AA%8C</id>
	<title>线下攻防经验 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://game.etao.net/w/index.php?action=history&amp;feed=atom&amp;title=%E7%BA%BF%E4%B8%8B%E6%94%BB%E9%98%B2%E7%BB%8F%E9%AA%8C"/>
	<link rel="alternate" type="text/html" href="https://game.etao.net/w/index.php?title=%E7%BA%BF%E4%B8%8B%E6%94%BB%E9%98%B2%E7%BB%8F%E9%AA%8C&amp;action=history"/>
	<updated>2026-05-06T07:52:09Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://game.etao.net/w/index.php?title=%E7%BA%BF%E4%B8%8B%E6%94%BB%E9%98%B2%E7%BB%8F%E9%AA%8C&amp;diff=228&amp;oldid=prev</id>
		<title>127.0.0.1：​创建页面，内容为“{{Ctf_Wiki}} = 线下攻防经验小结 =  首先，正常比赛会提供提交 flag 的接口，接口地址类似 &lt;code&gt;http://172.16.4.1/Common/submitAnswer&lt;/code&gt;。一般我们需要根据主办方给出的文档要求通过接口提交 flag。在比赛中要求接口地址使用 Post 方式提交，提交时带两个参数，一个是 &lt;code&gt;Answer&lt;/code&gt;，其值为获取到的 flag 字符串，而另一个则是 &lt;code&gt;token&lt;/code&gt; ，其值为各个队…”</title>
		<link rel="alternate" type="text/html" href="https://game.etao.net/w/index.php?title=%E7%BA%BF%E4%B8%8B%E6%94%BB%E9%98%B2%E7%BB%8F%E9%AA%8C&amp;diff=228&amp;oldid=prev"/>
		<updated>2023-07-02T07:21:13Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{Ctf_Wiki}} = 线下攻防经验小结 =  首先，正常比赛会提供提交 flag 的接口，接口地址类似 &amp;lt;code&amp;gt;http://172.16.4.1/Common/submitAnswer&amp;lt;/code&amp;gt;。一般我们需要根据主办方给出的文档要求通过接口提交 flag。在比赛中要求接口地址使用 Post 方式提交，提交时带两个参数，一个是 &amp;lt;code&amp;gt;Answer&amp;lt;/code&amp;gt;，其值为获取到的 flag 字符串，而另一个则是 &amp;lt;code&amp;gt;token&amp;lt;/code&amp;gt; ，其值为各个队…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Ctf_Wiki}}&lt;br /&gt;
= 线下攻防经验小结 =&lt;br /&gt;
&lt;br /&gt;
首先，正常比赛会提供提交 flag 的接口，接口地址类似 &amp;lt;code&amp;gt;http://172.16.4.1/Common/submitAnswer&amp;lt;/code&amp;gt;。一般我们需要根据主办方给出的文档要求通过接口提交 flag。在比赛中要求接口地址使用 Post 方式提交，提交时带两个参数，一个是 &amp;lt;code&amp;gt;Answer&amp;lt;/code&amp;gt;，其值为获取到的 flag 字符串，而另一个则是 &amp;lt;code&amp;gt;token&amp;lt;/code&amp;gt; ，其值为各个队伍的队伍 Token。&lt;br /&gt;
&lt;br /&gt;
然后比赛时主办方也会给每个参赛队伍提供一台用于 &amp;#039;&amp;#039;&amp;#039;分析网络流量的虚拟机&amp;#039;&amp;#039;&amp;#039; ，选手需要访问地址下载流量文件进行分析。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;关注-gamebox-状态&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 关注 Gamebox 状态 ==&lt;br /&gt;
&lt;br /&gt;
比赛中可以查看己方和敌方 GameBox 状态。时刻关注可以尽早获取比赛信息，根据信息做出调整。&lt;br /&gt;
&lt;br /&gt;
对于己方 GameBox，有存在如下原因造成 GameBox 被 down 掉：&lt;br /&gt;
&lt;br /&gt;
# 主办方裁判系统存在失误，误判 GameBox 为不可用状态。这种情况一般在比赛开始前可以发现，如果发现存在这种情况，要尽早向工作人员示意处理以减少损失。&lt;br /&gt;
# 程序 patch 失误导致服务不可用。在程序 patch 完之后要进入下一轮关注 GameBox 状态，如果 patch 失误导致不可用，需要及时挽救。但是也不要过度担心把原来的未修补过的漏洞程序换回去。因为 down 掉是所有队平分得很少的分，而直接上漏洞程序会使得强势的队伍直接利用得到很高的得分。所以要依据具体情况对待。&lt;br /&gt;
# 对手不正当攻击导致 GameBox 不可用。如果发现，需要及时补救。&lt;br /&gt;
# 主办方加强程序 check。这种情况主办方会对所有队员进行通知公告。在 GameBox 状态墙上的状态会显示该题的各队 GameBox 大面积不可用。&lt;br /&gt;
&lt;br /&gt;
对于敌方 GameBox。我们可以获取以下信息。&lt;br /&gt;
&lt;br /&gt;
# 根据攻击流观测哪些队伍的 GameBox 没有防御成功。针对这些队伍可以更多地实现攻击&lt;br /&gt;
# 有队伍拿出一血时。可以根据各队 GameBox 状态推断出一血队伍是否已经写出利用脚本。写出利用脚本后可以观测己方是否做好了防御。&lt;br /&gt;
&lt;br /&gt;
== 分清区段与端口 ==&lt;br /&gt;
&lt;br /&gt;
比赛过程中会主办方会安排好合理的网段分布。&lt;br /&gt;
&lt;br /&gt;
维护的时候需要连接到本队 GameBox 所在网段上，根据主办方提供的 CTF 账号与密码登录。而与其他队伍的 GameBox 交互时则需要连接到对应的网段里与漏洞程序进行交互。提交 flag 则需要到指定的答题平台上提交。&lt;br /&gt;
&lt;br /&gt;
!!! warning 这里尤其需要注意的就是端口。如果端口在不轻易间弄错的话，这样的错误是挺难察觉到的，而这样的失误也会带来不必要的损失。甚至会出现长时间无法提交 flag 的致命情况。所以需要小心注意。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;服务-patch-与防御&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 服务 patch 与防御 ==&lt;br /&gt;
&lt;br /&gt;
# 程序 patch 要合理并同时符合裁判系统 check 条件。虽然系统的 check 并未公开是 check 哪里，但是一般情况下，系统是不会过度为难的。&lt;br /&gt;
# 程序 patch 使用 IDA 进行修改，IDA 提供了三种方式的 patch：byte，word，assemble.其中字节码修改比较好用。因为逐字节修改不需考虑汇编指令，一般这样的修改改动也很小，在一定场合下十分好用。汇编指令级别的修改虽然方便不需要修改字节码，但是也造成了一定的不便。比如需要额外考虑汇编指令的长度，结构是否合理完整，逻辑是否和原来一样，修改的汇编指令是否合法等问题。&lt;br /&gt;
# 在 patch 程序时要记得备份原来的漏洞程序，以供队伍分析使用。在上传 patch 的时候应该先删除原来的漏洞程序，然后将 patch 过的程序复制进去，复制进去之后还需要给程序赋予相应的权限。&lt;br /&gt;
# 一般比赛中，漏洞程序会有十几处需要 patch 的地方。Patch 的时候不仅要讲究有效合理，还要满足能够在一定程度上防范或混淆对手的分析。&lt;br /&gt;
&lt;br /&gt;
== 构造脚本框架快速展开攻击 ==&lt;br /&gt;
&lt;br /&gt;
在攻防比赛过程中，一血显得尤其重要。因此有一个攻击脚本框架是非常有利的。快速开发攻击脚本，可以在前期保持优势地位，也可以在不断拿分的同时省下时间去做好防御。&lt;br /&gt;
&lt;br /&gt;
== 比赛的一些策略 ==&lt;br /&gt;
&lt;br /&gt;
# 在比赛过程中，不宜死耗在一道题上，由于一血的优势性，在比赛过程中更应该全面了解赛题难度，先从 &amp;#039;&amp;#039;&amp;#039;简单题&amp;#039;&amp;#039;&amp;#039; 开始进行分析，步步为营。&lt;br /&gt;
# 比赛过程中，两极会严重分化。应该着力打击和自己实力相当和比自己队伍更强的队伍，尤其是分数相差无几的情况下，更要严防严守。&lt;br /&gt;
# 比赛中 NPC 会不定时发出攻击流量。从攻击流量中可以得到 payload。&lt;br /&gt;
# 一定要把 NPC 往死里打。&lt;br /&gt;
# 在开赛初可以将所有的管理密码都设置为同一个密码，这样方便队员登录管理。在初期将所有文件备份下来供队内分享。&lt;br /&gt;
&lt;br /&gt;
[[Category: Ctf_Intro]]&lt;/div&gt;</summary>
		<author><name>127.0.0.1</name></author>
	</entry>
</feed>