OpenSSL

Nginx用法详解

末鹿安然 提交于 2021-02-14 08:51:19
nginx作为一个高性能的web服务器,想必大家垂涎已久,蠢蠢欲动,想学习一番了吧,语法不多说,网上一大堆。下面博主就nginx的非常常用的几个功能做一些讲述和分析,学会了这几个功能,平常的开发和部署就不是什么问题了。因此希望大家看完之后,能自己装个nginx来学习配置测试,这样才能真正的掌握它。 1. 正向代理 正向代理:内网服务器主动去请求外网的服务的一种行为 光看概念,可能有读者还是搞不明白:什么叫做“正向”,什么叫做“代理”,我们分别来理解一下这两个名词。 正向:相同的或一致的方向 代理:自己做不了的事情或者自己不打算做的事情,委托或依靠别人来完成。 借助解释,回归到nginx的概念,正向代理其实就是说客户端无法主动或者不打算完成主动去向某服务器发起请求,而是委托了nginx代理服务器去向服务器发起请求,并且获得处理结果,返回给客户端。 从下图可以看出:客户端向目标服务器发起的请求,是由代理服务器代替它向目标主机发起,得到结果之后,通过代理服务器返回给客户端。 举个栗子:广大社会主义接班人都知道,为了保护祖国的花朵不受外界的乌烟瘴气熏陶,国家对网络做了一些“优化”,正常情况下是不能外网的,但作为程序员的我们如果没有谷歌等搜索引擎的帮助,再销魂的代码也会因此失色,因此,网络上也曾出现过一些fan qiang技术和软件供有需要的人使用,如某VPN等

CTF 湖湘杯 2018 WriteUp (部分)

老子叫甜甜 提交于 2021-02-14 07:39:33
湖湘杯 2018 WriteUp (部分),欢迎转载,转载请注明出处 https://www.cnblogs.com/iAmSoScArEd/p/10016564.html ! 1、 CodeCheck(WEB) 测试admin ‘ or ‘1’=’1’# ,php报错。点击登录框下面的滚动通知,URL中有id=b3FCRU5iOU9IemZYc1JQSkY0WG5JZz09,想到注入,但是不管输入什么都给弹到index,于是扔下这个思路。掏出目录扫描工具,发现存在list.zip,打开后是前面存在注入的界面。 图中告诉了加密的算法,AES-128-CBC对称加密,给了iv和key。并且若id后七位不是hxb2018则发生跳转(知道了之前一直跳index的原因),并且在最后返回的内容中会过滤掉空格。 上图可以看到注入的下面根据审计出的东西进行构造sql注入语句,因为会过滤空格,所以需要对空格进行代替,那就选择常用的注释/**/吧。 第一次注入为了测试有效性构造了1/**/and/**/1=2/**/union/**/select/**/1,2,3,4/**/hxb2018 对其进行AES-128-CBC加密,加密配置如下图: 拿到加密的结果放到id=后面,发现原通知部分显示了数字2和3,(3在正文部分)所以我们用第三个字段的位置来显示查询内容。 1,构造爆表语句: 1/**/and

在Cisco的ASA防火墙上实现IPSec虚拟专用网

只愿长相守 提交于 2021-02-13 23:47:15
  前言:   之前写过一篇博文:Cisco路由器之IPSec 虚拟专用网,那是在公司网关使用的是Cisco路由器的情况下,来搭建虚拟专用网的,那么公司网关若是Cisco的ASA防火墙呢?就让这篇博文来带你配置一下。   注:虚拟专用网:(Virtual Private Network),请看英文的首字母,就知道是什么咯,由于它是敏/感词汇,所以文中全部使用虚拟专用网来代替   关于其中的知识点及相关概念,都在文章开头的那篇博文链接中介绍的差不多了,在防火墙和路由器上实现虚拟专用网,原理差不多,所以这里就不啰嗦了,直接上配置。   网络环境如下:      一、网络环境需求   1、需要在总公司和各个分公司的网关ASA上建立IPSec虚拟专用网,实现总公司和分公司的某个网段(一般是只有某个部门有互通的必要性)互通。   2、两个分公司之间也需要配置虚拟专用网实现互通,并且是通过总公司的网关ASA的outside区域的E0/1实现互通的(当然,也可以绕过总公司的ASA防火墙,根据实际需求来定即可)。   3、不但总公司与分公司之间需要有虚拟专用网,而且不要影响公司内部主机访问Internet(通过端口PAT来实现,配置完成后,Telnet登录R2路由器进行验证)。   4、公司内部使用路由器来代替PC机进行测试,Internet的R2路由器除了配置IP地址外,不可配置任何路由条目。

