MIT 6.s081 (6.1810) 学习记录-Lab1-Xv6 and Unix utilities
课程地址:https://pdos.csail.mit.edu/6.S081/2023/labs/util.html
基础环境
首先要根据lab tools page 配置Linux环境,我使用的是Ubuntu 22.04的服务器版本
1sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
环境测试
由于本实验的运行环境在RISC-V架构下,所以需要测试在RISC-V的基本环境下是否可以正常编译并运行xv6系统
123# 版本检查qemu-system-riscv64 --versionriscv64-linux-gnu-gcc --version
获取并启动xv6(easy)
从git仓库中获取xv6源代码
12git clone git://g.csail.mit.edu/xv6-labs-2023cd xv6-labs-2023
编译并运行xv6
1make qemu
启动后应该会有如下输 ...
Vue+Arco Design Pro配置proxy跨域代理
最近在使用Arco Design+Vue进行一个后台管理系统的开发,目前后端的API与前端不在同一台ip上,直接进行请求会出现跨域问题
介绍
使用arco init hello-arco-pro命令配置好的Arco Design Pro项目是通过Vite进行启动的,Vite在进行配置的时候,可以对前端服务器的代理规则进行自定义配置,实现跨域API的访问请求。Vite Proxy的大致原理可以参考下图(源自CSDN@南木元元)
配置方法
在Arco Design Pro的项目目录中,通常会存在一个config文件夹hello-arco-pro/config,config目录结构如下:
123456config├── plugin├── utils├── vite.config.base.ts├── vite.config.dev.ts└── vite.config.prod.ts
打开vite.config.dev.ts文件(通常来说使用npm run dev命令调用的就是这个配置文件),在server选项下添加proxy(如果没有server则手动添加):
123456789se ...
数据库系统CMU15445 Project
1.前置配置
这里我使用VSCode连接自己的一台服务器,服务器的版本为Ubuntu 22.04.4 LTS
2024 GitHub Student Developer Pack 学生开发包申请指南
准备材料
Github账号(自行申请,任意邮箱均可)
教育邮箱(edu.cn后缀的学校邮箱)
学信网的个人学籍在线验证报告
账号个人信息设置
开启2FA双因素认证
开启地址:https://github.com/settings/security ,点击绿色按钮进行2FA配置
进入到2FA配置页面点击setup key获取2FA密钥
将密钥添加到2FA验证器中添加,这里推荐使用浏览器插件(身份验证器)进行2FA验证码生成
以身份验证器为例,添加密钥认证的过程如下
添加完成后每隔固定时间会自动生成六位数验证码,将验证码填入到GitHub中申请验证的位置
随后保存验证器恢复代码到本地用于防止验证器丢失
出现此界面说明2FA验证器添加成功
完善公开资料信息
地址:https://github.com/settings/profile ,主要完善图中的必要信息
添加账单信息
设置地址:https://github.com/settings/billing/payment_information ,只需填写带* 的部分必填信息并保存(此处姓名以张三为例)
申请过程
注意在 ...
Oh-My-Zsh 安装&配置
最近多次重复配置Linux环境,每次都要重新搜索教程重新配置终端,在此对终端配置过程进行一个汇总,使用Oh My Zsh对终端进行美化
下载与安装
安装Oh My Zsh首先要安装Zsh,本文操作都在Ubuntu下进行
1sudo apt-get install zsh
然后安装Oh My Zsh,可以通过curl或wget的方式进行安装,每种方式提供Github和国内镜像两种下载渠道
curl安装
Github
1sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Gitee
1sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
wget安装
Github
1sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/mas ...
Go SDK搭建多通道多orderer节点的Fabric环境
书接上回,之前利用fabric-go-sdk的项目进行修改,成功创建起了多组织多对等节点的Fabric网络,但这远远不能满足正常开发使用的需求。本文将基于之前的工作内容,逐步实现多通道多排序节点的Fabric网络,并对创建以及踩坑过程做一个简单记录。
多通道搭建
组织结构
在之前已经搭建出3个组织,每个组织有2个peer节点的Fabric网络的基础上,多通道的方案计划使用3条通道进行划分,其中Org1的peer0、peer1和Org3的peer0加入Channel1,Org2的peer0、peer1和Org3的peer1加入Channel2,Org3的peer0、peer1加入Channel3,具体示意图如下
配置文件修改
fixtures
网络结构发生了变化,只需对生成通道以及相关锚节点的配置文件configtx.yaml进行修改。对于crypto-config.yaml和docker-compose.yaml这两个文件与通道的配置没有关系,故不用作任何改动。
在configtx.yaml中只需要按照网络结构修改Profiles选项即可,这里直接贴出修改后的相关配置
12345 ...
使用fabric-sdk-go搭建Hyperledger Fabric测试环境
最近在研究一些HyperLedger Fabric平台的相关内容,需要搭建出一个Fabric的运行环境进行测试,在此对搭建的过程进行一个记录与分享,如有不够完善或者做得不对的地方欢迎评论区留言讨论。目前的搭建计划是将利用Go版本的Fabric SDK,从最简单的单Orderer单通道单组织逐步扩充,最终实现多Orderer多通道多组织的Fabric网络环境。
基础环境
1. 安装Docker和Docker Compose
安装Docker
如果原先系统中存在docker,需要先进行卸载
1sudo apt-get remove docker docker-engine docker.io
卸载完成后再进行安装,在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装,另外可以通过 --mirror 选项使用国内源进行安装:
若安装测试版的 Docker, 脚本url为 test.docker.com
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-do ...
SQL注入之sqlmap的使用方法
使用sqlmap进行SQL注入
1.扫描注入漏洞类型
语法:-u [url]
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1"
将我们要扫描的网站URL填入到命令中,运行后会输出结果:
从结果中可以看到网站的注入点在id这里,是以GET的方式提交的,并且网站存在4中类型的SQL注入漏洞,分别是布尔型盲注、报错注入、时间型盲注和联合查询注入
2.查询数据库名
语法:-u [url] --current-db
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --current-db
运行完成后会直接显示出当前使用的数据库
3.查表名
语法:-u [url] -D [database_name] --tables
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security --tables
工具会自动查出数据库中 ...
SQL注入原理及注入过程
SQL注入简介
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL注入的学习过程我使用GitHub的一个开源项目进行练习[Sqli-Lab项目地址]
万能密码
这里使用的是Less-11进行试验
Less-11的页面存在一个的登录框
一般最简单的登录框在登陆的时候是直接传参到数据库中进行查询,所使用的查询语句为:
1select username,password from user where username='$name' and password='$pwd';
1.逻辑或注入
如果我们使where条件为真,那么必然会有查询结果输出
我们可以在username中输入任意值,在password中输入1' or '1'='1,提交之后可以看到我们使用Dumb账户登陆成功了
分析一下,如果我们使用这样的密码进行登录,所 ...
SSRF漏洞原理简介及绕过技巧
SSRF简介
SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统,正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
SSRF常见危害
可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的Banner信息等
攻击运行在内网或本地的应用程序
对内网Web应用进行指纹识别,通过访问默认文件实现( 如Readme等文件)
攻击内外网的Web应用,主要是使用GET就可以实现的攻击(比如Struts2,SQLI等)
利用File协议读取本地文件等
SSRF常见应用场景
在线翻译
图片加载与下载
图片、文章收藏功能
未公开的API实现以及其他调用URL的功能等
SSRF常见绕过技巧
利用@符号
利用localhost
利用短地 ...