35 lines
897 B
Python
35 lines
897 B
Python
#coding=utf-8
|
|
from rest_framework import serializers
|
|
from scanner.models import SqliScanTask
|
|
from scanner.tasks import SqlScanTask
|
|
|
|
|
|
class SqliScanTaskSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = SqliScanTask
|
|
fields = (
|
|
'url',
|
|
'id',
|
|
'task_id',
|
|
'target_url',
|
|
'target_host',
|
|
'target_path',
|
|
'target_param',
|
|
'target_method',
|
|
'scan_time',
|
|
'scan_status',
|
|
'scan_options',
|
|
'scan_log',
|
|
'scan_data',
|
|
'vulnerable',
|
|
)
|
|
|
|
def create(self, validated_data):
|
|
"""
|
|
如果数据合法就创建并返回一个 SqliScanTask 实例
|
|
"""
|
|
sqli = SqliScanTask.objects.create(**validated_data)
|
|
s = SqlScanTask(sqli)
|
|
s.run.delay(s)
|
|
return sqli
|