deepseek本地部署+web图形化页面配置+对比其他ai模型

公众号:泷羽Sec-尘宇安全

前言

最近deepseek非常火,训练成本低,其预训练费用仅为OpenAI GPT-4o模型的不到十分之一,但是效果堪比OpenAI,使用深度思考,回答的问题很不错,啥都敢说

可惜惨遭ddos,导致官网注册用户都注册不了了,无法正常提供服务,不过我们可以进行本地部署,离线就可以使用,无需联网,即可本地使用。当然服务器多的,也可以在服务器上部署,这样大家都能用了。

如果嫌下载慢可以后台发送:deepseek 获取网盘下载地址

安装ollama

在官网点击Download下载对应系统的安装程序。

https://ollama.com/

如果C盘内存足够,可以直接安装

  • 默认是安装到C盘的,如果你想安装到指定目录可以在安装程序目录上方输入CMD打开命令行窗口

在弹出的命令行窗口内输入:

setx OLLAMA_MODELS F:\chatgpt_all\ollama

来修改环境变量OLLAMA_MODELS,将模型下载位置修改到F:\chatgpt_all\ollama目录,你也可以改为其他容量比较大的磁盘下的目录

  • 设置ollama服务启动配置:在弹出的命令行窗口内输入执行
setx OLLAMA_HOST 0.0.0.0
setx OLLAMA_ORIGINS *

之后默认一步一步安装即可

安装deepseek模型

之后来到ollama选择deepseek模型,第一就是

选择模型大小。正常情况下根据自己的显卡显存选择,比如显存8G就选择8B的模型

输入复制下来的命令

ollama run deepseek-r1:8b

等待一段时间,安装成功

其他命令

  • 查看当前安装的模型: ollama list
  • 安装其他模型:在 https://ollama.com/library 上查询模型名称,执行ollama run xx:xx进行安装,如安装gemma2:9b模型,ollama run gemma2:9b
  • 查询运行的模型:ollama ps

查看一下安装的模型,之前因为线下的ctf比赛,就使用过离线的ai了,之前对比过觉得阿里云的qwen比其他的都要好用,等下将他和deepseek-r1对比一下

集成ChatGPT-Next-Web界面

安装

下载之后默认安装即可

https://github.com/ChatGPTNextWeb/NextChat/releases/

配置

打开ChatGPT-Next-Web界面 设置,进行基础配置:

  • 配置服务商:选择Open Ai
  • 自定义模型名:选择 deepseek-r1:8b
  • 模型:选择 deepseek-r1:8b
  • 接口地址:http://127.0.0.1:11434

关闭配置页面。所有工作已经完成, 可以试试在ChatGPT-Next-Web 里点击 新的聊天,来与大模型进行聊天了。

问题解决:

  • ChatGPT-Next-Web无法聊天,提示failed to fetch: 可能是你没有执行setx OLLAMA_ORIGINS *,或者是你搞乱了步骤,先安装了ollama,然后在执行环境变量设置后没有重启ollama.
    • 解决方法-查看环境变量是否正常:执行set OLLAMA_ORIGINS 检查输出是否是OLLAMA_ORIGINS=*
    • 解决方法-重启ollama,且重新打开新命令行窗口运行ollma run。
  • ChatGPT-Next-Web无法聊天,提示gpt3.5tubo xxxx: 选择模型有误,在聊天窗口点击模型切换按钮,选择qwen2:7b模型
  • 模型运行缓慢:检查显卡是否正常
    • 显卡检查:执行nvidia-smi查看显存占用和显卡使用情况

对比qwen:7b和deepseek-r1:8b

由于是IT行业,所以就给一段漏洞代码让他们彼此分析一下,其实并不严谨,只供参考

给出下面的代码

分析下面代码的漏洞,给出利用步骤

<?php
//Multilingual. Not implemented yet.
//setcookie("lang","en.lang.php");
if (isset($_COOKIE['lang']))
{
	include("lang/".$_COOKIE['lang']); 
}
// Not implemented yet.
?>
<html>
<head>
<title>PwnLab Intranet Image Hosting</title>
</head>
<body>
<center>
<img src="images/pwnlab.png"><br />
[ <a href="/">Home</a> ] [ <a href="?page=login">Login</a> ] [ <a href="?page=upload">Upload</a> ]
<hr/><br/>
<?php
	if (isset($_GET['page']))
	{
		include($_GET['page'].".php"); 
	}
	else
	{
		echo "Use this server to upload and share image files inside the intranet";
	}
?>
</center>
</body>
</html>


