Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fuzzBackEnd
Overview
Overview
Details
Activity
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
钱炳权
fuzzBackEnd
Commits
970ef118
Commit
970ef118
authored
a year ago
by
钱炳权
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
24/4/7 生成方法、协议模板、漏洞类型、变异方法,接口功能开发完成
parent
13284f0d
master
…
dev
qbq-dev
zhongshan
1 merge request
!1
Dev
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
231 additions
and
47 deletions
+231
-47
mutationConstent.java
.../com/example/fuzzControll/constents/mutationConstent.java
+3
-2
protocolConstent.java
.../com/example/fuzzControll/constents/protocolConstent.java
+35
-2
vulnerabilityTypeConstent.java
...ple/fuzzControll/constents/vulnerabilityTypeConstent.java
+0
-5
testClassController.java
.../example/fuzzControll/controller/testClassController.java
+15
-8
generateMethodServiceImpl.java
.../fuzzControll/service/impl/generateMethodServiceImpl.java
+29
-6
mutationServiceImpl.java
...xample/fuzzControll/service/impl/mutationServiceImpl.java
+105
-19
protocolTemplateImpl.java
...ample/fuzzControll/service/impl/protocolTemplateImpl.java
+0
-0
vulnerabilityTypeServiceImpl.java
...zzControll/service/impl/vulnerabilityTypeServiceImpl.java
+26
-5
regularTools.java
...ain/java/com/example/fuzzControll/tools/regularTools.java
+4
-0
testTools.java
...c/main/java/com/example/fuzzControll/tools/testTools.java
+14
-0
No files found.
fuzzbackend/src/main/java/com/example/fuzzControll/constents/mutationConstent.java
View file @
970ef118
package
com
.
example
.
fuzzControll
.
constents
;
public
class
mutationConstent
{
public
static
final
String
GET_FILE_NAME
=
"ls -h "
;
public
static
final
String
TEST_GRANULARITY_BIT_BYTE
=
"test_granularity_bit_byte.py "
;
public
static
final
String
TEST_MUTATED_LIBS
=
"test_mutated_libs.py "
;
public
static
final
String
TEST_MUTATION_STRATEGY
=
"test_mutation_strategy.py "
;
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/constents/protocolConstent.java
View file @
970ef118
package
com
.
example
.
fuzzControll
.
constents
;
public
class
protocolConstent
{
public
static
final
String
RAW
=
"arp_raw.py "
;
public
static
final
String
ARP
=
"arp_raw.py "
;
public
static
final
String
BGP
=
"bgp_tcp.py "
;
public
static
final
String
DHCP
=
"dhcp_scapy.py "
;
public
static
final
String
DNS
=
"dns_scapy.py "
;
...
...
@@ -9,5 +9,38 @@ public class protocolConstent {
public
static
final
String
FTP
=
"ftp_raw.py "
;
public
static
final
String
HDLC
=
"hdlc_raw.py "
;
public
static
final
String
HTTP_DOS_QUMU
=
"http_dos_qemu.py "
;
//todo 还有一堆协议需要写
public
static
final
String
ICMP
=
"icmp_raw.py "
;
public
static
final
String
IGMPV1
=
"igmpv1_raw.py "
;
public
static
final
String
IGMPV2
=
"igmpv2_raw.py "
;
public
static
final
String
IMAP
=
"imap_tcp.py "
;
public
static
final
String
RADIUS
=
"radius_udp.py "
;
public
static
final
String
SIP
=
"sip_raw.py "
;
public
static
final
String
RPC
=
"rpc_udp.py "
;
public
static
final
String
SSL
=
"ssl_raw.py "
;
public
static
final
String
SSH
=
"ssh_raw.py "
;
public
static
final
String
NFS
=
"nfs_tcp.py "
;
public
static
final
String
NNTP
=
"nntp_tcp.py "
;
public
static
final
String
NTP
=
"ntp_scapy.py "
;
public
static
final
String
SNMP
=
"snmp_udp.py "
;
public
static
final
String
UPNP
=
"upnp_tcp.py "
;
public
static
final
String
RARP
=
"rarp_raw.py "
;
public
static
final
String
LLDP
=
"lldp_raw.py "
;
public
static
final
String
MSTP
=
"mstp_raw.py "
;
public
static
final
String
PPP
=
"ppp_raw.py "
;
public
static
final
String
PPPOE
=
"pppoe_raw.py "
;
public
static
final
String
STP
=
"stp_raw.py "
;
public
static
final
String
VLAN
=
"vlan_raw.py "
;
public
static
final
String
OSPF
=
"ospf_raw.py "
;
public
static
final
String
ISIS
=
"isis_raw.py "
;
public
static
final
String
IP
=
"ip_raw.py "
;
public
static
final
String
TELNET
=
"telnet_tcp.py "
;
public
static
final
String
POP3
=
"pop_tcp.py "
;
public
static
final
String
IPSEC
=
"ipsec_raw.py "
;
public
static
final
String
HTTPS
=
"https_raw.py "
;
public
static
final
String
RIP
=
"rip_raw.py "
;
public
static
final
String
NETBIOS
=
"netbios_nbns_udp.py "
;
public
static
final
String
SHARP
=
"sharp_udp.py "
;
public
static
final
String
TFTP
=
"tftp_scapy_field.py "
;
public
static
final
String
UDP
=
"udp_raw.py "
;
public
static
final
String
TCP
=
"tcp_raw.py "
;
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/constents/vulnerabilityTypeConstent.java
deleted
100644 → 0
View file @
13284f0d
package
com
.
example
.
fuzzControll
.
constents
;
public
class
vulnerabilityTypeConstent
{
public
static
final
String
ARRAY_INDEX_OUT_OF_BOUNDS_VULNERABILIT
=
"0"
;
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/controller/testClassController.java
View file @
970ef118
...
...
@@ -3,7 +3,7 @@ package com.example.fuzzControll.controller;
import
com.example.fuzzControll.pojo.vo.AjaxResult
;
import
com.example.fuzzControll.pojo.vo.testEntity
;
import
com.example.fuzzControll.service.generateMethodService
;
import
com.example.fuzzControll.service.
getServerMessage
Service
;
import
com.example.fuzzControll.service.
mutation
Service
;
import
com.example.fuzzControll.service.protocolTemplateService
;
import
com.example.fuzzControll.service.vulnerabilityTypeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -12,6 +12,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
/**
* 不同类型的测试方法
*/
...
...
@@ -21,7 +24,7 @@ public class testClassController {
@Autowired
generateMethodService
generateMethodService
;
@Autowired
getServerMessageService
getServerMessage
Service
;
mutationService
mutation
Service
;
@Autowired
protocolTemplateService
protocolTemplateService
;
@Autowired
...
...
@@ -32,7 +35,8 @@ public class testClassController {
@RequestMapping
(
value
=
"/protocolTemplate"
,
method
=
RequestMethod
.
POST
)
public
AjaxResult
protocolTemplate
(
@RequestBody
testEntity
testEntity
)
{
try
{
return
AjaxResult
.
success
(
protocolTemplateService
.
generation
(
testEntity
));
Map
<
String
,
List
<
String
>>
result
=
protocolTemplateService
.
generation
(
testEntity
);
return
AjaxResult
.
success
(
result
==
null
?
"模板文件生成未成功运行"
:
result
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"模板文件生成失败!"
);
}
...
...
@@ -44,9 +48,10 @@ public class testClassController {
@RequestMapping
(
value
=
"/generate"
,
method
=
RequestMethod
.
POST
)
public
AjaxResult
generate
(
@RequestBody
testEntity
testEntity
)
{
try
{
return
AjaxResult
.
success
(
generateMethodService
.
generation
(
testEntity
));
Map
<
String
,
List
<
String
>>
result
=
generateMethodService
.
generation
(
testEntity
);
return
AjaxResult
.
success
(
result
==
null
?
"生成方法未成功运行"
:
result
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"
变异
方法使用失败!"
);
return
AjaxResult
.
error
(
"
生成
方法使用失败!"
);
}
}
...
...
@@ -54,9 +59,10 @@ public class testClassController {
*变异方法
*/
@RequestMapping
(
value
=
"/mutation"
,
method
=
RequestMethod
.
POST
)
public
AjaxResult
mutation
()
{
public
AjaxResult
mutation
(
@RequestBody
testEntity
testEntity
)
{
try
{
return
AjaxResult
.
success
(
getServerMessageService
.
getStats
());
Map
<
String
,
List
<
String
>>
result
=
mutationService
.
generation
(
testEntity
);
return
AjaxResult
.
success
(
result
==
null
?
"mutationTest未成功运行"
:
result
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"mutationTest失败!"
);
}
...
...
@@ -68,7 +74,8 @@ public class testClassController {
@RequestMapping
(
value
=
"/vulnerabilityType"
,
method
=
RequestMethod
.
POST
)
public
AjaxResult
upload
(
@RequestBody
testEntity
testEntity
)
{
try
{
return
AjaxResult
.
success
(
vulnerabilityTypeService
.
generation
(
testEntity
));
Map
<
String
,
List
<
String
>>
result
=
vulnerabilityTypeService
.
generation
(
testEntity
);
return
AjaxResult
.
success
(
result
==
null
?
"漏洞类型未成功运行"
:
result
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"漏洞类型测试失败!"
);
}
...
...
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/service/impl/generateMethodServiceImpl.java
View file @
970ef118
...
...
@@ -4,6 +4,7 @@ import com.example.fuzzControll.conf.kittyProperties;
import
com.example.fuzzControll.pojo.vo.testEntity
;
import
com.example.fuzzControll.service.generateMethodService
;
import
com.example.fuzzControll.tools.cmdTools
;
import
com.example.fuzzControll.tools.testTools
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -19,22 +20,45 @@ public class generateMethodServiceImpl implements generateMethodService {
kittyProperties
kitty
;
@Override
public
Map
<
String
,
List
<
String
>>
generation
(
testEntity
testEntity
)
{
public
Map
<
String
,
List
<
String
>>
generation
(
testEntity
testEntity
)
{
String
cmd
=
parseParameters
(
testEntity
);
if
(
cmd
.
isEmpty
())
{
return
null
;
}
return
cmdTools
.
runProgramCmdAndResult
(
cmd
);
}
public
String
parseParameters
(
testEntity
testEntity
)
{
switch
(
testEntity
.
getTestClassName
().
toLowerCase
())
{
case
"foreach"
:
return
foreachCmd
(
testEntity
);
return
cmd
(
testEntity
,
"-f"
);
case
"repeat"
:
return
cmd
(
testEntity
,
"-r"
);
case
"oneof"
:
return
cmd
(
testEntity
,
"-o"
);
case
"switch"
:
return
cmd
(
testEntity
,
"-s"
);
case
"pad"
:
return
cmd
(
testEntity
,
"-p"
);
case
"template"
:
return
cmd
(
testEntity
,
"-t"
);
case
"meta"
:
return
cmd
(
testEntity
,
"-m"
);
case
"if"
:
return
cmd
(
testEntity
,
"-c"
);
case
"ifnot"
:
return
cmd
(
testEntity
,
"-e"
);
case
"trunc"
:
//have error
return
cmd
(
testEntity
,
"-u"
);
default
:
log
.
error
(
"未知变异方法![{}]"
,
testEntity
.
getTestClassName
());
return
null
;
}
}
private
String
foreachCmd
(
testEntity
testEntity
)
{
private
String
cmd
(
testEntity
testEntity
,
String
cmd
)
{
if
(!
testTools
.
paramsLenghtTest
(
testEntity
.
getParamJson
().
length
,
5
,
"generationMethod"
))
return
""
;
String
target_host
=
null
;
String
target_port
=
null
;
String
s1
=
null
;
...
...
@@ -47,9 +71,8 @@ public class generateMethodServiceImpl implements generateMethodService {
s2
=
testEntity
.
getParamJson
()[
3
];
s3
=
testEntity
.
getParamJson
()[
4
];
}
catch
(
Exception
e
)
{
log
.
error
(
"
http_dos_qemu
参数解析失败!"
);
log
.
error
(
"
生成方法
参数解析失败!"
);
}
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMethodPath
()
+
"generate_method_test.py
-f "
+
s1
+
" "
+
s2
+
" "
+
s3
+
" --host="
+
target_host
+
" --port="
+
target_port
;
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMethodPath
()
+
"generate_method_test.py
"
+
cmd
+
" "
+
s1
+
" "
+
s2
+
" "
+
s3
+
" --host="
+
target_host
+
" --port="
+
target_port
;
}
//todo 还有很多生成方法
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/service/impl/mutationServiceImpl.java
View file @
970ef118
package
com
.
example
.
fuzzControll
.
service
.
impl
;
import
com.example.fuzzControll.conf.kittyProperties
;
import
com.example.fuzzControll.constents.mutationConstent
;
import
com.example.fuzzControll.pojo.vo.testEntity
;
import
com.example.fuzzControll.service.mutationService
;
import
com.example.fuzzControll.tools.cmdTools
;
import
com.example.fuzzControll.tools.testTools
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -13,44 +15,127 @@ import java.util.Map;
@Service
(
"mutationService"
)
@Slf4j
public
class
mutationServiceImpl
implements
mutationService
{
class
mutationServiceImpl
implements
mutationService
{
cmdTools
cmdTools
=
new
cmdTools
();
@Autowired
kittyProperties
kitty
;
@Override
public
Map
<
String
,
List
<
String
>>
generation
(
testEntity
testEntity
)
{
public
Map
<
String
,
List
<
String
>>
generation
(
testEntity
testEntity
)
{
String
cmd
=
parseParameters
(
testEntity
);
if
(
cmd
.
isEmpty
())
{
return
null
;
}
return
cmdTools
.
runProgramCmdAndResult
(
cmd
);
}
public
String
parseParameters
(
testEntity
testEntity
)
{
switch
(
testEntity
.
getTestClassName
().
toLowerCase
())
{
case
"foreach"
:
return
foreachCmd
(
testEntity
);
case
"bit"
:
return
variationGranularityCmd
(
testEntity
,
1
);
case
"byte"
:
return
variationGranularityCmd
(
testEntity
,
2
);
case
"sqlinjection"
:
return
distortionLibCmd
(
testEntity
,
2
);
case
"commandinjection"
:
return
distortionLibCmd
(
testEntity
,
1
);
case
"outofbuffer"
:
return
distortionLibCmd
(
testEntity
,
3
);
case
"directorytraversal"
:
return
distortionLibCmd
(
testEntity
,
4
);
case
"8-bitinteger"
:
return
distortionLibCmd
(
testEntity
,
5
);
case
"16-bitinteger"
:
return
distortionLibCmd
(
testEntity
,
6
);
case
"32-bitinteger"
:
return
distortionLibCmd
(
testEntity
,
7
);
case
"bitflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
8
);
case
"twobitflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
9
);
case
"fourbitflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
10
);
case
"byteflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
11
);
case
"wordflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
12
);
case
"dwordflip"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
13
);
case
"blockremove"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
14
);
case
"blockduplicate"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
15
);
case
"blockset"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
16
);
case
"bitflips"
:
//noresponse
return
distortionLibCmd
(
testEntity
,
17
);
case
"byteflips"
:
return
mutationStrategyCmd
(
testEntity
,
1
);
case
"interestint8muta"
:
return
mutationStrategyCmd
(
testEntity
,
2
);
case
"interestint16muta"
:
return
mutationStrategyCmd
(
testEntity
,
3
);
case
"interestint32muta"
:
return
mutationStrategyCmd
(
testEntity
,
4
);
case
"onebyterndom"
:
return
mutationStrategyCmd
(
testEntity
,
5
);
case
"mutibytesrandom"
:
return
mutationStrategyCmd
(
testEntity
,
6
);
case
"deleteonebyterandom"
:
return
mutationStrategyCmd
(
testEntity
,
7
);
case
"deletemutibytesrandom"
:
return
mutationStrategyCmd
(
testEntity
,
8
);
case
"shufflebytesrandom"
:
return
mutationStrategyCmd
(
testEntity
,
9
);
case
"swapadjointwobytes"
:
return
mutationStrategyCmd
(
testEntity
,
10
);
default
:
log
.
error
(
"未知变异方法![{}]"
,
testEntity
.
getTestClassName
());
return
null
;
}
}
private
String
foreachCmd
(
testEntity
testEntity
)
{
String
target_host
=
null
;
String
target_port
=
null
;
String
s1
=
null
;
String
s2
=
null
;
String
s3
=
null
;
private
String
distortionLibCmd
(
testEntity
testEntity
,
int
methodNum
)
{
if
(!
testTools
.
paramsLenghtTest
(
testEntity
.
getParamJson
().
length
,
2
,
"distortionLib"
+
methodNum
))
return
""
;
String
dst_ip
=
null
;
String
dst_port
=
null
;
try
{
dst_ip
=
testEntity
.
getParamJson
()[
0
];
dst_port
=
testEntity
.
getParamJson
()[
1
];
}
catch
(
Exception
e
)
{
log
.
error
(
"distortionLib [{}] 参数解析失败!"
,
methodNum
);
}
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMutationPath
()
+
mutationConstent
.
TEST_MUTATED_LIBS
+
" -g "
+
methodNum
+
" -d "
+
dst_ip
+
" -p "
+
dst_port
;
}
private
String
variationGranularityCmd
(
testEntity
testEntity
,
int
methodNum
)
{
if
(!
testTools
.
paramsLenghtTest
(
testEntity
.
getParamJson
().
length
,
2
,
"variationGranularity"
+
methodNum
))
return
""
;
String
dst_ip
=
null
;
String
dst_port
=
null
;
try
{
dst_ip
=
testEntity
.
getParamJson
()[
0
];
dst_port
=
testEntity
.
getParamJson
()[
1
];
}
catch
(
Exception
e
)
{
log
.
error
(
"variationGranularity [{}] 参数解析失败!"
,
methodNum
);
}
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMutationPath
()
+
mutationConstent
.
TEST_GRANULARITY_BIT_BYTE
+
" -g "
+
methodNum
+
" -d "
+
dst_ip
+
" -p "
+
dst_port
;
}
private
String
mutationStrategyCmd
(
testEntity
testEntity
,
int
methodNum
)
{
if
(!
testTools
.
paramsLenghtTest
(
testEntity
.
getParamJson
().
length
,
2
,
"mutationStrategy"
+
methodNum
))
return
""
;
String
dst_ip
=
null
;
String
dst_port
=
null
;
try
{
target_host
=
testEntity
.
getParamJson
()[
0
];
target_port
=
testEntity
.
getParamJson
()[
1
];
s1
=
testEntity
.
getParamJson
()[
2
];
s2
=
testEntity
.
getParamJson
()[
3
];
s3
=
testEntity
.
getParamJson
()[
4
];
dst_ip
=
testEntity
.
getParamJson
()[
0
];
dst_port
=
testEntity
.
getParamJson
()[
1
];
}
catch
(
Exception
e
)
{
log
.
error
(
"
http_dos_qemu参数解析失败!"
);
log
.
error
(
"
mutationStrategy [{}] 参数解析失败!"
,
methodNum
);
}
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMutationPath
()
+
"generate_method_test.py -f "
+
s1
+
" "
+
s2
+
" "
+
s3
+
" --host="
+
target_host
+
" --port="
+
targe
t_port
;
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getMutationPath
()
+
mutationConstent
.
TEST_MUTATION_STRATEGY
+
" -g "
+
methodNum
+
" -d "
+
dst_ip
+
" -p "
+
ds
t_port
;
}
//todo 还有很多生成方法
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/service/impl/protocolTemplateImpl.java
View file @
970ef118
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/service/impl/vulnerabilityTypeServiceImpl.java
View file @
970ef118
package
com
.
example
.
fuzzControll
.
service
.
impl
;
import
com.example.fuzzControll.conf.kittyProperties
;
import
com.example.fuzzControll.constents.vulnerabilityTypeConstent
;
import
com.example.fuzzControll.pojo.vo.testEntity
;
import
com.example.fuzzControll.service.vulnerabilityTypeService
;
import
com.example.fuzzControll.tools.cmdTools
;
...
...
@@ -27,16 +26,38 @@ public class vulnerabilityTypeServiceImpl implements vulnerabilityTypeService {
public
String
parseParameters
(
testEntity
testEntity
)
{
switch
(
testEntity
.
getTestClassName
().
toLowerCase
())
{
case
"array_index_out_of_bounds_vulnerabilit"
:
return
arrayIndexOutOfBoundsVulnerabilitCmd
(
testEntity
);
case
"array_index_out_of_bounds_vulnerabilit"
:
//have error
return
cmd
(
testEntity
,
0
);
case
"boundary_condition_vulnerability"
:
//have error
return
cmd
(
testEntity
,
1
);
case
"buffer_overflow_vulnerability"
:
//have error
return
cmd
(
testEntity
,
2
);
case
"command_injection_vulnerability"
:
//have error
return
cmd
(
testEntity
,
3
);
case
"memory_duplicate_release_vulnerability"
:
//have error
return
cmd
(
testEntity
,
4
);
case
"format_string_vulnerability"
:
//have error
return
cmd
(
testEntity
,
5
);
case
"integer_overflow_vulnerability"
:
//have error
return
cmd
(
testEntity
,
6
);
case
"numeric_error_vulnerabilit"
:
//have error
return
cmd
(
testEntity
,
7
);
case
"symbol_extension_vulnerability"
:
//have error
return
cmd
(
testEntity
,
8
);
case
"uaf_vulnerabilit"
:
//have error
return
cmd
(
testEntity
,
9
);
case
"cross_script_vulnerability"
:
//have error
return
cmd
(
testEntity
,
10
);
case
"sql_injection_vulnerabilit"
:
//have error
return
cmd
(
testEntity
,
11
);
default
:
log
.
error
(
"未知漏洞![{}]"
,
testEntity
.
getTestClassName
());
return
null
;
}
}
private
String
arrayIndexOutOfBoundsVulnerabilitCmd
(
testEntity
testEntity
)
{
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getVulnerabilityTypePath
()
+
"vul_types_test.py "
+
vulnerabilityTypeConstent
.
ARRAY_INDEX_OUT_OF_BOUNDS_VULNERABILIT
;
private
String
cmd
(
testEntity
testEntity
,
int
kindNum
)
{
return
kitty
.
getVenvPath
()
+
" "
+
kitty
.
getVulnerabilityTypePath
()
+
"vul_types_test.py "
+
kindNum
;
}
//todo 还有很多类型要写
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/tools/regularTools.java
0 → 100644
View file @
970ef118
package
com
.
example
.
fuzzControll
.
tools
;
//todo 对ip等增加正则判断
public
class
regularTools
{
}
This diff is collapsed.
Click to expand it.
fuzzbackend/src/main/java/com/example/fuzzControll/tools/testTools.java
0 → 100644
View file @
970ef118
package
com
.
example
.
fuzzControll
.
tools
;
import
lombok.extern.slf4j.Slf4j
;
@Slf4j
public
class
testTools
{
public
static
boolean
paramsLenghtTest
(
int
paramsLen
,
int
needParamsLen
,
String
name
){
Boolean
isOk
=
paramsLen
==
needParamsLen
;
if
(!
isOk
){
log
.
error
(
"[{}]所需参数与获取参数不符!"
,
name
);
}
return
isOk
==
true
?
true
:
false
;
}
}
This diff is collapsed.
Click to expand it.
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