自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (1)
  • 收藏
  • 关注

原创 FAT32文件系统

FAT32文件系统簇文件系统将磁盘空间以一定数目( 2n2^n2n,n为整数)的扇区为单位进行划分,这样的单位称为簇。每扇区大小为512字节。簇的大小一般是512B、1KB、2KB、4KB、8KB、16KB、32KB、64KB等。簇是进行文件空间分配的最小单位。FAT表FAT表(File Allocation Table 文件分配表)是Microsoft在FAT文件系统中用于磁盘数据(文件)索引和定位引进的一种单向链式结构。FAT区用每一个FAT项来记录每一个簇的占用情况FAT表

2020-11-22 23:33:09 7

原创 PE文件

格式可移植的执行体PE(Portable Executable)是Win32 平台下可执行文件格式,常见的exe、dll、ocx、sys、com 都是PE文件,其可移植可执行体现在跨Win32 平台。PE 文件格式规定了代码、菜单、图标、位图、字符串等信息在可执行文件中如何组织PE 文件格式将可执行文件分成若干节(section),一个WinNT 应用程序典型地拥有9 个预定义节:.text、.bss、.rdata、.data、.pdata、.rsrc、.edata, .idata 和.debug

2020-11-22 23:32:18 9

原创 【题】公钥密码

公钥密码第1题因此首先使用ShanksShanksShanks算法计算出aaa的值,如下:因此明文应为:dk(y1,y2)=y2(y1a)−1=5∗(227)−1=12d_k(y_1,y_2)=y_2(y_1^a)^{-1}=5*(2^{27})^{-1}=12dk​(y1​,y2​)=y2​(y1a​)−1=5∗(227)−1=12第2题已知:5x=3,5y=45^x=3,5^y=45x=3,5y=4,求5xy5^{xy}5xy:首先利用ShanksShanksShanks算法

2020-11-22 23:26:02 9

原创 香农(Shannon)理论题