<?php
session_start();
if (!isset($_SESSION['user'])) { die('You must be log in.'); }
?>
<html>
	<body>
		<form action='' method='post' enctype='multipart/form-data'>
			<input type='file' name='file' id='file' />
			<input type='submit' name='submit' value='Upload'/>
		</form>
	</body>
</html>
<?php 
if(isset($_POST['submit'])) {
	if ($_FILES['file']['error'] <= 0) {
		$filename  = $_FILES['file']['name'];
		$filetype  = $_FILES['file']['type'];
		$uploaddir = 'upload/'; 
		$file_ext  = strrchr($filename, '.');
		$imageinfo = getimagesize($_FILES['file']['tmp_name']);
		$whitelist = array(".jpg",".jpeg",".gif",".png"); 

		if (!(in_array($file_ext, $whitelist))) {
			die('Not allowed extension, please upload images only.');
		}

		if(strpos($filetype,'image') === false) {
			die('Error 001');
		}

		if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') { 
			die('Error 002');
		}

		if(substr_count($filetype, '/')>1){
			die('Error 003');
		}

		$uploadfile = $uploaddir . md5(basename($_FILES['file']['name'])).$file_ext;

		if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
			echo "<img src=\"".$uploadfile."\"><br />";
		} else {
			die('Error 4');
		}
	}
}

?>

deepseek-r1:8b

deepseek-r1:8b,分析非常多,数据量非常大,但是没有分析到利用点上面

输出的全部内容,不得不说,很详细

嗯,我现在需要仔细分析用户提供的PHP代码,找出其中的安全漏洞,并给出如何利用这些漏洞的步骤。让我一步一步地来思考。

首先,这个代码是一个简单的图片上传脚本,用户可以通过网页上传图片到服务器。这看起来是一个常见的任务,但由于涉及到文件上传和处理,可能存在多个安全隐患。

  1. 会话管理:代码中使用了session_start()来开始会话,并检查了$_SESSION['user']是否存在。如果没有,就显示登录信息。这里看起来有一定的会话管理,但具体实现是否完整呢?比如,用户是否需要注册或密码验证?

  2. 文件上传处理:使用了multipart/form-data,这在处理文件上传时是标准做法。但是,我注意到form action没有设置,默认为'',可能导致提交后无法正确处理。应该指定一个动作,比如upload.php或者当前脚本。

  3. 文件扩展名检查:使用了$whitelist = array(".jpg",".jpeg",".gif",".png");来过滤文件类型。这是好的,但可能需要更严格的检查,例如使用get_file_type()或其他方法验证实际文件类型是否与扩展名一致。

  4. MIME类型检查:使用了getimagesize()imageinfo['mime']来判断是否为图像文件。这是合理的,但可能存在一些遗漏,比如某些不常见的图片格式。

  5. 文件移动与存储:使用了move_uploaded_file()将文件保存到upload/目录,并生成一个带有MD5哈希和扩展名的文件名。这种方法可以避免重复上传,但如果没有正确处理可能导致文件覆盖或其他问题。

  6. 错误处理:在文件上传失败时,会显示“Error 4”等信息。这可能不够详细,有助于攻击者了解系统的反应。

  7. 包含外部文件:在multilingual部分和页面加载时有包含外部文件的代码。虽然这部分看起来没有被用于攻击,但如果不小心处理,可能会导致包含任意文件,比如.php或其他类型。

  8. cookie管理:设置了cookie来选择语言,但没有对cookie进行加密或验证,这可能存在跨站请求伪造(CSRF)的风险。

接下来,我需要逐一分析这些点,看看哪里可以被攻击者利用。

第一步:确定攻击面

  • 会话管理:如果用户能够绕过登录检查,访问受保护的页面。
  • 文件上传:允许用户上传任意格式的文件,但实际上只允许几种类型,可能有其他类型可以被上传并执行。
  • 包含外部文件:如果$_GET['page']可以被控制,攻击者可能通过将其设置为一个恶意文件路径来包含代码。

