大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。
🎀 当前专栏:基于Python的毕业设计
精彩专栏推荐👇🏻👇🏻👇🏻
💞微信小程序毕业设计
🎀 安卓app毕业设计
🌎Java毕业设计
源码下载地址:
https://download.csdn.net/download/m0_46388260/87891131
一、项目简介
本次通过渗透测试的方式可以进行模拟的攻击操作,通过搜集信息、探测、制定攻击策略等方式来对系统进行攻击地域检测,从而实现很好的漏洞检测功能的实现。通过此次的系统开发可以很好的以攻击检测的方式来实现对web的端口、网址进行有效的检测实现。
二、系统设计
2.1软件功能模块设计
此次的渗透测试工具是以Python语言的django框架来完成系统的功能模块搭建,以MySQL来实现数据对接实现,整体的开发上主要是以两个核心的功能开发为主,一个是web漏洞扫描,另一个是端口的漏洞扫描。通过这两个模块的设计可以完成主要的功能设计目标达成。而在其他的功能设计上,该系统工具还设计了一个能够完成注册和登录的模块,在该模块中可以为用户提供权限的获取通道。整体的设计上,通过面向对象的开发方式,能够有效的实现对系统的整体开发实现。设计如下图所示:
三、系统项目部分截图
3.1用户登录界面的实现
当输入网址之后,首先进入到的是系统的登录页面,在登录页面中需要输入用户的权限来完成认证,如果没有注册的与用户也能够点击下面的蓝色小字“去注册”来实现注册。此次设计的网站登录页面如下所示:
3.2渗透测试工具首页
当按照权限要求完成了登录之后,在web渗透测试工具首页显示有高危险漏洞、中危险以及低危险漏洞的数量,并且可以以环形图来进行展示,并且有着首页、web漏洞扫描、端口扫描三个菜单,如下图所示:
3.3WEB漏洞测试
在进入web漏洞测试页面中,需要在对话框中输入需要检测的URL地址,并且能够进行自动的全扫描、XSS扫描以及SQL注入扫描三大功能模块的实现。当扫描完成之后,整个系统中会在扫描列表中以图表的方式对网站的扫描结果进行展示,通过以不同颜色代表不同的风险类型来进行数字化的内容展示,如下图所示:
3.4 端口扫描测试
在端口扫描测试的过程中,与漏洞测试相仿,通在对话框中输入端口的字符串,点击扫描端口,系统会对端口进行漏洞的扫描,在扫描之后也会通过图表的形式来进行结果的展示。如下图所示:
四、论文目录
摘 要 2
Abstract 3
第1章 绪论 5
1.1 研究背景与意义 5
1.2 国内外研究现状和发展趋势 5
1.3 本论文主要工作及组织结构 6
1.3.1 论文主要研究工作 6
1.3.2 论文的组织结构 6
第2章 web安全评估及测试的介绍 8
2.1 渗透测试 8
2.2 web安全评估 8
第3章 渗透测试及安全评估的设计 10
3.1 漏洞渗透测试方法设计 10
3.2 SQL漏洞的设计 10
3.2.1 SQL注入漏洞的原理 10
3.3.2SQL注入漏洞的危害 10
3.4 scopy解析设计 10
3.5系统的设计可行性分析 11
3.5.1技术可行性 11
3.5.2经济可行性 11
3.5.3发展可行性 11
3.5.4操作可行性 12
第4章 设计成果展示 13
4.1 测试系统的搭建技术介绍 13
4.2用户登录界面的实现 13
4.2渗透测试工具首页 13
4.3WEB漏洞测试 14
4.4端口扫描测试 15
结论 17
致谢 18
参考文献 18文章来源:https://www.toymoban.com/news/detail-792127.html
五、部分核心代码
"""
Django settings for Sec_Tools project.
Generated by 'django-admin startproject' using Django 3.1.4.
For more information on this file, see
https://docs.djangoproject.com/en/3.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.1/ref/settings/
"""
import os
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'o=g9x)0%m*2xd9+=-@f38yeofw6_&u0#w=%d+@o$-(z+32+a0k'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR, "static")
# ]
STATIC_ROOT = os.path.join(BASE_DIR, "static")
# Application definition
INSTALLED_APPS = [
'simpleui',
'password_reset',
'import_export',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'webscan.apps.WebscanConfig',
'login.apps.LoginConfig',
'webscan_backend.apps.WebscanBackendConfig',
'dirscan.apps.DirscanConfig',
'vulnscan.apps.VulnscanConfig',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'security_tools.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.media',
],
},
},
]
WSGI_APPLICATION = 'security_tools.wsgi.application'
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sectools',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
# Password validation
# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.1/howto/static-files/
STATIC_URL = '/static/'
LOGIN_URL = '/login/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
#SimpleUi后台设置
#SIMPLEUI_LOGO = 'https://jwt1399.top//medias/logo.png' #登录页和后台logo
SIMPLEUI_LOGO = 'media/icons/favicon.ico' #登录页和后台logo
SIMPLEUI_ANALYSIS = False #是否向SimpleUi收集分析信息
SIMPLEUI_LOADING = False #是否打开Loading遮罩层
SIMPLEUI_LOGIN_PARTICLES = True #登录页粒子动画
SIMPLEUI_STATIC_OFFLINE = True #是否以脱机模式加载静态资源,为True的时候将默认从本地读取所有资源,即使没有联网一样可以。适合内网项目,不填该项或者为False的时候,默认从第三方的cdn获取
SIMPLEUI_HOME_INFO = False #是否打开SimpleUi服务器信息
SIMPLEUI_DEFAULT_THEME = 'simpleui.css' #默认主题 https://simpleui.88cto.com/docs/simpleui/QUICK.html#%E9%BB%98%E8%AE%A4%E4%B8%BB%E9%A2%98
SIMPLEUI_HOME_QUICK = True #后台页面是否显示最近动作
# AWVS URL和API key 服务器版本
API_URL = 'https://localhost:3443'
API_KEY = '1986ad8c0a5b3df4d7028d5f3c06e936cb6c7c10cafa544b4b455d45ec152eefd'
#自定义后台菜单
SIMPLEUI_CONFIG = {
'system_keep': False, #去除系统模块
'menus': [{
'name': '导航管理',
'icon': 'fas fa-book-open',
'models': [{
'name': '分类',
'icon': 'fas fa-list',
'url': '/admin/webscan/category/'
},{
'name': '条目',
'icon': 'fas fa-tags',
'url': '/admin/webscan/item/'
}]
}, {
'name': '端口列表',
'icon': 'fab fa-battle-net',
'url': '/admin/webscan/portlist/'
}, {
'name': '中间件扫描',
'icon': 'fab fa-battle-net',
'url': '/admin/vulnscan/middleware_vuln/'
}, {
'app': 'auth',
'name': '用户和授权',
'icon': 'fas fa-user-shield',
'models': [{
'name': '用户',
'icon': 'fa fa-user',
'url': 'auth/user/'
},{
'name': '权限组',
'icon': 'fas fa-users-cog',
'url': 'auth/group/'
}]
}, {
'name': '网页预览',
'icon': 'fas fa-paper-plane',
'models': [{
'name': 'Sec-Tools',
'url': 'http://127.0.0.1:8002/',
'icon': 'fas fa-user-secret'
}, {
'name': '简简',
'url': 'https://jwt1399.top',
'icon': 'fas fa-crown'
}]
}]
}
获取源码或论文
如需对应的论文或源码,也可以下方微信联系我文章来源地址https://www.toymoban.com/news/detail-792127.html
到了这里,关于基于Python+Django的毕业设计-web渗透测试工具(附源码+论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!