CTF常用函数

我们在做ctf题时经常需要看一些浏览器的请求和反应头,但是我们经常不能很好的了解他们,因此我对接收我们浏览器的请求头有关的后端$_SERVER变量做了一个总结。

$_SERVER``[``'HTTP_ACCEPT_LANGUAGE'``];``//浏览器语言

$_SERVER``[``'REMOTE_ADDR'``]; //当前用户 IP 。

$_SERVER``[``'REMOTE_HOST'``]; //当前用户主机名

$_SERVER``[``'REQUEST_URI'``]; //URL

$_SERVER``[``'REMOTE_PORT'``]; //端口。

$_SERVER``[``'SERVER_NAME'``]; //服务器主机的名称。

$_SERVER``[``'PHP_SELF'``];``//正在执行脚本的文件名

$_SERVER``[``'argv'``]; //传递给该脚本的参数。

$_SERVER``[``'argc'``]; //传递给程序的命令行参数的个数。

$_SERVER``[``'GATEWAY_INTERFACE'``];``//CGI 规范的版本。

$_SERVER``[``'SERVER_SOFTWARE'``]; //服务器标识的字串

$_SERVER``[``'SERVER_PROTOCOL'``]; //请求页面时通信协议的名称和版本

$_SERVER``[``'REQUEST_METHOD'``];``//访问页面时的请求方法

$_SERVER``[``'QUERY_STRING'``]; //查询(query)的字符串。

$_SERVER``[``'DOCUMENT_ROOT'``]; //当前运行脚本所在的文档根目录

$_SERVER``[``'HTTP_ACCEPT'``]; //当前请求的 Accept: 头部的内容。

$_SERVER``[``'HTTP_ACCEPT_CHARSET'``]; //当前请求的 Accept-Charset: 头部的内容。

$_SERVER``[``'HTTP_ACCEPT_ENCODING'``]; //当前请求的 Accept-Encoding: 头部的内容

$_SERVER``[``'HTTP_CONNECTION'``]; //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。

$_SERVER``[``'HTTP_HOST'``]; //当前请求的 Host: 头部的内容。

$_SERVER``[``'HTTP_REFERER'``]; //链接到当前页面的前一页面的 URL 地址。

$_SERVER``[``'HTTP_USER_AGENT'``]; //当前请求的 User_Agent: 头部的内容。

$_SERVER``[``'HTTPS'``]; //如果通过https访问,则被设为一个非空的值(on),否则返回off

$_SERVER``[``'SCRIPT_FILENAME'``]; //当前执行脚本的绝对路径名。

$_SERVER``[``'SERVER_ADMIN'``]; //管理员信息

$_SERVER``[``'SERVER_PORT'``]; //服务器所使用的端口

$_SERVER``[``'SERVER_SIGNATURE'``]; //包含服务器版本和虚拟主机名的字符串。

$_SERVER``[``'PATH_TRANSLATED'``]; //当前脚本所在文件系统(不是文档根目录)的基本路径。

$_SERVER``[``'SCRIPT_NAME'``]; //包含当前脚本的路径。这在页面需要指向自己时非常有用。

$_SERVER``[``'PHP_AUTH_USER'``]; //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

$_SERVER``[``'PHP_AUTH_PW'``]; //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

$_SERVER``[``'AUTH_TYPE'``]; //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型

转自http://www.php.cn/php-weizijiaocheng-387152.html

刚刚从上面介绍了php接收浏览器请求数据的方法,接下来讲解我们浏览器常用的请求字段:

Accept:用于高速服务器,客户机支持的数据类型
Accept-Charset:用于告诉服务器,客户机采用的编码格式
Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头高速服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookie:客户机通过这个头可以向服务器带数据
Connection:处理完这次请求后是否断开连接还是继续保持连接
Date:当前时间值 --------------------- 本文来自 Cool-span 的CSDN 博客 ,

全文地址请点击:https://blog.csdn.net/qxs965266509/article/details/8082810?utm_source=copy

既然有请求当然也有服务器对浏览器的响应了,接下来介绍一些服务器的常见响应字段:

Location:这个头配合302状态码使用,用于告诉客户找谁。
Server:服务器通过这个头告诉浏览器服务器的类型。
Content-Encoding:服务器通过这个头告诉浏览器数据的压缩格式。
Content-Length:服务器通过这个头告诉浏览器回送数据的长度
Content-Type:服务器通过这个头告诉浏览器回送数据的类型
Last-Modified:告诉浏览器当前资源的最后缓存时间
Refresh:告诉浏览器隔多久刷新一次
Content-Disposition:告诉浏览器以下载方式打开数据
Transfer-Encoding:告诉浏览器数据的传送格式
ETag:缓存相关的头
········三种禁止浏览器缓存的头字段:
Expires:告诉浏览器把回送的资源缓存多长时间 -1或0则是不缓存
Cache-Control:no-cache
Pragma:no-cache
服务器通过以上两个头,也就是控制浏览器不要缓存数据 --------------------- 本文来自 Cool-span 的CSDN 博客 ,

全文地址请点击:https://blog.csdn.net/qxs965266509/article/details/8082810?utm_source=copy

想要一下子掌握这么内容也是不容易的,因此我们需要找一些例子来加深对这些字段的理解,对我们做ctf的web题是很有帮助的。

你可能感兴趣的:(CTF常用函数)