第二步:潜在的漏洞点

  1. 会话管理

    • 如果没有密码验证或其他身份验证措施,攻击者可以绕过$_SESSION['user']检查。
  2. 文件扩展名检查

    • 虽然只允许几种格式,但如果没有进一步验证文件类型,攻击者可能上传隐藏的恶意代码(如.php.jpg中的执行代码)。
  3. 包含外部文件

    • 如果$_GET['page']未过滤,攻击者可以将其设置为一个恶意路径,比如?page=shell.php,导致服务器包含该文件。
  4. form action空白

    • action=''可能导致提交后的数据以GET方式处理,而不是POST,这取决于服务器配置,但通常会自动处理。这点需要确认。
  5. 错误信息

    • 如果某些错误条件下显示出过多的信息,攻击者可以利用这些错误来推断服务器结构或配置。
  6. cookie管理

    • 如果没有防止跨站请求伪造(CSRF),攻击者可能通过设置特定cookie值来执行恶意操作。
  7. 文件移动与存储

    • 生成的文件名包含MD5哈希,理论上可以预防重复上传,但如果有缓存或其他方法,可以绕过这个机制。

第三步:如何利用这些漏洞

  1. 绕过登录检查

    • 攻击者可以直接访问受保护的页面,如果会话管理没有额外的验证。
  2. 上传非允许文件类型

    • 由于扩展名检查仅基于.jpg等,攻击者可能上传带有恶意代码的文件,比如.php.jpg中的执行代码。虽然服务器可能拒绝,但如果检查不严格,仍然有风险。
  3. 包含外部文件

    • 攻击者可以通过设置?page=evil.php来包含任意文件。如果页面加载逻辑允许,这会导致服务器返回该文件内容。
  4. CSRF攻击

    • 如果没有anti-CSRF tokens,攻击者可以伪造cookie或请求,执行恶意操作。
  5. 文件覆盖

    • 如果move_uploaded_file()不正确处理,攻击者可能覆盖现有文件或创建新的恶意文件。
  6. 信息泄露

    • 错误信息中的“Error 4”等可能提供服务器细节,帮助攻击者了解系统状态。

第四步:具体利用示例

假设攻击者想包含一个恶意PHP脚本shell.php,他可以尝试以下方法:

  1. 通过包含外部文件

    • 修改页面参数为?page=shell.php
  2. 绕过登录检查

    • 如果会话管理没有进一步的验证,攻击者可以直接访问受保护的页面。
  3. 上传恶意文件

    • 上传一个.jpg文件,但其中包含PHP代码。当用户查看图片时,这些代码可能被执行。
  4. 利用错误信息

    • 如果服务器返回详细错误信息,攻击者可以使用这些信息来推断更多细节。
  5. CSRF攻击

    • 创建一个请求,伪造cookie值,使其看起来是从受信任的来源发送的,从而执行恶意操作。

第五步:防御措施

  1. 加强会话管理

    • 增加身份验证层次,如密码或双因素认证。
  2. 严格的文件上传检查

    • 使用更严格的内容类型检测,拒绝不允许的格式,并且进行恶意代码扫描。
  3. 防止包含外部文件

    • 过滤$_GET['page']或其他参数,仅允许特定的值。
  4. 引入anti-CSRF tokens

    • 在每个表单或请求中添加token,并在提交时验证其一致性。
  5. 限制文件上传大小和类型

    • 设置最大文件大小限制,拒绝过大文件,并严格检查允许的格式。
  6. 日志记录与监控

    • 实时监控异常访问,及时发现并处理潜在攻击。
  7. 安全更新

    • 定期更新服务器软件和数据库,修复已知漏洞。

通过以上步骤,可以识别和利用系统中的潜在漏洞,同时实施相应的防御措施来保护系统免受攻击。

qwen:7b

qwen:7b,阿里云还是牛逼,直接找出了利用点

没有那么详细,而且有一些分析也不算很到位,但是找到了利用点
该代码存在多个安全漏洞,主要涉及输入验证不足、文件上传限制和权限控制问题。以下是利用步骤及分析:

漏洞1:未处理的外部脚本包含

//Multilingual. Not implemented yet.
//setcookie("lang","en.lang.php");
if (isset($_COOKIE['lang']))
{
	include("lang/".$_COOKIE['lang']); 
}

漏洞描述
这段代码允许通过设置lang cookie来动态加载多语言文件。然而,没有对加载的脚本进行安全检查或限制,这可能导致执行任意PHP代码。

利用步骤

  1. 注入恶意代码:用户可以构造一个包含恶意代码的URL,例如 http://example.com/index.php?page=login&lang=evil_code.php
  2. 服务器响应:当用户访问上述链接时,脚本会尝试加载并执行lang/evil_code.php中的内容。

漏洞2:未验证文件类型和扩展名

$whitelist = array(".jpg",".jpeg",".gif",".png"); 
if (!(in_array($file_ext, $whitelist))) {
	die('Not allowed extension, please upload images only.');
}

漏洞描述
代码仅检查上传的文件是否为允许的扩展名之一,但未对$filetype进行验证。这可能导致执行任意代码。