第4题采用分组长度为128比特,密钥长度为256比特的AES加密算法加密明文,假设密钥均匀随机选取,明文是冗余度为0.75的小写英文字母,试计算至少需要______(向上取整)组密文可以唯一确定加密密钥。密钥空间:∣K∣=2256|K|=2^{256}∣K∣=2256(由于密钥生成算法所以给定初始密钥后后续NNN轮密钥也就确定了,因此密钥空间就是初始的22562^{256}2256);明文空间:∣P∣=2616|P|=26^{16}∣P∣=2616(明文首先由26个字母组成,表示一个字母需要8比特

2020-11-22 23:20:01 10

原创 WSL2(Ubuntu)下添加新的Linux(5.7.9)系统调用

综述添加系统调用的大致工作为:下载Linux内核在内核中添加调用编译该更改后的内核替换该内核并测试准备工作配置库  由于编译过程中需要很多库,因此需要提前进行配置。如果编译过程中遇到的报错均在下文的报错信息中记录。准备安装的库的命令为:sudo apt-get install libncurses5-dev libncursesw5-devsudo apt-get install bison flexsudo apt-get install libelf-dev libssl-de

2020-11-17 12:02:19 47

原创 Linux中task_struct结构体分析

所在文件task_struct结构体位于内核文件/include/linux/sched.h中。分析去GitHub上查看源码中的该结构体,分析如下:struct task_struct { /* * 进程状态。 */ volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ /* * 进程的基本信息。 */ struct thread_info *thread_info; atomic_t usa

2020-11-08 17:27:37 249

原创 WSL下利用flex和bison完成简单四则运算

安装配置Ubuntu WSL  搜索控制面板,进入控制面板,选择程序,点击启用或关闭Windows功能,勾选适用于Linux的Windows子系统,如下:  根据提示重启系统。  重启后在Microsoft Store中搜索Ubuntu,下载并安装18.04版本,如下:  安装后启动,根据提示设置电脑名称和密码。使用如下命令备份原有源文件并更改软件源:sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vim /etc/ap

2020-10-15 21:14:15 121

原创 WSL 2(Ubuntu18.04)编译Linux内核(5.7.9)并替换掉WSL 2原有内核

准备工作配置库  由于编译过程中需要很多库,因此需要提前进行配置。如果编译过程中遇到了报错可以在下文的报错信息中找到对应的解决办法。准备安装的库的命令为:sudo apt-get install libncurses5-dev libncursesw5-devsudo apt-get install bisonsudo apt-get install flexsudo apt-get install libelf-devsudo apt-get install libssl-dev准备Li

2020-10-14 01:51:28 236

原创 平面分割(直线、面、折线)

直线分割平面  求n+1n+1n+1条直线最多可以将平面分割成几部分,此时已知前nnn条直线以将平面分割成了ana_nan​个平面,那么新加入的这一条直线最多可以和前nnn条直线相交,而该直线每穿过一个平面将将该平面分割成两部分,现在求新增平面个数,即求该直线穿过的平面的个数,即该直线被其他直线分割的段数,即第n+1n+1n+1条直线将最多增加nnn个平面。  故有:∵an+1=an+n+1∴an=12(1+n)×n+1\begin{aligned}\because a_{n+1}&=a_

2020-10-13 15:36:18 101

原创 一张图看懂密文挪用

预备知识:短块处理  在分组密码加密的过程中,必然会遇到消息长度不是分组长度整数倍的情况,因此需要对最后一组密文进行处理,使得其达到分组长度。这个过程便是短块处理。短块处理分为两种方式:填充密文挪用填充  填充方式很多,也是最基础的做法,就是按照一定的规则对最后一组进行填充。填充方式有:pkcs#5/pkcs#7、ANSI X923、ISO 10126等。  需要注意的是,即使最后一组长度达到分组长度,也就是说消息长度是分组长度的整数倍,也需要进行填充。这是为了保证加解密过程可以保持协议规

2020-09-27 20:20:37 109 1

原创 【gmssl】Can‘t open ./private/cakey.pem for reading, No such file or directory

问题描述  在使用gmssl对用户生成证书的过程中,出现了错误Can't open ./private/cakey.pem for reading, No such file or directory,情况如下:命令为gmssl ca -days 3650 -in Alice.csr -out caAlice.crt解决方法  提示信息很明显,这是由于没有对应文件的问题。首先明确报错中的路径./private/cakey.pem在哪里。打开gmssl的配置文件,默认目录应该是/usr/local/

2020-09-22 11:03:29 228 2

原创 win10下安装使用GmSSL【基于VS Code、Ubuntu WSL】

写在前面  由于Windows自身对这些软件的兼容性一言难尽,而重新搭载虚拟机的过程又过于麻烦,因此笔者另辟蹊径,使用在Microsoft Store上的WSL来完成Linux环境的配置,同时结合VS Code来避免图形化界面的安装,尽量让Linux环境轻量级,同时也保证了代码高亮等更专业友好的开发环境。  具体安装步骤主要分以下几步:在Windows Store下载安装Ubuntu WSL配置VS Code在Ubuntu上配置GmSSL在Windows Store下载安装Ubuntu WS

2020-09-21 18:52:38 137 2

原创 win10下安装gmp库(IDE选择为Dev C++)

下载GMP在GMP官网下载,下载链接下载后在你想保存的目录下解压,笔者在d:/gmp-6.2.0下解压。下载安装MSYS2MSYS2是windows下的类unix系统的终端程序。MSYS2支持64位和32位系统。在逛网下载,下载链接接着根据官网的提示进行安装配置按照默认路径安装安装结束后打开运行,使用命令pacman -Syu进行安装关闭程序,并再次打开,使用命令pacman -Su进行安装配置MSYS2由于在安装GMP过程中需要make,m4等组件,因此使用命令pacman -S

2020-09-14 12:16:51 266

原创 Qt自定义textBrowser的右键菜单栏

问题描述  我们利用代码直接生成MainWindow下的右键菜单栏(如何生成右键菜单?),但是发现由于textBrowser控件定义了自有默认右键菜单,因此我们自定义的右键菜单失效。如下图:解决办法   QWidget及其子类都可有右键菜单,首先设置QWidget与右键菜单有关的函数setContextMenuPolicy(),属性对应项为contextmenuPolicy。setContextMenuPolicy函数的参数为枚举类型Qt::ContextMenuPolicy,qt帮助文档中有相应介

2020-09-09 15:57:21 120

原创 华科OJ-2020.08.22测试赛-单词阅读-线段树解法

题目描述  华科OJ-2020.08.22测试赛-单词阅读(需要华科VPN)  寻找区间中字典序最大的单词。输入  第一行一个整数N(1≤N≤106)N(1\leq N\leq10^6)N(1≤N≤106);  接下来NNN行,每行一个单词,单词长度不会超过10,且仅包含小写英文字母;  接下来一行一个整数M(1≤M≤106)M(1\leq M\leq 10^6)M(1≤M≤106),表示询问的次数;  接下来MMM行,每行两个整数ai,bi(1≤ai≤bi≤N)a_i,b_i(1\leq a

2020-08-24 15:01:36 51

原创 问题规模与时间复杂度

背景简述  当代计算机,以O(n)的复杂度计,若要求1s内完成计算, 则循环次数最多不超过107次。数据规模与时间复杂度的对应关系时间复杂度数据规模O(n)O(n)O(n)107O(n2)O(n^2)O(n2)3000O(nlogn)O(nlogn)O(nlogn)106O(f(n))O(f(n))O(f(n))f−1(107)f^{-1}(10^7)f−1(107)注:1. 时间复杂度中log nlog\ nlog n默认以2为

2020-08-21 22:29:03 326

原创 洛谷 P3604 美好的每一天

P3604 美好的每一天题目描述给定一个字符串,提供m个访问区间,求每次访问中,访问区间内满足区间内字符重排可形成回文序列的子区间个数输入格式第一行输入两个数据,分别为n、m;第二行输入长为n的仅由小写字母构成的字符串;接下来输入m组查询数据,每组数据包含两个数据,分别是访问区间的左端点和右端点。输出格式输出m行数据,每一行为对应查询区间满足条件的子区间个数。输入样例#16 6zzqzzq1 62 43 42 34 51 1输出样例#11642231解题

2020-08-06 22:06:46 50

原创 莫队

区间求和  该莫队以洛谷P1972 [SDOI2009]HH的项链为例。直接求和的莫队不需要cnt数组。  设置两个移动指针left和right,进行移动。若区间发生扩充,则加上移动位置的数组值,若区间发生缩减,则减去移动位置上数组的值。代码如下:#define MAX 1e6int init[MAX], cnt[MAX], now = 0, left = 1, right = 0; //init为原始数据,cnt为当前数值出现次数,now记录和void add(int position){

2020-07-31 14:16:53 47

原创 树状数组

单点更新,单点查询传统数组直接可以搞定。单点更新,区间查询树状数组来完成。#define MAX 100int n; //题目实际输入的树状数组的大小int init[MAX], tree[MAX]; //初始数据存放数组,树状数组int lowbit(int position){ //计算下一个position关联位置 return position & (-position);}void update(int position, int add_num){ //更

2020-07-28 17:27:28 49

原创 洛谷P1972 [SDOI2009]HH的项链

题目描述  P1972 [SDOI2009]HH的项链  HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。  有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答…… 因为项链实在是太长了。于是,他只好求助睿智的你,来解决这个问题。输入格式一行一个正整数nnn,表示项链长度。第二行nnn个正整数aia_iai​,表示项链中第

2020-07-28 16:17:58 50

原创 网站目录&Email地址搜索

搜索网站的目录结构在搜索引擎中搜索parent directory site:目标域名/网址。使用Metasploit中的模块auxiliaryscanner/http/dir_scanner。搜索Email地址在搜索引擎中搜索site:目标域名 filetype:xls,通过文件中信息获取。使用Metasploit的模块auxiliary/gather/search_email_collector。...

2020-07-15 11:59:28 41

原创 搜索引擎信息搜索工具下载链接

SiteDiggerSearch Diggity

2020-07-14 19:07:36 40

原创 域名相关信息&反查域名 站点

NO.1可以查看子域名网站的网段宿主、站点排名、IP、操作系统版本等:https://sitereport.netcraft.com/NO.2可以得到IP反查询结果,但需要科学上网:http://www.ip-adress.com/reverse_ip/NO.3可以查询域名、反查IP等:http://www.7c.com/...

2020-07-14 18:46:26 157

原创 nslookup与dig域名查询

nslookup语法nslookup [exit | finger | help | ls | lserver | root | server | set | view] [options]每个子命令的使用方法和参数微软官网写得很清楚,这是链接nslookup | Microsoft Docstype的参数解读dig可和nslookup一样直接对域名进行查询,如下:查询到的两个IP地址220.181.38.148和39.156.69.79均为百度的首页地址。也可以在使用whois获得到

2020-07-13 19:05:51 88

原创 URL构成

背景《Metasploit魔鬼训练营》P67页提示信息中有这样的描述:进行whois查询时请去掉www、ftp等前缀,这是由于机构在注册域名时通常会注册一个上层域名,其子域名由自身的域名服务器管理,在whois数据库中可能查询不到。例如www.testfire.net是testfire.net的一个子域名URL构成举例URL:https://blog.csdn.net/m0_46161993/article/details/107307379http://:表示网络传输协议,除http协议外

2020-07-13 18:40:03 134

原创 DNS权威解答与非权威解答

权威解答与非权威解答假设一个DNS Server中没有域名name.com的信息,当客户端通过该DNS Server获取该域名信息时,客户端访问该域名官网获取域名信息,并存储在服务器缓存中,供客户端下次访问,则为非权威解答;若DNS Server中直接保存有客户端要访问的域名信息,则该域名信息直接从DNS Server中获得,则为权威解答。...

2020-07-13 18:22:30 71

原创 证明f(x)为可约多项式

相关定理换句话说: xqn−xx^{q^n}-xxqn−x是所有次数为nnn的因子的首1不可约多项式的乘积,每个不可约多项式有且仅有一次。换句话说:对于次数不为nnn的因子的多项式,若仍有f(x)∣xqn−xf(x) | x^{q^n}-xf(x)∣xqn−x,则其必为可约多项式。解题思路方法1:  利用数学归纳法和特征幂的二项定理进行证明。通常此类题如果有nnn的出现一般都要考虑...

2020-07-12 23:06:07 102

原创 《Metasploit魔鬼训练营》第一章答案

第一题Samba服务usermap_script安全漏洞第二题Metasploit利用kali命令获取针对不同目标环境的渗透攻击模块数量第三题Metasploit利用vnc图形化远程控制工具获得靶机远程控制桌面第四题Metasploit使用msfcli命令行接口编写shell脚本程序...

2020-07-12 23:03:36 57

原创 Kali使用vim编辑ReadOnly文件后保存

点击Esc退出编辑模式后输入:w !sudo tee %进行保存,之后再使用:q!退出即可。

2020-07-07 21:27:18 316

原创 计算MD5值

引用时直接引用MD5.cpp。MD5.h#ifndef __MD5_H__#define __MD5_H__ typedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64]; }MD5_CTX; #define F(x,y,z) ((x & y) | (~x & z))#define

2020-07-03 15:31:13 59

原创 BM算法

#ifndef __BM_H__#define __BM_H__#include <algorithm>using namespace std;#define ASIZE 256void preBmBc(char *x, int m, int bmBc[]) { int i; for (i = 0; i < ASIZE; ++i) bmBc[i] = m; for (i = 0; i < m - 1; ++i) bmBc[x

2020-07-03 14:42:12 22

原创 病毒的自我复制

对静态开源文件进行复制  设置两个指针,一个指向源文件为srcpf,一个指向目的文件为destpf。为实现用户可控的操作方式,允许输入复制次数,但同时为防止无限次复制导致磁盘损坏,因此设置循环次数上限为1000次。同时,由于各用户磁盘分卷存在差异,因此允许用户对目标地址进行设置;同时在该地址后加上文件名对地址进行测试,以验证并保证地址的可行性。随后,利用fread()函数和fwrite()函数进行文件的读写。需要注意的是,为防止文件名重复,需要对每次循环的文件名进行部分修改,故更改字符“0”使其每次增加1

2020-07-03 13:00:01 215

原创 Win32进程空间信息分析

  打开procexp.exe查看进程空间信息,proxexp提供了树型列表,方便对每个进程及其所包含的线程进行查看和分析。界面设计简单清晰,信息部分包括但不限于:每个进程的入口地址PID和相关线程的TID、CPU占用情况、进程描述以及开发公司。  打开LordPE.exe查看进程PID、虚拟内存地址和虚拟内存大小信息。该软件可通过加载一个程序来分析.text、.data等各模块的虚拟内存基址、偏移量等,如下图:  下面主要结合LordPE.exe对进程的PID进行分析,如下图:  观察到关键进程

2020-07-03 12:43:07 198

原创 Metasploit利用vnc图形化远程控制工具获得靶机远程控制桌面

问题描述  分别在Windows和Linux操作系统上安装Metasploit软件,并运行Metasploit完成针对Linux靶机usermap_script漏洞的渗透攻击,尝试使用植入VNC图形化远程控制工具的攻击载荷,成功获得Linux靶机上的远程控制桌面。  由于笔者没有配置Linux虚拟机,因此使用Windows XP SP3中文版作为靶机,并使用ms08_067作为渗透模块进行渗透。解决办法在msfconsole中使用命令:use exploit/windows/smb/ms08_06

2020-07-01 21:34:11 457 6

原创 Metasploit使用msfcli命令行接口编写shell脚本程序

问题描述  使用msfcli命令行接口编写一个Shell脚本程序,实现用户只需输入目标Linux靶机IP地址作为参数,就可以使用usermap_script漏洞渗透攻击模块,获得靶机的远程Shell访问。解决办法  由于2005年时便取消了msfcli,因此使用msfconsole -x来代替msfcli。  先提供脚本内容如下:#!/bin/bash #表示使用Bourne Again Shell的shell类型echo "Please set remote host(RHOST) IP"

2020-07-01 20:39:49 170

原创 Metasploit利用kali命令获取针对不同目标环境的渗透攻击模块数量

在Metasploit控制台程序中,使用命令search type:exploit target:windows 2000,如下:观察到关于windows 2000的渗透攻击模块数量为170。同理可以得到其他模块的数量。

2020-07-01 19:33:42 120

原创 kali无法使用ifconfig的解决办法

当前终端方法  由于ifconfig所在目录为/usr/sbin下,因此使用命令export PATH=/usr/sbin/:$PATH后,即可在当前终端使用ifconfig命令。但是该方法在打开新终端后ifconfig命令会失效。永久修改当前用户的PATH配置  使用命令vim ~/.bashrc后对该文件进行编辑,在文件尾部添加export PATH=/usr/sbin/:$PATH后保存并退出,使用命令source ~/bashrc来使文件生效。  vim编辑为点击i进行编辑,当编辑完成后,点

2020-06-30 22:09:36 1056

原创 Samba服务usermap_script安全漏洞

搜索方式首先登录Metasploit官网:https://www.rapid7.com,网页拉到最下端,点击Vulnerability & Exploit Database进入漏洞与数据库网站:https://www.rapid7.com/db/。已module搜索漏洞相关,如搜索“samba”,得到如下结果:点击EXPLORE进入查看其详细信息。Samba服务usermap_script安全漏洞CVE-2007-2447:远程命令注入漏洞=======================

2020-06-30 20:00:40 132

原创 渗透攻击代码共享站点

站点名称网址数据规模(千)Metasploitwww.metasploit.com/modules/0.1~1Exploit-dbwww.exploit-db.com1~10PacketStormpacketsrotmsecurity.org10~100SecurityFocuswww.securityfocus.com/bid1~10SecurityReasonsecurityreason.com/exploit_alert/1~10...

2020-06-29 17:06:02 110

原创 密钥管理

多级密钥管理数据密钥、MAC密钥等由二级密钥加密,二级密钥由恢复密钥RK加密,RK由主密钥加密。

2020-06-17 16:20:45 66

english_quadgrams.txt

密码学综合实践过程中,利用已知密码体制和密文来进行暴力破解的过程中,不可避免得将得到很多伪明文,因此尝试使用计算机自动识别,判断是否更接近明文。英文4字母词的排布符合统计学规律,因此若得到的伪明文的4字母词也符合自然语言的规律,则有更大概率为真明文。该文档提供了英文4字母词的统计值,将在算法中用到。

2020-05-06

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除