大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。
🎀当前专栏: Python毕业设计
精彩专栏推荐👇🏻👇🏻👇🏻
开发环境
- 开发语言:Python
- 数据库:mysql 5.7
- 数据库工具:Navicat12
- 开发软件:pycharm
- 浏览器:谷歌浏览器
源码下载地址:
https://download.csdn.net/download/2301_76953549/89062516
论文目录
【如需全文请按文末获取联系】
一、项目简介
本次通过以B/S结构搭建一款能够渗透检测工具,通过该工具的开发来进行web网页漏洞、web端口扫描的技术实现,通过在线的网站检测来查找网页是否存在漏洞的情况,对于网站达的后期升级、保护有着非常好的帮助作用,可以有效的检测出可能存在的漏洞,可以实现自动化的检测,能够更好地发现安全问题,实现漏洞的及时弥补。
二、系统设计
2.1软件功能模块设计
此次的渗透测试工具是以Python语言的django框架来完成系统的功能模块搭建,以MySQL来实现数据对接实现,整体的开发上主要是以两个核心的功能开发为主,一个是web漏洞扫描,另一个是端口的漏洞扫描。通过这两个模块的设计可以完成主要的功能设计目标达成。而在其他的功能设计上,该系统工具还设计了一个能够完成注册和登录的模块,在该模块中可以为用户提供权限的获取通道。整体的设计上,通过面向对象的开发方式,能够有效的实现对系统的整体开发实现。设计如下图所示:
三、系统项目部分截图
3.1用户登录界面的实现
当输入网址之后,首先进入到的是系统的登录页面,在登录页面中需要输入用户的权限来完成认证,如果没有注册的与用户也能够点击下面的蓝色小字“去注册”来实现注册。此次设计的网站登录页面如下所示:
3.2渗透测试工具首页
当按照权限要求完成了登录之后,在web渗透测试工具首页显示有高危险漏洞、中危险以及低危险漏洞的数量,并且可以以环形图来进行展示,并且有着首页、web漏洞扫描、端口扫描三个菜单,如下图所示:
3.3WEB漏洞测试
在进入web漏洞测试页面中,需要在对话框中输入需要检测的URL地址,并且能够进行自动的全扫描、XSS扫描以及SQL注入扫描三大功能模块的实现。当扫描完成之后,整个系统中会在扫描列表中以图表的方式对网站的扫描结果进行展示,通过以不同颜色代表不同的风险类型来进行数字化的内容展示,如下图所示:
3.4端口扫描测试
在端口扫描测试的过程中,与漏洞测试相仿,通在对话框中输入端口的字符串,点击扫描端口,系统会对端口进行漏洞的扫描,在扫描之后也会通过图表的形式来进行结果的展示。如下图所示:
四、部分核心代码
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.contrib.auth import authenticate, logout
from django.contrib.auth import login as Login
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.forms import UserCreationForm
import json
from .forms import RegisterForm
# Create your views here.
def login(request):
msg = {
'site_title': "web渗透测试技术",
'site_header': "web渗透测试技术登录",
'error': '',
'color': 'transparent',
}
if request.POST:
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is None:
msg['error'] = "用户名或密码错误!"
msg['color'] = "#fef0f0"
else:
Login(request, user)
return redirect("/index")
# print(user)
# print(msg)
return render(request, "login.html", msg)
def register(request):
# 只有当请求为 POST 时,才表示用户提交了注册信息
if request.method == 'POST':
# request.POST 是一个类字典数据结构,记录了用户提交的注册信息
# 这里提交的就是用户名(username)、密码(password)、邮箱(email)
# 用这些数据实例化一个用户注册表单
form = RegisterForm(request.POST)
# 验证数据的合法性
if form.is_valid():
# 如果提交数据合法,调用表单的 save 方法将用户数据保存到数据库
form.save()
# 注册成功,跳转回首页
return redirect('/login/')
else:
# 请求不是 POST,表明用户正在访问注册页面,展示一个空的注册表单给用户
form = RegisterForm()
# 渲染模板
# 如果用户正在访问注册页面,则渲染的是一个空的注册表单
# 如果用户通过表单提交注册信息,但是数据验证不合法,则渲染的是一个带有错误信息的表单
return render(request, 'register.html', context={'form': form})
def login_out(request):
logout(request) # 注销
return redirect("/index") # 页面跳转
获取源码或论文
如需对应的论文或源码,以及其他定制需求,也可以下方微❤联系。