自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 qemu-KVM基本工作原理

当 guest OS 执行一些特权指令或者外部事件时, 比如I/O访问,对控制寄存器的操作,MSR的读写等, 都会导致物理CPU发生 VMExit, 停止运行 Guest OS,将 Guest OS保存到VMCS中, Host 状态装入物理处理器中, 处理器进入根操作环境,KVM取得控制权,通过读取 VMCS 中 VM_EXIT_REASON 字段得到引起 VM Exit 的原因。guest看到是从0开始的guest物理地址空间(类比从0开始的线性地址),而且是连续的,虽然有些地址没有映射;

2024-09-24 17:23:05 424

原创 第四章 CPU虚拟化

x86CPU共有ring0~ring3四个运行等级,操作系统的代码运行在ring0,应用程序的代码运行在ring3.当应用程序需要执行一些敏感操作时,需要执行特殊的指令(系统调用)陷入(trap)到系统内核。特权指令:只能在ring0执行的指令。非特权指令:能在ring3执行的指令。敏感指令:会影响整个系统的指令,如读写时钟,读写中断寄存器等。非敏感指令:只影响自身所在进程的指令。Intel通过在原来x86 CPU的基础上增加VMX架构来实现CPU的硬件虚拟化。

2023-07-04 20:22:17 560

原创 Hadoop集群搭建

搭建教程和资源已上传1.1Linux搭建在VMware上部署6台Linux虚拟机用于搭建集群和虚拟机的配置,包括虚拟机网卡和主机虚拟网卡和网关的配置,以及Linux的一些基础配置,有防火墙、主机名、ssh免密登陆和主机名和地址的映射等配置,主机名和地址的映射主要是为了方便使用和记忆,例如在连接ssh时可以直接使用ssh root@hadoop0X这样的方式,ssh免密登陆可以通过非对称加密的方式快速连接信任的主机,以及为基于ssh隧道的命令实现后台自动执行。1.2Hadoop集群搭建Hadoop是一

2021-10-18 16:39:39 346

原创 HackRequests+BeautifulSoup+re爬取网站网址

先用语法搜索一波想要爬取的网站点击页码,抓包看看请求头,多抓几个放入对比器找到页码参数可以看到页码参数为pn,第一页为0,第二页为10,第五页为40,可以知道每一页pn增加10,写python脚本。import refrom bs4 import BeautifulSoup as BSimport HackRequests as hackdef tomcat(raw): hh = hack.httpraw(raw=raw) soup = BS(hh.text(), fe

2021-09-09 15:20:25 1889

原创 sqli-lab代码审计

导入Seay并自动审计,一个一个进行查看第一个:这是一个文件写入的代码段,意思是将接收到的GET请求参数id的值拼接起来写入result.txt文件中,就是一个id的历史记录文件。因为没有对id参数进行过滤,所以认为有文件写入漏洞,但是写入的是txt文件,就只是写入,不进行解析操作,所以还需要配合文件上传,上传一个.htaccess文件,将result.txt文件当作php脚本进行解析,这样就可以写入一句话木马了,但是没有文件上传漏洞,所以第一个没什么用。第二个:第二个就是第十关的SQL注入漏

2021-09-06 14:34:03 3297

原创 PHP代码审计总结

开发安全应用的原则1.深度防范(冗余,谨慎过头了)2.最小权限(分配尽量少的权限)3.简单就是美(复杂容易出错,出错导致漏洞)4.暴露最小化(隐藏关键数据)等等等等方法1.平衡风险与可用性用户操作的友好性与安全措施比较矛盾,在提高安全性的同时,通常会降低可用性(操作麻烦,步骤繁琐)。尽量使安全措施对用户透明,或采用用户熟悉的方式。比如在用户访问受控信息前需要输入用户名和密码来确认身份。2.跟踪数据(数据从哪来,要到哪去)在代码审计中,主要检查代码中与外部交互的部分。3.过滤输入4.

2021-09-02 22:33:49 794

原创 一次未成功的渗透测试实战

先随便找个后台界面先简单手动试几个弱口令,提示用户不存在,那就可以尝试爆破用户名啦爆破之前再搜一下关键字MetaAdmin v1 Clever Administrator Panel,看看能否关联到CMS类型什么的,很遗憾啥也没有然后注意到验证码很容易辨认,很简单,用验证码识别工具搭配Burp尝试爆破一下...

2021-08-30 22:44:47 590 1

原创 验证码识别+爆破

碰到比较简单,很好辨认的验证码可以尝试此种方法爆破审查元素,找到验证码对应URL复制到域名后面访问一下,确定是验证码URL然后,打开工具PKAV HTTP FUzzer,开始尝试自动识别验证码。工具下载地址:https://sec.kim/2019/01/07/渗透测试工具%EF%BC%9Apkav-http-fuzzer/点击下方图片型验证码识别,将验证码URL复制到工具中,设置参数,该网站验证码为四位可重复小写字母点击识别测试,更换识别引擎多试几次,估计一下哪个准确率高Burp抓包

2021-08-30 21:22:01 6505 3

原创 Web目录文件扫描程序(python)

使用方法首先找个网站,我们可以看到URL中有php后缀名,说明该网站为php网站输入参数:URL,文件类型,线程数,即可扫出目录文件验证一下,访问成功代码环境pycharm,python3.9文件结构dics文件夹下为各个后缀名的字典,网上可以下载,第二个参数即为选择要使用的字典user_agent_list.py是随机生成user-agent的文件,用来绕过cc流量拦截,常见的user-agent也可在网上找user_agent_list.py# coding:utf-8i

2021-08-27 18:10:26 746 1

原创 python正则匹配百度检索到的后台管理网站

先用语法搜索出后台网站复制url,编写python代码,根据特征写正则表达式# coding=utf-8import reimport requestsurl = 'http://www.baidu.com/网页代码'r = requests.get(url)word = re.findall('http://www.baidu.com/link\?url=[\w|-]*', r.text) 正则匹配for i in word: print (i)...

2021-08-26 12:01:00 139

原创 DVWA爆破high等级与token机制介绍(附防爆破措施)

token机制介绍https://www.cnblogs.com/xuxinstyle/p/9675541.html对于有token来防护csrf的,可以使用到Grep功能进行爆破,因为每次用户的token都是随机的。原理:options将线程数设置为1(递归查找,将上一个请求的相应token作为下一个请求的payload的token,所以就不并发)High里面添加了user_token,用户每次访问改密页面时,服务器会返回一个随机的token,向服务器发起请求时,需要提交token参数,而服务器

2021-08-13 16:38:25 997 1

原创 同源策略介绍

同源策略同源策略限制了不同源之间如何进行资源交互,是用于隔离潜在恶意文件的重要安全机制。是否同源由URL决定,URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。1.file域的同源策略只有当源文件的父目录是目标文件的祖先目录时,文件才能读取另一个文件。2.cookie的同源策略cookie使用不同的源定义方式,一个页面可以为本域和任何父域设置cookie,只要是父域不是公共后缀(public suffix)即可。不管使用哪个协议(HTTP/HTTPS)

2021-08-11 21:14:21 1805

原创 HTTPS详解

HTTPS 可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL。交互1.证书验证阶段浏览器发起 HTTPS 请求服务端返回 HTTPS 证书其中证书包含:颁发机构信息公钥公司信息域名有效期指纹客户端验证证书是否合法,如果不合法则提示告警2.数据传输阶段当证书验证合法后,在本地生成随机数通过公钥加签随机数,并把加密后的随机数传输到服务端服务端通过私钥对随机数进行解签服务端通过客户端传入的随机数构造对称加密算法,对返回结果

2021-08-08 17:21:59 133

原创 Apache解析漏洞

Apache解析漏洞主要是因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准)1.如图,最后一个后缀名为.xxx,不合法,所以向左看,.php为合法后缀,所以以.php格式解析,可用来绕过黑名单过滤2.AddHandler导致的解析漏洞如果服务器给.php后缀添加了处理器:AddHandler application/x-httpd-php.php那么,在有多个后缀

