区块链相关资料
区块链基础 知乎专栏 从零开始构建一个区块链 (一):区块链 从零开始构建一个区块链 (二):工作量证明 从零开始构建一个区块链 (三):API 从零开始构建一个区块链 (四):共识 UTXO 其实并没有什么比特币,只有 UTXO 知乎:比特币UTXO的原理?
DDCTF2018-区块链
https://xuanxuanblingbling.github.io/ctf/web/2018/05/01/DDCTF2018-WEB4-区块链/
浏览器同源策略
https://www.cnblogs.com/laixiangran/p/9064769.html 什么是浏览器同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说 Web 是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 它的核心就在于它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。 所谓同源是指:域名、协议、端口相同。 下表是相对于 http://www.laixiangran.cn/home/index.html 的同源检测结果: 另外,同源策略又分为以下两种: DOM 同源策略:禁止对不同源页面 DOM 进行操作。这里主要场景是 iframe 跨域的情况,不同域名的 iframe 是限制互相访问的。 XMLHttpRequest 同源策略:禁止使用 XHR 对象向不同源的服务器地址发起 HTTP...
跨域资源共享CORS
原文地址: 跨域资源共享 CORS 详解 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 本文详细介绍CORS的内部机制。 一、简介 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。 二、两种请求 浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。 只要同时满足以下两大条件,就属于简单请求。 (1)...
浏览器的缓存机制
先看上图,如果对图中的(a)(b)©(d)四个过程的处理方式都很清楚了,那么请不用再看本文了。 两个概念 强缓存 用户发送的请求,直接从客户端缓存中获取,不发送请求到服务器,不与服务器发生交互行为。 协商缓存 用户发送的请求,发送到服务器后,由服务器判定是否从缓存中获取资源。 两者共同点:客户端获得的数据最后都是从客户端缓存中获得。 两者的区别:从名字就可以看出,强缓存不与服务器交互,而协商缓存则需要与服务器交互。 四个过程详解 (a)浏览器判定是否有缓存 先理解个概念,所谓“客户端缓存”就是指用户设备中本地资源。不同浏览器缓存文件的地址也不尽相同。 我们以chrome为例来查看下浏览器缓存文件的地址, 1)首先在chrome中输入:chrome://chrome-urls/,看到一堆列表,里面隐藏了许多浏览器的奥秘,有兴趣的可以自己深扒。 2)找到 chrome://cache(当然也可以直接输入这个地址) 为了验证缓存,我们打开百度,打开开发者模式,去掉disable-cache选项 从上图中可以看到,第一个从缓存中取的文件是:...
Perl-CGI
Perl CGI编程 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏览器访问URL并连接到HTTP web 服务器。 2、Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信息。 3、浏览器从服务器上接收信息,并显示接收的文件或者错误信息。 CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等。 CGI架构图 Web服务器支持及配置 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序。 Apache 支持CGI 配置: 设置好CGI目录: 1ScriptAlias /cgi-bin/...
Perl特殊变量
Perl 特殊变量 Perl 语言中定义了一些特殊的变量,通常以 ,@,或, @, 或 % 作为前缀,例如:,@,或_。 很多特殊的变量有一个很长的英文名,操作系统变量 $! 可以写为 $OS_ERROR。 如果你想使用英文名的特殊变量需要在程序头部添加 use English;。这样就可以使用具有描述性的英文特殊变量。 最常用的特殊变量为 $_,该变量包含了默认输入和模式匹配内容。实例如下: 实例 123456#!/usr/bin/perl foreach ('Google','Runoob','Taobao') { print $_; print "\n";} 执行以上程序,输出结果为: 123GoogleRunoobTaobao 以下实例我们不使用 $_ 来输出内容: 实例 123456#!/usr/bin/perl foreach ('Google','Runoob','Taobao')...
csaw-ctf-2016-quals
i-got-id-200 文件上传处猜测后台逻辑是简单的接受文件,并将内容输出 12345678910use strict;use warnings; use CGI;my $cgi= CGI->new;if ( $cgi->upload( 'file' ) ) { my $file= $cgi->param( 'file' ); # 接受文件 $file是文件句柄 while ( <$file> ) { # 遍历文件 print "$_"; # $_代表默认输出,也就是文件每一行的值 } } 在Perl中存在一个全局参数ARGV perl将perl命令行的参数列表放进数组ARGV(@ARGV)中。既然是数组,就可以访问($ARGV[n])、遍历,甚至修改数组元素 我们可以尝试上传文件内容为ARGV然后,再GET参数提交一个文件路径/flag Perl...
Web-CGI通用网管接口
CGI (通用网关接口) 公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、Java、VB 和Delphi 等。CGI分为标准CGI和间接CGI两种。标准CGI使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接CGI又称缓冲CGI,在CGI程序和CGI接口之间插入一个缓冲程序,缓冲程序与CGI接口间用标准输入输出进行通信 [1] 。 简介 CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口。服务器端与客户端进行交互的常见方式多,CGI ...
python带cookie-headers请求脚本
123456789101112131415161718192021222324252627282930313233343536373839404142434445import requestsimport reurl="http://111.198.29.45:54295/"r=requests.session()hearders={ "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0", "Referer": "http://111.198.29.45:54295/register.php", "Content-Type": "application/x-www-form-urlencoded", "Host" :...