利用步骤

  1. 构造恶意文件:创建一个包含PHP代码的文件(例如 myfile.php),并尝试以其他类型上传。
  2. 上传和触发:通过提交表单上传该文件,试图绕过扩展名检查。

漏洞3:未验证MIME类型

if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') { 
	die('Error 002');
}

漏洞描述
代码仅检查文件是否为特定的图像类型,但未考虑$filetype的实际值。

利用步骤

  1. 构造恶意MIME类型:上传一个文件时使用自定义或不合法的MIME类型。
  2. 绕过验证:尝试通过上述类型的错误提示来上传非图像内容。

漏洞4:未限制文件路径

在处理上传文件时,代码可能暴露于目录遍历攻击:

$uploadfile = $uploaddir . md5(basename($_FILES['file']['name'])).$file_ext;

漏洞描述
通过构造特定的文件名或使用特殊字符,可能导致文件被写入到不期望的位置。

漏洞5:未处理上传错误

代码中对上传过程中的错误处理不足:

if ($_FILES['file']['error'] <= 0) {
    // ...
}

漏洞描述
仅检查$error是否小于等于0,而忽略可能的异常情况或非预期的行为。

演示利用步骤

  1. 注入恶意脚本:构造lang/evil_code.php并尝试通过设置lang cookie加载。
  2. 绕过文件类型验证:上传一个包含PHP代码的文件(如myfile.php),利用不正确的扩展名或MIME类型。
  3. 触发目录遍历和错误处理:上传具有特定命名策略的文件,试图利用路径构造漏洞或未处理的异常。

为了解决这些问题,应实施更严格的安全措施,包括:

  • 对外部脚本加载进行白名单过滤。
  • 严格验证并限制上传文件的类型、MIME类型和扩展名。
  • 确保文件上传路径安全,并使用安全的文件命名策略以避免目录遍历攻击。
  • 完善错误处理逻辑,确保对所有可能的异常情况进行妥善处理。

总结

毕竟只是7b和8b量级的

其实两款都非常优秀了,已经是市面上顶尖的ai模型,而且deepseek最高有671b,而qwen最高只有110b,所以在最高配置的情况下,开源的deepseek确实是第一了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Deepseek 接入Word处理对话框(隐藏密钥)

硅基流动邀请码&#xff1a;1zNe93Cp 邀请链接&#xff1a;网页链接 亲测deepseek接入word&#xff0c;自由调用对话&#xff0c;看截图有兴趣的复用代码&#xff08;当然也可以自己向deepseek提问&#xff0c;帮助你完成接入&#xff0c;但是提问逻辑不一样给出的答案是千差万…

从家庭IP到全球网络资源的无缝连接:Cliproxy的专业解决方案

数字化时代&#xff0c;家庭IP作为个人或家庭接入互联网的门户&#xff0c;其重要性日益凸显。然而&#xff0c;要实现从家庭IP到全球网络资源的无缝连接&#xff0c;并享受高效、安全、稳定的网络访问体验&#xff0c;往往需要借助专业的代理服务。Cliproxy&#xff0c;作为业…

微信点餐系统小程序ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…

牛客寒假集训营2