2021-08-04 18:20:42 16121 4

原创 正则表达式常用符号及python示例

代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束\字符转义*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次[]范围|或()分组\W匹配任意不是字母,数字,下划线,汉字的字符...

2021-08-04 15:45:16 457

原创 Linux服务器手动搭建(ubuntu)操作简单

1.安装apachesudo apt-get install apache2安装好之后测试一下,如果你在本地安装的apache那么直接在浏览器上访问:localhost或者127.0.0.1即可。如果是在服务器上安装的,输入服务器的ip地址。然后浏览器出现以下画面则apache2正常工作了,apache默认网站的文件根目录在/var/www下面2.安装mysqlsudo apt-get install mysql-server mysql-client3.安装phpsudo apt-get

2021-07-30 22:48:32 633

原创 WAF原理及绕过(成功绕过某狗)

绕过截图测试网站sqli-labs/Less-11,hackbar被拦截,burp成功绕过报错原理解析https://blog.csdn.net/qq_36119192/article/details/90113167https://www.freebuf.com/news/193659.html

2021-07-24 10:36:17 396

原创 探寻宝藏-双进程DP(优化版)

题目传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物。某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角。当然,迷宫中的通路不是平坦的,到处都是陷阱。Dr.Kong决定让他的机器人卡多去探险。 但机器人卡多从左上角走到右下角时,只会向下走或者向右走。从右下角往回走到左上角时,只会向上走或者向左走,而且卡多不走回头路。(即:一个点最多经过一次)。当然卡多顺手也拿走沿路的每个宝物。 Dr.Kong希望他的机器人卡多尽量多地带出宝物。请你编写程序,帮

2021-07-22 17:15:43 418 1

原创 即时通信客户端心跳机制及文本消息发送功能实现(C语言不调库)

运行截图输入IP与端口号,弹出登录框 输入用户名与密码进行注册再次用同样的用户名与密码注册提示用户名重复用注册好的用户名与密码进行登录,登录成功弹出聊天框点击heartbeat,维持自己的在线状态点击PullInfo,拉取好友信息显示好友asd不在线,再次打开一个客户端登录asd账户,重新拉取好友信息,显示asd好友在线,输入好友IP进行聊天代码代码文件与网络编程学习资料由于内容较多请在我的资源中下载...