实验吧-密码学-杯酒人生(特殊凯撒--维吉尼亚密码)(凯撒加解密脚本、维吉尼亚密码加解密脚本)

99封情书 提交于 2021-02-13 14:05:06
题目: 使用古典密码 一喵星人要想喵星发送一段不知道干什么用的密码“BLOCKCIPHERDESIGNPRINCIPLE”, 但是它忘记了密钥是什么, 手头(爪头)只有它自己加密过的密钥“HTRUZYJW”, 而且它 还知道原密钥是一个单词, 你可以帮助它传递信息, 早日攻克蓝星, 征服人类吗? 已经提示要用古典密码,现在有两个字符串,一个是密码,一个是密钥。 密钥没加密前是一个单词,我们用凯撒解码,可以看到应该是COMPUTER 而这个密码在喵星人发送之前要进行加密,一串大写字母,而且这一串字母是:block cipher design principle 意思就是:分组密码设计原理 其实,这是一个特殊的凯撒:维吉尼亚密码 先介绍一下这个密码,该密码的加解密的对应表是由26个字母的所有凯撒解码组成。 A -A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B -B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C -C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D -D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E -E F G H I J K L M N O

kubectl 命令详解

两盒软妹~` 提交于 2021-02-13 10:26:04
  使用kubectl来管理Kubernetes集群。 kubectl命令的选项: 选项 作用 --alsologtostderr[=false] 同时输出日志到标准错误控制台和文件 --api-version="" 和服务端交互使用的API版本 --certificate-authority="" 用以进行认证授权的.cert文件路径 --client-certificate="" TLS使用的客户端证书路径 --client-key="" TLS使用的客户端密钥路径 --cluster="" 指定使用的kubeconfig配置文件中的集群名 --context="" 指定使用的kubeconfig配置文件中的环境名 --insecure-skip-tls-verify[=false] 如果为true,将不会检查服务器凭证的有效性,这会导致你的HTTPS链接变得不安全 --kubeconfig="" 命令行请求使用的配置文件路径 --log-backtrace-at=:0 当日志长度超过定义的行数时,忽略堆栈信息 --log-dir="" 如果不为空,将日志文件写入此目录 --log-flush-frequency=5s 刷新日志的最大时间间隔 --logtostderr[=true] 输出日志到标准错误控制台,不输出到文件 --match-server-version[

迅为iMX6ULL开发板移植 ssh 服务

蓝咒 提交于 2021-02-13 07:57:19
硬件平台: i.MX6UULL开发板 转自:迅为 i.MX6UULL开发板使用手册第七十五章 整个移植过程是比较简单的,而且我们没有做任何协议方面的了解,只是 “配置”+“编译”就完成了整个工作,现在大家应该对移植开源软件有了基本的了解。本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux 系统开发进阶 \75_章节使用资料 。 入门视频教程中,给 Windows 系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器,这样就可以通过 ssh 在 Windows 和虚拟机 Ubuntu 之间传输文件。其实在开发板上也是可以移植和安装 ssh 服务器,这样就可以通过网络,在 Windows 和开发板之间传输文件。 我们要完成的目标是能够通过 ssh 在开发板在 Windows 和开发板之间传输文件,当然也是可以使用ssh 控制台。 这个实验比前面的 “串口文件传输工具”教程在工程(实用性)上是更加有用的,假如在实际的产品中,运行的是根文件系统,没有界面,如果数据需要在开发板和 Windows 传输数据,对于普通用户来说,是一个很好的选择,操作起来比较简单,只需要登陆然后直接将文件拖来拖去即可。 这个实验的难度要比 “串口文件传输工具”要大一点,ssh 服务器需要依赖其他的库文件,所以需要开发者先移植完成所有依赖的库文件,最后才能移植 ssh 服务器。

聊一聊 HTTPS 的工作原理

こ雲淡風輕ζ 提交于 2021-02-13 07:34:56
关注公众号 前端开发博客 ,回复“ 加群 ” 加入我们一起学习,天天进步 文章来源:https://www.javadoop.com/post/https 本文聊聊 HTTPS 的一些东西,和大家扯扯 SSL 证书的整个工作流程。希望大家有一些基本的常识: https 使用了非对称加密和对称加密,为什么要使用对称和非对称加密?非对称加密的原理是什么?这种简单的问题默认读者已经了解了。 非对称加密涉及到一对公钥和私钥组合,它们是一一对应的关系,不存在一个私钥对应多个公钥这种情况。 CA 是 Certification Authority 的缩写,它代表世界上那些权威的证书颁发机构。 CA 需要做什么 我们在申请一个 https 证书的时候,要在市场上选择一家 CA 来给你签发证书,那么 CA 的工作是什么呢? CA 要验证这个域名真的是你的:通常就是通过 DNS 记录或者就是你在指定 URI 下放置一个特殊文件,让 CA 可以在外网环境下访问到它。 CA 是一个非常关键的角色,因为它签出来的任何证书都是被信任的,所以这要求每个 CA 都不能胡来。 ❝ 试想一下,如果某个 CA 私自给某个黑客签发了 *.taobao.com 的证书,那么黑客就能利用这个证书实现中间人攻击了。 有没有发生过 CA 瞎搞的事情呢?有一个典型的案例就是赛门铁克,由于它签发了大量的不合规的证书,导致了

从零开始完整学习全基因组测序数据分析: Trimmomatic、SOAPnuke、sickle和seqtk的比较

流过昼夜 提交于 2021-02-13 06:40:16
在第4节开始之前,先来一段插曲。在上一节中,我们说到可以使用Trimmomatic、sickle、seqtk或者SOAPnuke对fastq数据进行过滤。那么也许你会好奇,那他们都有什么特点,都一样好吗或是有哪些差异之处?正所谓,工欲善其事必先利其器,所以这篇文章将会与你一起来解开这几个问题。 因为Trimmomatic的安装已经在 第3节 数据质控 中说的比较清楚了,这里就不再赘述。那么, 先说SOAPnuke的安装,你有两种方式: 第一,确保你的系统中有automake。由于SOAPnuke还使用了多个第三方的c++ 程序库,包括 但不限于 : boost,log4cplus和openssl。因此,需要在你的系统中先安装好这几个库,并修改SOAPnuke代码包的CMakeLists.txt,重新指定里面这几个程序包的路径。同时还需要把上述包的include目录链接到CMakeList.txt中指定的目录(或者你也可以修改到其他目录)下。此外,如果上述三个包的静态库没在默认路径下,那么。。。你还得找到它们,然后修改路径,并涉及到少量代码的修改,再进行编译,然后祈祷。。。至于第三方程序库的安装方法都可以在网上找到。但特别指出一点,建议使用源码安装(特别是log4cplus),防止有些包默认不产生静态链接库。另外,版本不对也会报各种error,包括编译器的error

redhat6本地源NBD驱动安装

旧巷老猫 提交于 2021-02-13 06:30:17
安装NBD驱动 一.配置本地yum源 1、挂载系统安装光盘 # mount /dev/cdrom /mnt/cdrom/ # mkdir /mnt/media # cp -rf /mnt/cdrom /* /mnt/media 2、配置本地yum源 # cd /etc/yum.repos.d/ #vi rhel-source.repo [rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source #baseurl=ftp: //ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/ baseurl=file: ///mnt/media/ enabled=1 gpgcheck=0 gpgkey=file: ///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel-source-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source #baseurl=ftp: //ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os

使用openssl演练数字签名

≡放荡痞女 提交于 2021-02-13 02:45:56
以下代码摘自网上,设置一个server和client,client代码如下: package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get( "https://localhost:8081" ) if err != nil { fmt.Println("error:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) } server代码如下: package main import ( "crypto/tls" "crypto/x509" "fmt" "io/ioutil" "net/http" ) func main() { pool := x509.NewCertPool() caCertPath := "ca.crt" caCrt, err := ioutil.ReadFile(caCertPath) if err != nil { fmt.Println("ReadFile err:", err) return } pool.AppendCertsFromPEM(caCrt) tr := &http