手撕代码练习
手撕代码递归70. 爬楼梯动态规划$f(x) = f(x-1)+f(x-2)$
1234567891011class Solution: def climbStairs(self, n: int) -> int: a = 1 b = 2 if n<=1: return a for i in range(n-2): sum = a + b a = b b = sum return b
112. 路径总和递归
12345678910111213# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclas ...
PHP反序列化
反序列化漏洞原理访问控制修饰符PHP的一个标准的类的定义如下
1234567891011121314151617<?phpclass TestClass //定义一个类{//一个变量public $variable = 'This is a string';//一个方法public function PrintVariable(){echo $this->variable;}}//创建一个对象$object = new TestClass();//调用一个方法$object->PrintVariable();?>
和C语言类似,PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。
重点来了,PHP中访问控制修饰符不同,序列化后属性的长度和属性值会有所不同
public:属性被序列化的时候属性值会变成 属性名
protected:属性被序列化的时候属性值会变成 \x00*\x00属性名
private:属性被序列化的 ...
蜜罐配置实验
蜜罐简介原理蜜罐的原理基于一个简单但强大的概念:诱饵。通过创建一个或多个似乎充满漏洞、容易被入侵的目标,安全研究人员和网络防御者吸引攻击者进入一个受控环境,而这个环境旨在记录攻击者的行为、手段、技术和其他关键信息。这些信息随后被用于分析攻击者的行动模式、提高现有安全措施的有效性,以及预防未来的攻击。
蜜罐的概念可以追溯到1990年代初期,当时互联网安全还处于其发展的早期阶段。最初的蜜罐主要用于研究目的,旨在理解攻击者的行为和攻击模式。随着时间的推移,蜜罐技术得到了发展和完善,其应用范围也从研究扩展到了企业和生产环境中。
蜜罐的应用场景广泛,不仅可以帮助安全研究人员收集关于恶意软件和黑客技术的情报,还能为企业提供额外的安全层。通过部署蜜罐,企业能够更加主动地发现和应对安全威胁,增强整体的安全防御能力。
HoneydHoneyd是一款开源的蜜罐软件,由Niels Provos于2003年开发,专门设计用来模拟数千个网络主机上的各种网络服务和操作系统。通过Honeyd,安全研究员和网络管理员可以创建复杂的网络拓扑结构,包括各种虚拟设备(如服务器、路由器、交换机等),以便捕获、分析并理解攻击 ...
大语言模型本地部署记录
最近突然对大语言模型感兴趣
同时在平时的一些线下断网的CTF比赛中,大语言模型也可以作为一个能对话交互的高级知识检索库
本篇文章旨在记录我在本地部署大语言模型的过程
安装OllamaOllama是一个轻量级、可扩展的框架,旨在帮助用户在本地机器上构建、运行和分享大语言模型。
前往Ollama的官网Ollama下载最新版本的安装包
需要注意的是,该软件默认安装在C盘下,所以如果有精神洁癖的小伙伴也可以使用docker部署Ollama
在终端中输入ollama --version
返回版本信息,说明安装成功
更改模型存放位置前往系统环境变量设置,添加如下系统变量
重启Ollama
拉取模型Gemma目前在Ollama上,Gemma模型已经拥有超过430K的拉取次数。基本上Gemma可以算是Ollama最热门的模型了
Gemma提供了不同参数规模的版本,2b(20亿参数)和7b(70亿参数)。参数的数量直接影响了模型对语言的理解能力,更多的参数通常意味着更好的理解、生成和预测能力,但同时也需要更强大的计算资源和更长的处理时间
每个参数版分为轻量版和全量版,2b模型即便是在没有独显的笔 ...
bWAPP靶场搭建及网站日志溯源实验
bWAPP靶场搭建bWAPP靶场简介bWAPP,或称为“buggy Web Application”,是一个开源的、故意设计有漏洞的Web应用程序。它用于教育和训练安全性测试的目的,提供了一个安全的环境来实践和提高Web应用程序渗透测试的技能。bWAPP涵盖了各种Web应用程序安全漏洞,包括所有的OWASP Top 10漏洞,以及其他许多常见的安全问题,如SQL注入、XSS(跨站脚本攻击)、CSRF(跨站请求伪造)、XML注入等。
安装phpstudyphpstudy没什么好说的,基本上学习WEB都需要用到
这里就放一个下载链接:https://www.xp.cn/
下载bWAPP靶场bWAPP下载地址:https://sourceforge.net/projects/bwapp/
需要注意的是,SourceForge网站会提示该文件包含病毒,需要我们额外手动点击DOWNLOAD链接
设置数据库将bWAPP靶场的源码bWAPP文件夹放在phpstudy的WWW目录下
在bWAPP/admin目录下找到settings.php配置文件
打开后修改其中的数据库用户名和密码
在首页 ...
勒索病毒模拟演练
攻击原理永恒之蓝永恒之蓝是一个利用Windows系统中Server Message Block (SMB) 协议的漏洞(MS17-010)进行攻击的高级漏洞利用工具。该漏洞允许攻击者在未授权的情况下远程执行代码,是由美国国家安全局(NSA)开发,并在2017年4月被黑客组织“影子经纪人”(Shadow Brokers)泄露。
永恒之蓝通过发送特制的数据包到目标计算机的445端口(SMB服务),利用SMB v1协议的缺陷,远程执行攻击者指定的代码。由于SMB服务在许多Windows系统中默认启用且常开放于网络,这使得永恒之蓝成为一个非常有效的网络渗透工具。
在漏洞被发现时,以下Windows系统版本被认为是易受攻击的:
Windows Vista
Windows 7
Windows 8
Windows 8.1
Windows 10
Windows Server 2008, 2008 R2
Windows Server 2012, 2012 R2
Windows Server 2016
不过,只要上述系统及时安装了微软发布的安全补丁(KB4013389),就可以抵御”永恒之蓝”攻击。 ...
W1R3S 1.01打靶复现
Reference红队打靶:W1R3S: 1.0.1详细打靶思路(vulnhub)_w1r3s 1.0.1-CSDN博客
「红队笔记」靶机精讲:W1R3S 1.0.1 - 渗透测试思路为王,细节多到即使对于纯萌新也能无感入圈。_哔哩哔哩_bilibili
主机发现靶机选择NAT连接,攻击机kali虚拟机的网络连接方式选择桥接
执行ip a查看kali攻击机的ip
kali的ip为192.168.43.168,所在网段为192.168.43.0/24
使用nmap扫描该网段
1sudo nmap -sn 192.168.43.0/24
-n指no portscan,不进行端口只进行主机嗅探(ping扫描)
-sn相比于广播查询更可靠(共发送四项数据来嗅探主机),尽量不要使用-sP
在靶机上线之前进行一次扫描,靶机上线之后再扫描一次,对比发现上线的主机,用于确认靶机的ip
将靶机上线后,重新扫描网段
多出的这个IP192.168.43.11即为靶机的IP
端口扫描粗略扫描可以建一个文件夹用于保存扫描结果
1mkdir nmapscan
使用nmap对找到的靶机进行端口扫描
1sudo ...
LSB 隐写算法实现与卡方检测
LSB隐写算法的基本实现LSB隐写原理LSB全称为 Least Significant Bit(最低有效位),是一种常被用做图片隐写的算法。LSB属于空域算法中的一种,是将信息嵌入到图像点中像素位的最低位,以保证嵌入的信息是不可见的,但是由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。
图像在取样和量化后,可以存储为一个了 M 行 N 列的数字图像$I(x,y)$(二维矩阵)如下:
$I(x,y) = \begin{bmatrix} I(0,0) & I(0,1) & \cdots & I(0,N-1) \ I(1,0) & I(1,1) & \cdots & I(1,N-1) \ \vdots & \vdots & \ddots & \vdots \ I(M-1,0) & I(M-1,1) & \cdots & I(M-1,N-1) \ \end{bmatrix} $
在灰度图像中任意的 $I(x,y)$都存储了对应这一点的二进制八位的灰 ...
kali arp欺骗嗅探局域网中数据包
原理arp协议即地址解析协议,用于将IP地址解析为以太网MAC地址
ARP攻击的原理,主要是ARP协议自身设计的缺陷,在主机收到arp应答时,不管以前是否发出请求,都会接收并更新arp缓存,这就可以导致虚假的arp应答
当然ARP攻击的过程也属于中间人攻击,攻击者充当中间人,以服务器的身份欺骗靶机,以PC机身份欺骗服务器,从而实现劫持服务器与靶机间会话信息、钓鱼等攻击目标
将kali虚拟机桥接到主机进入网络和Internet设置,点击网络和共享中心
点击正在连接的WIFI(这里使用手机流量开的热点,校园网容易扫到不该扫的东西)
点击详细信息,获取使用的网卡信息
打开VMware,进入编辑栏下的虚拟网络编辑器,选择更改设置
将桥接对象改为刚刚获取的网卡
修改kali虚拟机的网络连接设置,将其改为桥接模式
接下来启动虚拟机,在shell中执行如下指令,修改kali的网络配置文件
12cd /etc/networkvim interfaces
配置并启动SSH服务终端输入如下指令打开kali虚拟机上的ssh配置文件
1vi /etc/ssh/sshd_config
将#Passw ...
python3 pyside6学习笔记及实践(五)
本系列文章为b站PySide6教程以及官方文档的学习笔记。本文内容包括选项卡和堆叠页面。