- 博客(202)
- 收藏
- 关注
原创 GFS论文理解
GFS诞生的背景以及Google的需求根据Google当时的业务来进行开发,与NFS和AFS有不同的业务需求系统需要高可用,原因是Google的SW or HW当长时间运行时会出现问题,为了解决出现问题Google的应用场景 ,文件非常大, 原因是Google是做搜索引擎起家。搜索引擎需要有网页的爬虫去爬网页,爬完网页后把网页存在一个地方,之后去建立倒排索引进行Ranking。这些文件过于庞大,记录了整个网页的信息。应用场景大部分是顺序的读和顺序的写,随机读写的情况很少让客户端参与
2022-01-05 23:03:37 647
原创 计算机算法设计与分析习题答案第一章
算法分析题求下列函数的渐进表达式找趋于无穷时最大项即可,忽略系数论O(1)与O(2)的区别根据符号定义可得O(1)=O(2)。用O(1)或O(2)表示同一个函数时,差别仅在于其中的常数因子按照渐进阶从低阶到高阶排序过程同题1建立等式,设新机器在t时间内能解决m规模的问题 ,则 3∗2n=(3∗2m)/643*2^n = (3*2^{m})/643∗2n=(3∗2m)/64 解得m=n+6即m2=64∗n2m^2 = 64*n^2 m2=64∗n2 有m = 8n由于T(
2022-01-05 12:30:22 1597
原创 阿里云Docker中毒-‘Kirito***‘解决过程记录
果然,第一个容器并不是我添加的,本来想直接删掉的。不过又想了一下,万一有定时任务和镜像呢。我又看了一下镜像有一个异常镜像在网上搜到了关于介绍这个攻击的博客https://blog.aquasec.com/container-attacks-on-redis-servers这个镜像是4周前新发布的,作者文中也有提到。.
2020-10-24 15:02:48 1287
原创 Web安全之文件上传
文件上传漏洞原理:现在很多web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意代码植入到服务器中,然后通过url去访问以执行代码。防范措施对于上传文件的后缀名(扩展名)没有做较为严格的限制(可绕过)对于上传文件的MIMETYPE 没有做检查权限上没有对于上传的文件的文件权限,(尤其是对于shebang类型的文件)web server对于上传文件或者指定目录的行为没有做限制绕过方式1修改前端JS代码或抓包检测拓展名,如果不合法,则拒
2020-09-26 15:13:19 1702
原创 利用SSRF漏洞内网探测来攻击Redis(通过curl命令 & gopher协议)
有时候有些漏洞不存在与Get请求中,此时Header CRLF方法就不行了,下面给出第二种方式Gopher协议支持发出GET、POST请求:可以先拦截get请求包和post请求包,再构造成符合Gopher协议的请求(利用BP)。gopher协议是ssrf利用中一个最强大的协议。可以攻击内网的 FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求,还可以攻击内网未授权MySQL。gopher 协议的精髓就在于可以在特定的端口上进行相关命令的执行。Gopher协议的优势
2020-09-25 23:51:25 4387
原创 利用SSRF漏洞内网探测来攻击Redis(请求头CRLF方式)
最近大致了解一下Redis,记录一下关于Redis安全方面的内容存在ssrf漏洞的站点主要利用四个协议,分别是http、file、gopher、dict协议。SSRF 漏洞出现的场景1.能够对外发起网络请求的地方,就可能存在 SSRF 漏洞2.从远程服务器请求资源(Upload from URL,Import & Export RSS Feed)3.数据库内置功能(Oracle、MongoDB、MSSQL、Postgres、CouchDB)邮件协议(POP3、IMAP、
2020-09-25 23:27:36 1244
原创 SVG XSS一般过程
SVG 是使用 XML 来描述二维图形和绘图程序的语言。SVG可缩放矢量图形(Scalable Vector Graphics),顾名思义就是任意改变其大小也不会变形,是基于可扩展标记语言(XML),他严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。通过在线图片转SVG,我们可以看到基本的SVG图片格式。SVG标准中定义了script标签的存在,<svg>遵循XML和SVG的定义,因此我们可以利用其来执行XSS。构造一个SVG文件
2020-09-24 23:45:49 3237
原创 Web基础题总览
题目特征明显代码审计文件包含文件上传题目特征不明显SQL注入(登录框,变化的url参数)F12源码分析(代码注释提示)隐藏路径(了解服务器的信息隐藏的配置文件,自己进行推理)登录后台类型(伪造本地地址,爆破,万能密码,cookie欺骗)============================================常用方法看源码可以右键->【查看网页源代码】,也可以用火狐和谷歌浏览器的按F12键,按F12键可以修改html源代码方便构造一些值提交,但如果不需要的
2020-09-24 22:40:53 129
转载 InnoDB存储引擎裸设备介绍
今天在阅读InnoDb存储引擎时不晓得裸设备什么意思。查阅后特此记录1.什么叫做裸设备?裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。2.如何辨别裸设备?在Unix的/dev 目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的包传输。字符特殊文件与外设进行I/o操作时每次只传输一个字符。
2020-09-21 19:03:37 239
原创 操作系统理论细节摘录总结 2
信号量信号量是最早出现的用来解决进程同步与互斥问题的机制。信号量(Saphore)值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资源,才能继续运行。而执行一个V操作意味着释放一个资源,因此S的值加1;若S<0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。注意,信号量的值只能由PV操
2020-07-06 17:44:03 166
原创 操作系统理论细节摘录总结 1
分时操作系统具有以下特征: | 实时操作系统基本特征:1.多路性 | 1.及时性2.交互性 | 2.可靠性3.独占性 |4.及时性
2020-07-02 10:38:14 246
原创 Github实现代码高亮
这是GitHub上某个项目中的一个文件代码,若我想将这个文件的代码发送给别人看,那么只需将网页上的地址发送给别人即可,但如果该文件的代码量特别大,而我想提醒别人从哪个地方开始看,你就可以使用代码高亮。那么问题是如何实现呢?我们先把当前的网址复制下来:https://github.com/0xAX/linux-insides/blob/master/Booting/linux-bootstrap-1.md比如你想要第20行高亮,那么很简单,在地址后面拼接一个#L关键字,并加上行号:https:/.
2020-05-19 10:44:50 1352 2
原创 Oracle 生成一张测试表并插入随机的个人基本信息数据
Oracle 生成一张测试表并插入随机的个人基本信息数据表名(HIBOX_User_Bigdata)字段信息姓名性别民族员工籍贯员工工号(8位)员工政治面貌 0=群众,1=少先队员,2=共青团员,3=党员、户口性质 0=农村户口,1=城镇户口所在食堂部门编制 0=事业编制,1=全额拨款事业单位,2=差额拨款事业单位,3=自收自支事业单位职务最高学历毕业院校联系电话...
2020-05-02 22:51:41 867
原创 关于IDEA2020年1月新版MAVEN无法自动导入依赖
新版的IDEA为了防止MAVEN自动导包时卡死的问题,取消了自动导包机制,不习惯可以回退
2020-04-28 10:27:02 10576 11
转载 操作系统存储管理之虚拟内存地址和物理内存地址摘录总结
物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。而在CPU中的概念,物理内存就是CPU的地址线可以直接进行寻址的内存空间大小。比如8086只有20根地址线,那么它的寻址空间就是1MB,我们就说8086能支持1MB的物理内存,及时我们安装了128M的内存条在板子上,我们也只能说8086拥有1MB的物理内存空间。同理我们现在大部分使用的是32位的机子,32位的386...
2020-04-14 15:03:10 543
转载 指针变量与普通变量的区别
一、普通变量和的本质区别在说到普通变量和指针变量的区别时,我更喜欢从一个更高的视角去看待这两者。首先来说,这两者都是变量,既然是变量,就会包含地址和值这两部分,例如int a , 用&a获得该变量的地址,用a获得该变量的值;普通变量和指针变量的区别就是,这两种变量的值的所表示的意义不同, 一般来说,普通变量的值,只是供程序员所使用的值,而指针变量的值则不同,它的值存放的是其他变量的地址。...
2020-04-13 12:03:10 7277
原创 操作系统之调度--死锁
文章目录造成死锁的核心原因死锁的必要条件死锁的解决方法死锁的介绍:多个进程并发运行,对临界资源的访问出现问题造成死锁的核心原因系统资源不足(资源数〈要求该种资源的进程数)进程的推进顺序非法(不合理)死锁的必要条件(1)互斥条件:至少有一个资源是临界资源。(2)不可剥夺条件:资源不能被抢占。(3)请求与保持条件:一个进程占有一个资源,并等待另一个资源。(4)环路条件:存在一个进...
2020-04-09 09:44:46 283
原创 机器学习之数据分析--决策树
决策树有分类树与回归树两种本节重要记录了分类树构建决策树的准备工作:特征选择选取对训练数据具有分类能力的特征。利用香农熵(克劳德 香农)熵(杂乱程度)是表示随机变量不确定性的度量为了计算熵,我们需要计算所有类别所有可能值包含的信息期望值(数学期望)。熵越小(不纯度)越低熵越高,信息的不纯度就越高,也就是混合的数据就越多。信息增益:父节点的信息熵与其下所有子节点总信息熵之差。子节...
2020-04-06 22:58:11 251
原创 AT&T格式的汇编与Intel格式的汇编寻址方式的不同
AT&T: immed32(basepointer, indexpointer, indexscale)Intel: [basepointer + indexpointer × indexscale + imm32)如果操作系统工作于保护模式下,用的是32位线性地址,所以在计算地址时不用考虑segment:offset的问题。上式中的地址应为:imm32 + basepointe...
2020-03-29 11:10:18 277
原创 操作系统---线程知识点记录
Sleep()使进程自己进入等待态,时间到了,操作系统会叫醒进程(该进程已经提前通知操作系统)线程进程的特点是分离,线程的特点是不分离线程拥有:线程号(Thread ID)程序计数器(Program counter)寄存器(Register set)栈(Stack)属于同一个进程的线程共享除了线程自己拥有的东西(上面4点)单线程的进程多线程的进程(进程里面有多条指令同时进行)...
2020-03-24 23:05:42 128
原创 机器学习与数据挖掘--朴素贝叶斯
前期知识先验概率与后验概率由以往的数据分析得到的概率,叫做先验概率(经验)在得到信息之后加以重新修正的概率叫做后验概率后验概率属于条件概率的一种朴素贝叶斯朴素贝叶斯是贝叶斯分类里面最简单的一种为什么叫朴素贝叶斯,朴素在哪里?假设所有的特征之间是统计独立的朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设来学习输入输出的联合概率分...
2020-03-23 14:33:42 357
原创 中断的相关知识
文章目录中断的人类定义中断的类型中断向量中断向量表中断的优点与缺点中断处理中断的人类定义第一个概念是把同步和异步中断分别称为异常(exception)和中断(interrupt);第二个概念是进一步的,对于中断和异常,Intel又再细分了很多类,将中断分为可屏蔽中断和不可屏蔽中断;将异常分为故障、陷阱、异常中止和编程异常。中断:又称为异步中断,是其他硬件依照CPU时钟信号随机产生的。中断又...
2020-03-22 19:21:17 636
原创 进程切换ing
进程控制块(PCB)简单的来说他的每一个节点就是结构体,每一个节点与一个进程绑定在一起。所有的PCB在一起又组成新的一种数据结构决定了操作系统进程管理的所有的东西Task stat进程的状态-10大于0327行结构体代码通过PCB可以了解进程的所有情况在进程切换时,PCB的作用保存状态,是为了恢复状态,当前进程运行下所有的信息(涉及到的寄存器的信息),存到PCB中。保证下次...
2020-03-18 23:04:14 135
原创 操作系统——进程相关及系统引导
操作系统运行时划分不同的模式,操作系统运行在内核模式,应用程序运行在用户模式,权限不同,有些指令也不能运行。内核与用户态之间不禁包含对内存的保护,还要指令的限制。直接操作硬件端口的指令in从硬件端口读入out从硬件端口读出用户态不允许运行这两个指令由于应用程序也需要与硬件进行交互,因此就产生了系统调用。应用程序想做什么事情就利用系统调用,然后操作系统做中转处理。...
2020-03-16 19:49:44 417
转载 python import numpy 与 from numpy import *的区别
import numpy用numpy的属性时,需要加上numpy.函数;from numpy import*用numpy属性时,不需要加上numpy.;这里建议使用第一种方法,即加上numpy.。举例说明:numpy库中有random函数,标准库中也有random函数。作者:泡泡360链接:https://www.jianshu.com/p/18a6f593acd5来源:简书著作权归作...
2020-03-13 21:18:51 797
原创 Java工具类源码学习记录
好的工具类都有哪些通用的特征写法构造器必须是私有的。这样的话,工具类就无法被 new 出来,因为工具类在使用的时候,无需初始化,直接使用即可,所以不会开放出构造器出来。工具类的工具方法必须被 static、final 关键字修饰。这样的话就可以保证方法不可变,并且可以直接使用,非常方便。注意:尽量不在工具方法中,对共享变量有做修改的操作访问(如果必须要做的话,必须加锁),因为会有线程安全的问...
2020-03-12 21:31:10 171
原创 Java 常用关键字理解
static代码执行顺序父类静态变量初始化父类静态块初始化子类静态变量初始化子类静态块初始化main 方法执行父类构造器初始化子类构造器初始化父类的静态变量和静态块比子类优先初始化;静态变量和静态块比类构造器优先初始化。final被 final 修饰的类,表明该类是无法继承的;被 final 修饰的方法,表明该方法是无法覆写的;被 final 修饰的变量,说明该变量在声...
2020-03-12 20:47:41 137
原创 String、Long 源码解析学习记录
String源码public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];} ...
2020-03-12 20:25:02 138
原创 机器学习与数据挖掘—逻辑回归
逻辑回归,名为回归,实际为分类分类:根据模型,对输入数据/样本,预测其归属的类别。其中,最常见的就是二分类模型,例如逻辑回归。逻辑回归模型,就是每个特征的回归系数,即wT。性质:◆线性分类器,若无特殊处理,无法解决非线性问题。建模过程:◆通过训练数据集,计算出“最合适”的系数向量。◆“最合适”,可理解为错误概率最低的情况。应用:◆分类建模效果的Baseline之一。类别A+非...
2020-03-09 22:50:01 479
原创 机器学习与数据挖掘—K邻近算法(KNN)
KNN:分类算法目标:对未知类别的样本进行分类预测步骤:1.对于某个未知类别样本,根据距离度量计算每个已知类别样本与其距离。2.选出K个与该未知类别样本距离最小的已知类别的样本。3.在K个已知类别样本里得到频数最多的类别,该类别就是未知类别样本的预测。...
2020-03-09 22:40:40 244
原创 数据挖掘与机器学习--损失函数
损失函数是用来估量模型的预测值f(x)与真实值不y一致的程度。我们的目的就是最小化损失函数,让f(x)与y尽量接近。通常可以使用梯度下降寻找函数最小值损失函数大致可以分成两类:回归和分类回归类型损失函数均方误差(Mean Square Error,MSE)模型预测值与样本真实值之间距离平方的平均值MSE是比较常用的一种损失函数它的曲线特点是光滑连续,可导,有利于使用梯度下降算法。而且M...
2020-02-25 09:22:45 709
原创 机器数据挖掘--常见监督学习算法以及数据挖掘流程
分类:定性回归:定量回归算法:线性回归岭回归树回归分类算法逻辑回归K邻近朴素贝叶斯支持向量机决策树:ID3,C4.5,cart集成算法:随机森林,adaboost,xgboost挖掘流程从大量数据中获取有效的,新颖的,潜在有用的。简单地说,数据挖掘就是从大量数据中提取或挖掘知识定义问题准备数据数据预处理特征工程生成模型评价模型部署和更新模型...
2020-02-24 09:10:56 595
原创 Tomcat安装-环境变量配置-启动-关闭
Tomcat是一个Javaweb服务器,Apache软件基金会的软件之一。因此Tomcat也是一款开源软件。因为Tomcat是使用Java语言编写的,因此安装Tomcat之前需要安装jak类unix操作系统安装下载好软件包直接用命令安装即可,并利用export命令配置环境变量Windows平台官网或者镜像站下载Tomcat Installer,一路next即可。类unix平台启动环境...
2020-02-16 17:02:21 176
原创 Linux程序接口实验
取进程标志及用户信息,了解Linux部分操作系统调用的用法。使用Gedit 编写程序pflag.c#include<unistd.h>#include<pwd.h>#include<sys/types.h>#include<stdio.h>int main(int argc,char **argv){ pid_t my_pid,par...
2020-02-12 10:17:24 936
原创 Ubuntu的运行级别,关机与重启
Ubuntu系统的运行级别与其他Linux系统的运行级别有些区别运行级别含义0所有进程终止1单用户模式,用于维护系统,只有极少数的进程运行2~5图形界面的多用户模式6重新启动机器ubuntu 系统的运行级别2~5是一样的。默认运行级别是2,但是Ubuntu服务器版的默认运行级别是 5,这些发行版,不尽一致,使用runlevel命令查看即可。切...
2020-02-10 21:35:43 1006
原创 Ubuntu Linux 操作系统与实验教程基础命令
Shell功能以用户名amos(笔者自己的用户名)进行登陆,当前的工作目录是/home/amos,提示符号为$由普通用户转为哦超级用户,超级用户的用户名为root登陆,提示符号为#普通用户与超级用户的区别1.登陆名与提示符不同2.权限不同,超级用户对文件和目录具有全权,而普通用户的权限是有限的。显示日期和时间date查看登陆系统的用户(在切换用户时,别的用户在后台挂起)who 果...
2020-02-08 21:14:57 788
原创 操作系统的用户接口
操作系统为用户提供了两种调用其服务和功能的接口:程序接口和操作接口1.程序接口又称为应用编程接口(API),供程序员在编制程序时以程序语句或指令的形式调用操作系统的服务和功能。许多操作系统的程序接口由一组系统调用(System Call)组成,用户程序使用“系统调用”即可获得操作系统的底层服务,使用或访问系统中的各种软硬件资源。系统调用是为了扩充机器功能,增强系统能力,方便用户使用而在内核中建...
2020-02-08 19:12:08 3412
原创 操作系统的发展及分类
操作系统的发展1.人工操作系统阶段打孔,人工就是根打孔有关,这让我想到了高中的打孔计时器。一条纸带,纸带相当与存储器。极其不方便。2.管理程序阶段由操作员在管理程序和人工之间交互、3.多道程序设计和操作系统的组成多道程序设计是指允许多个程序同时进入计算机系统的主存储器并启动进行交替计算的方法,即计算机内存中同时存放了多道程序,它们都处于开始和结束之间。从宏观上讲,多道程序并发运行,它们...
2020-02-07 22:16:18 164
原创 假脱机(spooling)技术实现原理
将独占设备改造为共享设备由于Spooling技术把所有用户进程的输出都送入输出井,然后再由输出进程完成打印工作,而输出井在磁盘上,为共享设备。这样,Spooling技术就把打印机等独占设备改造成立共享设备。实现了虚拟设备功能由于Spooling技术实现了多个用户进程共同使用打印机这种独占设备的情况,从而实现了把一个设备当成多个设备来使用,即虚拟设备的功能。假脱机技术有输入输出井,输入缓冲区...
2020-02-07 20:05:03 5707
原创 操作系统原理第一章概论
操作系统的目标1.方便用户使用:提供了用户与计算机之间的友善接口(操作系统向用户提供的应用程序接口远比硬件向用户提供的接口简单易用)。2.扩展机器功能操作系统如同”血肉“,有了扩展与增值的功能。3.管理系统资源操作系统代替人类来管理计算机系统软硬件资源。相对与人工管理来说,其更加的快速,精准。4.提高系统效率操作系统代替了人对计算机的自动化管理,由此提高了系统效率。5.构筑开放环境...
2020-02-06 23:16:49 448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人