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
12curl -fsSL get.docker.com -o get-docker.shsudo sh get-d ...
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
利用短地 ...
DVWA练习——CSRF漏洞原理
1.简介
CSRF(Cross-site request forgery,跨站请求伪造)通常是黑客利用已经登录的用户,诱使其访问或者登录某个早已构造好的恶意链接或者页面,然后在用户毫不知情的情况下,以用户的名义完成了非用户本意的非法操作。
这种攻击我们也被称为“One Click Attack“或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用行为。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范。
2.同源策略
什么是同源策略
同源策略由Netscape公司于1995年引入浏览器。目前,所有的浏览器都实行这个策略。它的含义是指,A网页设置的cookie,B网页不能打开,除非这两个网页同源。所谓的同源指的是三个相同:
协议相同
域名相同
端口相同
同源策略的目的
为了保证用户信息的安全,防止恶意的网站窃取数据。
3.DVWA——CSRF漏洞学习
Low
将安全等级调为Low,查看Low级别的源码:
1234567891011121314151617181920212223242526272829< ...
session覆盖攻击原理与实验
实验使用session登陆的php demo源码进行测试,源码下载链接
使用前需要先将数据库文件cms.sql导入到cms数据库(没有就先创建一个),默认有两个账户:admin/123456,admin1/admin
session覆盖简介
session覆盖攻击是一种非常流行的针对session的攻击方式,攻击者通过截获正常用户在某个网站的session id,就可以模仿这个用户,实现下一步的攻击。通常会被用作恶意重置用户的密码。
session覆盖过程
使用浏览器访问我们的session源码网站目录,可以看到有账户、密码和密文的提交框
先使用admin账户登录,并输入密文cxk后登录
为了方便实验,在页面展示出了当前用户的session id
然后再打开另外一个浏览器,使用我们另外一个账号admin1登录,密文填写任意值
这里使用另外一个浏览器是因为,在我们登录账号的时候,由于session的原因,浏览器会保存我们当前账号的登陆状态,如果不退出浏览器或者退出账号,就一直处于当前账号的登陆状态,无法登录进其他账号
打开BurpSuite对admin1进行拦截,刷新页面, ...
DVWA练习——XSS漏洞原理
简介
XSS攻击(Cross Site Scripting,跨站脚本攻击)通常指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
XSS漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数
常见的输出函数有: echo、printf、print、print_r、sprintf、die、var-dump、var_export
XSS主要分为三类:存储型XSS、反射型XSS和DOM型XSS
DVWA——XSS原理学习[DVWA源码下载]
DVWA——存储型XSS
什么是存储型XSS
攻击者可以通过XSS漏洞将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这就意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此储存型XSS的危害会更大。因为存储型XSS的代码存在于网页的代码中,可以说是永久型的。
存储型 XSS 一般出现在网站留言、评论、博客日志等交 ...
session、cookie和token的区别
session(会话)
session是用户使用web应用请求服务的时候,在服务器端生成的一次会话证明,这个证明会临时保存在服务器端,当用户离开网站或浏览器结束web访问的时候就会被销毁。
服务器为了区分当前向自己请求服务的是谁,给每个用户分发了一个唯一的“身份标识”(也就是sessionID),当用户使用客户端向服务端发送请求的时候,需要携带该sessionID才能正确请求到服务。
浏览器和服务器使用session进行交互的过程
cookie
cookie是在浏览器客户端存储的一种数据。cookie由服务器生成,发送给浏览器,浏览器把它以文件的形式保存在浏览器的某个目录中。在下一次请求同一网站的时候浏览器会把该cookie发送给服务器,由服务器使用用户名和口令对cookie进行验证。
cookie的请求流程
token(令牌)
token 也称作令牌,由uid+time+sign[+固定参数]加密后生成。
token 的认证方式类似于临时的证书签名, 并且是一种服务端无状态的认证方式。所谓无状态就是服
务端并不会保存身份认证相关的数据。
组成
uid: 用户唯一身份标识
ti ...