A 牛客传送门 代码如下: const int N2e610,M1e410; const int INF0x3f3f3f3f; const int mod998244353; ll n;void solve(){map<int,int>mp;mp[1]mp[2]mp[3]mp[5]mp[6]1;for(int i1;i<7;i){int a…

第3章 使用 Vue 脚手架

第3章 使用 Vue 脚手架 3.1 初始化脚手架3.1.1 说明3.1.2. 具体步骤3.1.3 分析脚手架结构1 总结2 细节分析1 配置文件2 src文件1 文件结构分析2 例子 3 public文件4 最终效果 3.2 ref属性3.3 props配置项3.4 mixin混入3.5 插件3.6 scoped样式3.7 Todo-list 案例3.7.1 组件化编码…

去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路

文章目录 去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路概述笔记打补丁之前打补丁之后 效果备注 END 去除install4j学习版生成的安装程序和主程序的neg弹窗的解决思路 概述 最近可能有修改openpnp源码并打包的需求。 openpnp2.2 用 install4j 10.0.5 来打包…

前后端服务配置

1、安装虚拟机&#xff08;VirtualBox或者vmware&#xff09;&#xff0c;在虚拟机上配置centos(选择你需要的Linux版本)&#xff0c;配置如nginx服务器等 1.1 VMware 下载路径Sign In注册下载 1.2 VirtualBox 下载路径https://www.virtualbox.org/wiki/Downloads 2、配置服…

基于javaweb的SpringBoot+MyBatis毕业设计选题答辩管理系统(源码+文档+部署讲解)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具技术框架适用功能说明eclipse/MyEclipse运行&#xff1a; ![在这里插入图片描述](https://i-blog.csdnimg.cn/dir…

【Elasticsearch】nested聚合

在 Elasticsearch 中&#xff0c;嵌套聚合&#xff08;nestedaggregation&#xff09;的语法形式用于对嵌套字段&#xff08;nestedfields&#xff09;进行聚合操作。嵌套字段是 Elasticsearch 中的一种特殊字段类型&#xff0c;用于存储数组中的对象&#xff0c;这些对象需要独…

Linux第106步_Linux内核RTC驱动实验

1、了解rtc_device结构体 1)、打开“include/linux/rtc.h” rtc_class_ops是需要用户根据所使用的RTC设备编写的,其结构体如下: struct rtc_class_ops { int (*ioctl)(struct device *, unsigned int, unsigned long);/*函数指针ioctl*/ int (*read_time)(struct device *,…

微信小程序案例2——天气微信小程序(学会绑定数据)

文章目录 一、项目步骤1 创建一个weather项目2 进入index.wxml、index.js、index.wxss文件,清空所有内容,进入App.json,修改导航栏标题为“中国天气网”。3进入index.wxml,进行当天天气情况的界面布局,包括温度、最低温、最高温、天气情况、城市、星期、风行情况,代码如下…

Linux系统-centos防火墙firewalld详解

Linux系统-centos7.6 防火墙firewalld详解 1 firewalld了解 CentOS 7.6默认的防火墙管理工具是firewalld&#xff0c;它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙&#xff0c;与iptables一样&#xff0c;都是用来管理防火墙的工具&a…

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具&#xff0c;能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装&#xff0c;工具与部署资源包分离&#…

算法篇——动态规划

核心思想&#xff1a; 将问题分解为重叠的子问题&#xff0c;并储存子问题的解&#xff08;使用字典、数组或哈希表&#xff09;&#xff0c;避免重复计算&#xff0c;从而提高效率。 题目特点&#xff1a;重叠子问题&#xff08;特殊地&#xff0c;是最优子结构&#xff09; …

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码及效果展示

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码示例&#xff0c;使用Arduino语言&#xff1a; 硬件连接 INMP441 VCC → ESP32的3.3VINMP441 GND → ESP32的GNDINMP441 SCK → ESP32的GPIO 17INMP441 WS → ESP32的GPIO 18INMP441 SD → ESP32的GPIO 16RG…

零基础学习书生.浦语大模型--基础岛

第二关:玩转书生[多模态对话]和[AI搜索]产品 任务一&#xff1a;使用MindSearch 任务二&#xff1a;尝试使用书生.浦语 尝试让其写一段Self-Attention网络模块代码 import torch import torch.nn as nn import torch.nn.functional as Fclass SelfAttention(nn.Module):def _…

AWS Fargate

AWS Fargate 是一个由 Amazon Web Services (AWS) 提供的无服务器容器计算引擎。它使开发者能够运行容器化应用程序&#xff0c;而无需管理底层的服务器或虚拟机。简而言之&#xff0c;AWS Fargate 让你只需关注应用的容器本身&#xff0c;而不需要管理运行容器的基础设施&…

启明星辰发布MAF大模型应用防火墙产品,提升DeepSeek类企业用户安全

2月7日&#xff0c;启明星辰面向DeepSeek等企业级大模型业务服务者提供的安全防护产品——天清MAF&#xff08;Model Application Firewall&#xff09;大模型应用防火墙产品正式发布。 一个新赛道将被开启…… DeepSeek的低成本引爆赛道规模 随着DeepSeek成为当前最热的现象级…

Excel大数据量导入导出

github源码 地址&#xff08;更详细&#xff09; : https://github.com/alibaba/easyexcel 文档&#xff1a;读Excel&#xff08;文档已经迁移&#xff09; B 站视频 : https://www.bilibili.com/video/BV1Ff4y1U7Qc 一、JAVA解析EXCEL工具EasyExcel Java解析、生成Excel比较…

Coze(扣子)+ Deepseek:多Agents智能体协作开发新范式

前言 在当今数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技术的迅猛发展正深刻改变着我们的生活和工作方式。从智能语音助手到自动化流程机器人&#xff0c;AI 的应用无处不在&#xff0c;为我们提供了更加便捷、高效的服务。然而&#xff0c;对于非专业人士来…