- 博客(32)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注

原创 公钥密码——RSA和Elgamal
简介公钥密码算法也叫非对称加密,主要有RSA算法、Elgamal算法、ECC算法。RSA算法是基于大素数难分解这一数学难题而提出的(两个大质数相乘得到的大数难以被因式分解),原理如下:RSA秘钥生成选取大素数p,q;计算n=pq以及n的欧拉函数φ(n) = φ§ φ(q)=(p-1)(q-1)。关于欧拉函数,大家肯定是学过滴,素数的欧拉函数等于它自己减1,比如φ (3) = 2;φ (...
2020-05-01 17:12:51
3253
1

原创 Kali虚拟机下的arp欺骗
arp攻击查看本机ip使用指令ifconfig inet之后的便是IPV4地址查一下和自己在同一WiFi下的其他设备命令: fping -g -r 0 -s 192.168.31.48/24 | grep alive进行目标IP系统探测(探测是什么系统:电脑or手机)命令:nmap -T4 -O (目标IP)arp断网攻击命令:arpspoof -i ...
2020-01-18 18:45:53
1233
原创 内网攻防——内网渗透测试基础
1.1内网基础知识1.1.1工作组工作组可以看做是一个社团或者部门,比如将技术部的所有电脑放进技术部这个工作组,将销售部的所有电脑放进销售部这个工作组,组内的电脑之间可以方便的访问彼此的共享资源,可以自由进出工作组,组内的电脑之间彼此对等没有服务器和客户机之分。更改工作组:此电脑–>属性–>高级设置–计算机设置–更改。如果输入的工作组不存在则会创建。1.1.2域域是一个有安全便捷的计算机集合,要想访问域内资源需要以合法的身份登录域,而且与用户在域内的身份有关。域控制器:是域中一台类似
2021-07-06 14:56:47
390
原创 渗透测试框架权限维持
Metasploit权限维持简单介绍下Metasploit,这是一个渗透测试平台,可以查找、利用、验证漏洞。与Metasploit的大部分交互式通过模块完成的,例如可以通过“auxiliary”模块进行信息收集,使用"exploit"模块进行漏洞利用,利用"payload"模块链接到shell。生成木马命令解释-l, --list <type> 列出指定类型的所有模块 类型包括: payloads, encoders, nops, pla
2021-06-19 18:05:34
425
原创 Linux权限维持
Linux权限维持与Windows权限维持一样,根本目的都是为了躲避管理员检测。启动项和计划任务常用方法如下:通过修改“/etc/rc.local”来添加启动命令将需要开机执行的脚本放置在“/etc/profile.d/”下,可实现开机启动。将启动脚本链接到“/etc/rc.d/rc[0~6].d/”这几个目录下,0~6代表启动级别,0代表停止,1代表单用户模式,2~5代表多用户模式,6代表重启。修改“/etc/crontab”文件添加定时执行的程序或脚本。将启动脚本放置到“/etc/c.
2021-06-19 13:56:46
421
原创 Windows权限维持
权限维持当通过漏洞获取目标权限后,可能会被管理员发现或者漏洞被修复,导致我们获取的权限失效。因此,需要隐藏后门,上传木马,使目标主动连接远控主机。Windows权限维持隐藏系统用户使用net命令创建用户net 命令创建用户时,在用户名后添加"$",可以创建隐藏用户。这里的隐藏单纯的值net user不会显示,但是可以再控制面板查看到。介绍几条命令目标操作查看用户net user添加用户net user 用户名 /add改密码net user 用户名 密码
2021-06-18 19:10:50
428
原创 学习两个跨站请求伪造--csrf和ssrf
写在开头不谦虚,真的菜,如有错误请在评论区给出大佬高见,还请诸位轻点骂。CSRF(Cross-site request forgery)CSRF到底是个啥CSRF有个生动形象的名字,是为跨站请求伪造。跨站请求为造最核心的就是攻击者偷偷使用受害人已经成功成功的的身份认证(偷你的身份冒充你干坏事)。为啥会产生CSRF一方面是开发者不够谨慎,编写的Web应用程序存在漏洞导致恶意利用;另一方面因为Web浏览器对于Cookie和HTTP身份验证的回话信息的处理存在一定的缺陷;服务器对于浏览器过于信任
2021-06-12 16:42:44
242
2
原创 渗透测试面试准备
网络协议TCP协议TCP 协议是一个面向连接,可靠的,字节流服务的协议TCP连接的两端:套接字、插口、端口。(不同叫法)形式:{IP+端口号}格式三次握手假设两端为A和B;第一次握手:A给B发送syn=1;seq=x(x随机生成)第二次握手:B给A发送seq=y;ack=x+1第三次握手:A给B发送ACK=y+1三次握手是建立安全连接的最少次数,如果A和B第一次握手,B给A回复了但是因为网络问题,导致A迟迟没有收到B的答复,那么A将再次发送syn请求建立连接,而此时B的
2021-06-07 19:43:47
256
1
原创 DDOS基础
之前一次面试的时候问到一个关于DDOS的问题,才发现自己对于DDOS知之甚少,为了工作还是得补补脑子。攻击分析流行度:指一种攻击手段被使用的频率(1----10),1最少见。简单度:利用某种攻击手段所需要的技能(1----10),1代表最难(可以理解因为难为很少的人使用),10代表最简单。影响力:攻击得手时所造成的的损失大小和防护的难度(1-----10)。10表示最难防护且损失很大。风险率:流行度 + 简单度 + 影响力 的平均值(四舍五入取整)拒绝服务攻击介绍我们的重点是分布式拒绝.
2021-06-06 16:02:35
516
原创 C++实现最小栈
题目描述设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。代码class MinStack {public: /** initialize your data structure here. */ stack<int> dataStack; //数据栈 stac
2021-05-31 19:56:28
460
原创 windows和Linux权限提升
放在开头本人水平很菜(没有谦虚),此文仅为个人备忘录,算是自己对学过知识的一个总结以备复习。本人qq:925047779,关于本文可能出现的的问题请联系我,出现错误必及时修改,也欢迎一起探讨。权限提升由于现在的操作系统多为多用户操作系统,存在用户间权限控制,比如通过web漏洞拿到的是Web进程的权限,往往Web服务都是以一个权限很低的账号启动的,因此通过Webshell进行操作可能会受限,这时便需要提权。Windows提权溢出提权通常是通过windows系统漏洞或系统中软件的漏洞来获取os的sy
2021-05-27 18:39:10
486
原创 -整数反转-
题目描述给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64位整数(有符号或无符号)。解题思路难点在于存储被限制在32位空间,下面给出证明,可以避开原数反转后超过32位空间所能表示的最大范围的问题。(看不懂的话结合代码看一下)代码int reverse(int x){ int rev = 0; while (x != 0) { i
2021-05-25 21:29:08
245
原创 删除排序数组中的重复项
题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。思路采用双指针,一个指针负责向后传递原数组,一个指针负责保存不重复的元素。(嘴笨,还是看代码吧,不难理解)代码时间复杂度:O(n)空间复杂度:O(1)int removeDuplicates(vector<int>& nums) { int
2021-05-24 17:48:31
92
原创 旋转数组
题目描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。代码新数组时间复杂度: O(n)空间复杂度: O(n)void rotate(vector<int> &nums, int k) //k为右移动的距离{ int n = nums.size(); vector<int> num(n); for (int i = 0; i < n; i++) { num[(i+k)% n] = nums[i]; }
2021-05-24 17:43:39
89
原创 存在重复元素
题目描述给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。解题思路排序后相同的元素会出现在相邻的位置,只需向后遍历查看是否有相邻的元素相等。代码时间复杂度:O(nlogn)空间复杂度:O(logn)主要取决于排序算法bool singleNumber(vector<int>& nums){ sort(nums.begin(), nums.end()); for (i
2021-05-24 17:35:00
101
原创 只出现一次的数字
题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2gy9m/来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处
2021-05-24 15:37:08
86
原创 Web漏洞防护
OWASP top10注入恶意的用户通过构造恶意指令并将其带入到过滤不严(可能就未过滤)的函数中导致恶意指令被解析执行。如SQL注入、OS注入、LDAP注入。加固字符过滤(比如sql注入不让你输入sql中常见的关键字)使用正则表达式过滤传输的参数(比如匹配到‘or’,‘select’等就替换为空)前端js防范sql注入,如:var sQuery=sUrl.substring(sUrl.indexOf("=")+1);re=/select|update|delete|truncate|j
2021-05-14 10:23:00
314
原创 工具使用
Metasploit工具介绍Metasploit是一款开源的漏洞检测、利用工具,它在安全检测中有着不容忽视的作用,为漏洞自动化探测提供了有力支持,安全人员经常使用Metasploit来评估系统的安全性。Metasploit内置上千个针对各种漏洞的利用poc,初学者可利用Metasploit很方便地进行漏洞利用,通过它可以很容易对计算机软件实施攻击。Metasploit也支持通过编写利用代码进行扩展,专业的安全研究员可基于Metasploit平台开发并测试恶意代码、自行编写漏洞利用脚本,对安全问
2021-05-08 15:01:36
151
1
原创 linux系统加固
linux特点开源、免费、安全、稳定。linux系统目录/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系.
2021-05-08 10:47:57
286
1
原创 nmap使用手册
NMAP(1) [FIXME: manual] NMAP(1)名称nmap - 网络探测工具和安全/端口扫描器大纲nmap [扫描类型…] [选项] {扫描目标说明}描述Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速
2021-05-02 15:42:17
881
原创 sqlmap使用
sqlmap支持的数据库MySqlOraclePostgreSQLMicrosoft SQL ServerMicrosoft AccessIBM DB2SQLiteFirebirdSybaseSAP MaxDBSqlmap支持的sql注入技术基于布尔类型的盲注:可以根据返回页面判断条件真假的注入基于时间的盲注:不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否已经执行(即页面返回时间是否增加)来判断。基于报错的注入:页面会返回报错信息,或把注入语句的返回结
2021-04-28 16:35:28
160
原创 信息收集一
域名信息的收集Whois查询1. kali的whois2. [爱站工具网](https://www.aizhan.com/)3. [站长之家](https://tool.chinaz.com/)4. [Virustotal](https://www.virustotal.com)备案信息查询1.
2021-04-24 19:33:25
140
原创 信息收集及Python脚本编写
在渗透测试中,信息收集显得尤为重要,在信息收集阶段,渗透测试团队可以利用各种方法获取关于目标网络的拓扑、系统配置等信息。信息的完善与否将会严重影响后续渗透测试的速度与深度。信息搜集的两种方式主动收集:通过主动的发送探测数据包与被测目标系统有直接交互被动收集:在目标不易察觉的情况下,通过搜索引擎、社交媒体等方式对目标的信息进行搜集,与目标系统没有直接交互信息搜集的主要内容:IP资源域名发现服务器信息收集人力资源情报收集网站关键信息识别历史漏洞被动信息搜集主动信息搜集.
2021-04-24 17:05:24
773
原创 MySQL基础
Mysql介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为.
2021-04-22 11:31:57
158
原创 DHCP协议及Python脚本模拟测试
如今几乎我们身边所有的设备都已经支持互联网通信功能,都知道要在互联网中通信需要给设备分配IP地址,目前IP地址的设置方法主要有以下两种:静态设置IP动态设置IPDHCP动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是工作在应用层的一个局域网协议,其作用是用来给内部网络分配IP地址。DHCP工作流程我们把一个网络中的某一台设备叫做DHCP服务器,它有一个地址池,里边存放着可以使用的IP地址;把需要IP地址的设备叫做DHCP客户端。(1).
2021-04-16 20:50:58
3668
3
转载 Windows注册表详解
Windows注册表详解 注册表对有的人还是比较陌生的,因为现在第三方软件太多了,如优化大师、魔法兔子等等,但个人觉得改善系统的第三方软件还不够完善,如果初级用户使用不当,会出现严重的后果,所以提供这篇文章,希望大家多多学习,本人能力有限,还希望大家多提宝贵意见: 一、注册表的由来 PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。早期的图形操作系统,如Win3.x中,对软硬件工作环境的配置是通过.
2021-04-16 15:34:20
35101
1
原创 C#网际校验和算法
为了确保IP、ICMP、UDP、TCP等协议在传输过程中的数据正确,协议都设计了校验和。校验和原理发送方将IP(ICMP/UDP/TCP)的校验和为置为全0对校验序列划分为若干16位分组,然后对每个分组进行二进制反码运算,并将得到的结果写入协议首部的校验和中。接收方收到数据报后,再将数据报的校验序列划分为若干16位分组,然后再次对所有分组进行二进制反码运算(最高位的进位加到最低位,而且先取反再相加和先加再取反是一样的,但是通常先加再取反容易些)判定:所得校验和若为全0则说明数据传输过程中没有.
2020-12-14 17:21:16
1962
2
原创 常见的几种寻址方式
定义:寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。引入:在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。几乎所有的计算机,在内存中都采用地址指定方式。当采用地址指定方式时,形成操作数或指令地址的方式称为寻址方式。寻址方式分为两类,即指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。值得注意的是,在传统方式设计的计算机中,内存中指令的寻址与数据的寻址是交替进行的。指令寻址顺.
2020-05-18 21:23:09
14020
网际校验和算法(ICMP、TCP、UDP)
2020-12-14
KMP算法,while循环中j<t.length()出错
2021-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人