2021-07-22 15:53:37 213

原创 DES加密与解密

运行截图代码#include<iostream>using namespace std;/******************************求密钥部分**************************************///置换选择1 去除64位中的奇偶校验位生成56位密钥void Permutation_1(int Before[], int After[]){ int Permutation_1[56] = { 57,49,41,33,25

2021-07-22 15:29:38 285

原创 RSA加密

运行截图代码#include<iostream> #include<cmath> using namespace std; /*这个算法使用int类型,最大值21亿。可能出现的最大值是 n* n。所以n要小于根号21亿,大致是45000。*/int gcd(int a, int b) { //最大公约数 int temp; //比较两个数的大小,值大的数为a,值小的数为b if (a < b) { temp = a;

2021-07-22 15:26:36 105

原创 语法分析器

运行截图代码#include<iostream>#include<map>#include <string>#include <stack> #include<queue>#include<algorithm>using namespace std;/*multimap<string, multimap<char, string>> table; //分析表multimap<

2021-07-22 15:18:20 414

原创 词法分析程序

代码链接:http://8.140.3.170/index.php/archives/7/.运行截图:

2021-04-17 19:49:47 67

原创 剑指 Offer 15. 二进制中1的个数

代码:class Solution {public: int hammingWeight(uint32_t n) { int count=0; while(n){ //按位判断 /*if(n&1) count++; n=n>>1;*/ //n&(n-1) n=n&(n

2021-02-05 10:32:34 49

原创 剑指 Offer 11. 旋转数组的最小数字

排序数组的查找问题首先考虑二分法。代码:// An highlighted blockclass Solution {public: int minArray(vector<int>& numbers) { //O(n) /*for(int i=0;i<numbers.size()-1;i++){ if(numbers[i]>numbers[i+1]){ return numbers[i+

2021-02-03 16:46:05 55

原创 剑指 Offer 10- I. 斐波那契数列

代码:class Solution {public: int dp[101]={0}; int fib(int n) { //递归 /*if(n<2) return n; return (fib(n-1)%1000000007+fib(n-2)%1000000007)%1000000007;*/ //迭代 /*int a[2]={0,1}; if(n<2) return

2021-02-02 17:08:21 123 1

原创 剑指 Offer 07. 重建二叉树

代码:下面展示一些 内联代码片。class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { return Help(preorder,0,preorder.size()-1,inorder,0,inorder.size()-1); } TreeNode* Help(vector<int&g

2021-02-01 17:15:39 44

原创 剑指 Offer 09. 用两个栈实现队列

自己的代码:class CQueue {public: stack<int> stack1; stack<int> stack2; CQueue() { } void appendTail(int value) { stack1.push(value); } int deleteHead() { if(stack1.empty()) return -1

2021-01-29 18:34:05 55

原创 剑指 Offer 06. 从尾到头打印链表

自己的代码,记录节点个数,倒序放入数组中。// A code blockvar foo = 'bar';// An highlighted blockclass Solution {public: vector<int> reversePrint(ListNode* head) { ListNode* p=head; int count=0; while(p){ count+

2021-01-28 10:58:11 57

原创 剑指 Offer 05. 替换空格

自己的代码:// An highlighted blockclass Solution {public: string replaceSpace(string s) { for(int i=0;i<s.size();i++){ if(s[i]==' '){ s=s+"00"; for(int j=s.size()-1;j>i+2;j--){

2021-01-27 11:51:46 69 2

原创 剑指 Offer 03. 数组中重复的数字

关键:数字都在0~n-1范围内。思路:将值为i的元素调整到第i个位置求解,例如{1,2,3,0,1},先将第一个1调整到第1个位置,到第二个1时,由于第1个位置已经有1,则说明重复。调整判断过程:i=0:1,2,3,0,12,1,3,0,13,1,2,0,10,1,2,3,1nums[0]=0,结束,i++i=1:nums[1]=1,结束,i++i=2:nums[2]=2,结束,i++i=3:nums[3]=3,结束,i++i=4: nums[4]=nums[nums[4]]

2021-01-26 17:43:30 67

原创 剑指 Offer 04. 二维数组中的查找

题目:关键:每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。选择左下角为起点,同一行右边的数都比它大,同一列上边的数都比它小。matrix[i][j]比target大就向右找,反之则向上找。判断时利用短路特性,先判断是否越界,再判断是否相等,如果越界就不会判断“matrix[i][j]!=target”避免matrix[i][j]访问越界。...

2021-01-26 16:37:06 58

OpenSSL3.0.0静态编译

OpenSSL3.0.0 msvc2019 x64和x86 静态编译

2022-06-23

Linux.zip(塞瑞尔答的传说)

Linux大作业

2021-08-28

二手房交易管理系统.zip

二手房交易管理系统.zip

2021-08-28

网络编程实验,大作业,学习资料

即时通信客户端心跳机制及文本消息发送功能实现 QT环境,C语言实现,不调库函数

2021-07-22

空空如也

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

TA关注的人

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