mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-09-27 20:24:54 +02:00
List Subdomain api modified for no interesting models
This commit is contained in:
@@ -7,6 +7,19 @@ from scanEngine.models import *
|
||||
from django.db.models import F, JSONField, Value
|
||||
|
||||
|
||||
class OnlySubdomainNameSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Subdomain
|
||||
fields = ['name', 'id']
|
||||
|
||||
|
||||
class ScanHistorySerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ScanHistory
|
||||
fields = '__all__'
|
||||
depth = 1
|
||||
|
||||
|
||||
class OrganizationSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
|
||||
+3
-2
@@ -6,9 +6,9 @@ from .views import *
|
||||
app_name = 'api'
|
||||
router = routers.DefaultRouter()
|
||||
|
||||
router.register(r'scanHistory', SubdomainViewset)
|
||||
router.register(r'listDatatableSubdomain', SubdomainDatatableViewSet)
|
||||
|
||||
router.register(r'listSubdomains', ListSubdomainsViewSet)
|
||||
router.register(r'listSubdomains', SubdomainsViewSet)
|
||||
|
||||
router.register(r'listEndpoints', EndPointViewSet)
|
||||
|
||||
@@ -44,6 +44,7 @@ urlpatterns = [
|
||||
path('queryTargetsInOrganization/', ListTargetsInOrganization.as_view(), name='queryTargetsInOrganization'),
|
||||
path('listOrganizations/', ListOrganizations.as_view(), name='listOrganizations'),
|
||||
path('listEngines/', ListEngines.as_view(), name='listEngines'),
|
||||
path('listScanHistory/', ListScanHistory.as_view(), name='listScanHistory'),
|
||||
]
|
||||
|
||||
urlpatterns += router.urls
|
||||
|
||||
+26
-20
@@ -17,6 +17,14 @@ from startScan.models import *
|
||||
from targetApp.models import *
|
||||
|
||||
|
||||
class ListScanHistory(APIView):
|
||||
def get(self, request, format=None):
|
||||
req = self.request
|
||||
scan_history = ScanHistory.objects.all().order_by('-start_scan_date')
|
||||
scan_history = ScanHistorySerializer(scan_history, many=True)
|
||||
return Response({'scan_histories': scan_history.data})
|
||||
|
||||
|
||||
class ListEngines(APIView):
|
||||
def get(self, request, format=None):
|
||||
req = self.request
|
||||
@@ -207,27 +215,25 @@ class ListSubdomains(APIView):
|
||||
ip_address = req.query_params.get('ip_address')
|
||||
port = req.query_params.get('port')
|
||||
tech = req.query_params.get('tech')
|
||||
if scan_id and ip_address:
|
||||
subdomain = Subdomain.objects.filter(
|
||||
ip_addresses__address=ip_address).filter(
|
||||
scan_history__id=scan_id)
|
||||
serializer = SubdomainSerializer(subdomain, many=True)
|
||||
return Response({"subdomains": serializer.data})
|
||||
elif scan_id and tech:
|
||||
subdomain = Subdomain.objects.filter(
|
||||
technologies__name=tech).filter(
|
||||
scan_history__id=scan_id)
|
||||
serializer = SubdomainSerializer(subdomain, many=True)
|
||||
return Response({"subdomains": serializer.data})
|
||||
elif scan_id and port:
|
||||
subdomain = Subdomain.objects.filter(
|
||||
subdomain_query = Subdomain.objects.filter(scan_history__id=scan_id)
|
||||
|
||||
if ip_address:
|
||||
subdomain_query = subdomain_query.filter(ip_addresses__address=ip_address)
|
||||
|
||||
if tech:
|
||||
subdomain_query = subdomain_query.filter(technologies__name=tech)
|
||||
|
||||
if port:
|
||||
subdomain_query = subdomain_query.filter(
|
||||
ip_addresses__in=IpAddress.objects.filter(
|
||||
ports__in=Port.objects.filter(
|
||||
number=port))).filter(
|
||||
scan_history=scan_id)
|
||||
serializer = SubdomainSerializer(subdomain, many=True)
|
||||
return Response({"subdomains": serializer.data})
|
||||
number=port)))
|
||||
|
||||
if 'no_lookup_interesting' in req.query_params:
|
||||
serializer = OnlySubdomainNameSerializer(subdomain_query, many=True)
|
||||
else:
|
||||
serializer = SubdomainSerializer(subdomain_query, many=True)
|
||||
return Response({"subdomains": serializer.data})
|
||||
|
||||
class ListOsintUsers(APIView):
|
||||
def get(self, request, format=None):
|
||||
@@ -299,7 +305,7 @@ class IpAddressViewSet(viewsets.ModelViewSet):
|
||||
queryset, self.request, view=self)
|
||||
|
||||
|
||||
class ListSubdomainsViewSet(viewsets.ModelViewSet):
|
||||
class SubdomainsViewSet(viewsets.ModelViewSet):
|
||||
queryset = Subdomain.objects.none()
|
||||
serializer_class = SubdomainSerializer
|
||||
|
||||
@@ -500,7 +506,7 @@ class InterestingEndpointViewSet(viewsets.ModelViewSet):
|
||||
queryset, self.request, view=self)
|
||||
|
||||
|
||||
class SubdomainViewset(viewsets.ModelViewSet):
|
||||
class SubdomainDatatableViewSet(viewsets.ModelViewSet):
|
||||
queryset = Subdomain.objects.none()
|
||||
serializer_class = SubdomainSerializer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user