【Four-Week-Task】四周学习CTF之第一周【寒假更新】
写在最前:为了更好地系统学习CTF(楞头冲很惨 别问我怎么知道的 除非你是天才),决定先看再学,先正向再逆向。
/*
出版排版规范中,标题序号等级为:
第一级,一、二、三、(用顿号);
第二级,(一)、(二)、(三)(不用任何标点);
第三级,1.、2.、3.、(用圆点,不用顿号);
第四级,(1)、(2)、(3)、(不用任何标点);
第五级,用英文字母;
标题中,除了问号、感叹号,不用其他标点符号。
*/
第一周->上基础
一、HTTP
(一)、HTTP发展史
(二)、HTTP协议结构
1.HTTP通信过程
2.HTTP请求报文
- 报文首部:服务器或客户端需处理的请求或相应的内容和属性
- [CR+LF]:空行
- 报文主体:应被发送的数据
- 请求报文:方法 URL 协议版本 请求首部字段 内容实体
(1)请求报文框架
GET /news/ HTTP/1.1
⬆ ⬆ ⬆
方法 URL 协议版本
- GET /news/ HTTP/1.1 ⬅ 请求首部字段
- Host: www.cnblogs.com ⬅ 请求首部字段
- Connection: close ⬅ 请求首部字段
- Cache-Control: max-age=0 ⬅ 请求首部字段
UM_distinctid=16de1e05b67c0b-0fb348fb0; ⬅ 内容实体
(2)请求报文方法
- GET:请求访问已被URL识别的资源
- POST:传输实体的主体
- PUT:传输文件
- HEAD:和GET方法一样,只是不返回报文主体部分,用于确认URL的有效性和资源更新的日期等
- DELETE:删除文件
- OPTIONS:查询针对请求URL指定的资源支持的方法
- TRACE:让WEB服务器端将之前的请求通信环回给客户端
(3)请求首部字段
定义:请求首部字段是从客户端到服务器发送请求报文中所使用的字段,里面包含了附加信息、客户端信息以及对响应内容相关的优先级等内容
- Accept:通知服务器用户代理可处理的媒体类型及媒体类型的相对优先级 例如:Accept: text/html;q=0.9,*/*;q=0.8 q表示权重,默认值为1.0,当服务器提供多种内容时,将会有优先返回权重值最高的媒体类型
- Accept-Lanuage:告知服务器用户代理能够处理的自然语言集,以及其相对有限集,可一次指定多种自然语言集,同样可使用权重值q表示相对优先级 例如:Accept-Lanuage: zh-cn,zh;q=0.7,en=us,en;q=0.3
- Authorization:告知服务器用户代理的认证信息(证书值)
- Host:告知服务器请求的资源所处的互联网主机名和端口号 Host首部字段是在HTTP/1.1规范内唯一一个必须被包含在请求内的首部字段 例如:Host: www.baidu.com
- Referer:告知服务器请求的原始资源的URI 例如:Referer:www.baidu.com
- User-Agent:该字段会将创建请求的浏览器和用户代理名称等信息传给服务器 例如:User-Agent: Mozilla/5.0 (windows NT 6.1; WOW64; rv13.0) Gecko/=20100101 Firfox/13.0.1
3.HTTP响应报文
(1)响应首部字段
- Server :HTTP服务器的安装信息
- Location:令客户端重定向至URI
- Retry-After:对再次发起请求是时机要求
- ETag:资源的匹配信息,页面ETag不变服务器直接返回304状态码可减轻带宽压力
- Content-Type:服务器告诉浏览器响应内容是什么类型,以及采用的是什么字符编码
- Content-Length:服务器告诉浏览器,响应实体的大小
- Date:表示是服务器是在什么时候响应回浏览器,注意这里的时间是按照美国时间来计算。
- Accept-Ranges: bytes - 该响应头表明服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件
(2)实体首部字段
- Allow:该首部字段用于告知客户端能够支持Request-URI指定资源的所有HTTP方法,当服务器收到不支持的HTTP方法时,会以状态码405 Method Not Allowed作为响应返回。
- Content-Encoding:该首部字段用于告知客户端服务器对实体主体部分选用的内容编码方式。
- Content-Language:该首部字段会告知客户端,实体主体使用的自然语言。
- Content-MD5:资源的报文摘要
- Content-Length:该首部字段表明了实体主体部分的大小,单位是字节。对实体主体进行编码传输时,不能再使用该字段。
- Content-Location:使用该字段给出报文主体部分相对应的URI。和首部字段Location不同的是,该字段表示的是报文主体返回资源对应的URI。
- Content-Range:针对范围请求,返回响应时使用该首部字段告知客户端作为响应返回的实体的哪个部分符合范围请求。字段值以字节为单位,表示当前发送部分及整个实体大小。
- Content-Type:该首部字段说明了实体主体内对象的媒体类型。
- Expires:该首部字段会将资源失效的日期告知客户端。
- Last-Modified:该首部字段会指明资源最后修改的时间。
(三)、CTF中HTTP常考知识点
Method:GET请求被过滤器或者WAF拦截,可转换成POST请求绕过检测
User-Agent:XX题目必须通过HAHA浏览器访问才能答对,构造 User-Agent:HAHA
Location:重定向时到了错误的地址,可通过Location到跳转正确地址
Referer(来源):让从本地访问 构造 Referer:127.0.0.1或者Referer:localhost,问你是否来自湖州师范大学,构造 Referer:HUCTF
X-Forwarded-For:用来表示 HTTP 请求端真实 IP):必须从本地访问 构造X-Forwarded-For:127.0.0.1
Accept-Language:不允许中国人访问 构造Accept-Language: en-us,en;
Cookie:判断情况再进行构造,[ZJCTF2019预赛]请使用admin登陆,构造cookie:21232f297a57a5a743894a0e4a801fc3(admin的32位md5)
自定义首部字段:简单题直接放了flag或者提示在自定义字段中
二、windows系统安全
(一)、windows系统安全基础
1.常用命令
查看系统版本 ver
查看主机名 hostname
查看网络配置 ipconfig /all
查看用户 net user
查看开放端口 netstat -ano
打开注册表 regedit
打开事件查看器 eventvwr.msc
打开系统服务 services.msc
打开组策略编辑器 gpedit.msc
打开本地安全策略 secpol.msc
打开本地用户和组 lusrmgr.msc
2.账户安全
lusrmgr.msc
查看账户abc的详细信息:net user abc
创建(空密码)[删除]账户abc:net user abc/add[del]
创建普通账户abc,密码为123:net user abc 123/add
把abc加入[退出]管理员组:net localgroup adminstrators abc/add[del]
启动[停用]账户abc:net user abc/active:yes[no]
新建[删除]组admin:net localgroup admin/add[del]
查看当前用户:whoami
建立隐藏用户并获取权限:net user abc$ net localgroup administrators abc$ /add
3.本地安全策略
secpol.msc
账号策略、密码策略等等
4.口令安全
利用hydra(九头蛇)暴力破解内网Windows登陆密码
在线:hydar -l whoami -P /root/zidian.txt smb://192.168.1.114
离线:PwDump 提取windows口令的哈希值 利用Opcrack彩虹表暴力破解
(二)、windows安全配置规范
1.系统服务
services.msc
查看已开启的服务:net start
停止服务:net stop servername
2.服务与进程安全
查看端口与进程关系:netstat -ano 任务管理器内根据PID找到对应的进程
3.日志审核
事件查看器:eventvwr.msc
审核策略:secpol.msc
Windows日志默认位置:“%systemroot%\system32\config”
FTP连接日志和HTTPD事务日志:“%systemroot%\System32\LogFiles”
注:%systemroot%是统配符表示系统安装目录。
4.文件权限控制
NTFS:一种为windows内核设计的磁盘格式
FAT32:微软发明,非微软也在使用的磁盘格式
1.在时间上,NTFS相对于FAT32推出的要晚,技术更先进。
2.NTFS拥有更高的安全属性。
【Four-Week-Task】四周学习CTF之第一周【寒假更新】的更多相关文章
- Python学习之旅--第一周--初识Python
一:Python是一种什么样的语言? 1.语言的分类: a.编译型语言和解释性语言: 通常所说的计算机语言分为编译型和解释型语言.编译型语言典型的如C,C++,通常在程序执行之前必须经由编译器编译成机 ...
- 红帽学习笔记[RHCSA] 第一周
目录 红帽学习笔记[RHCSA] 环境 第一课 关于Shell 命令的基础知识 在终端中敲命令的快捷键 本次课程涉及的命令 第二课 常用的目录结构与用途 本次课程涉及到的命令 第三课 关于Linux的 ...
- 学习进度条<第一周>
所花时间(包括上课):8小时(上课4,编程0.5,写博客1,读书2.5) 代码量:90行 博客量:4篇 了解到的知识点:什么是BUG 哪怕有几万分之一的概率也要考虑安全 ...
- 16级第一周寒假作业F题
Subsequence TimeLimit:1000MS MemoryLimit:65536K 64-bit integer IO format:%lld Problem Description A ...
- FJUT16级第一周寒假作业题解J题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS MemoryLimit:128M ...
- FJUT16级第一周寒假作业题解D题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS MemoryLimit:128M ...
- FJUT16级第一周寒假作业题解I题
涨姿势题3 TimeLimit:1000ms MemoryLimit:128000KB 64-bit integer IO format:%lld Problem Description 涨姿势题就 ...
- FJUT16级第一周寒假作业题解G题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P6 涨姿势题1 TimeLimit:1000MS MemoryLimit:128000K ...
- 福建工程学院16级第一周寒假作业E题----第七集,奇思妙想
第七集,奇思妙想 ...
随机推荐
- linux 快速和慢速处理
老版本的 Linux 内核尽了很大努力来区分"快速"和"慢速"中断. 快速中断是那些能够很 快处理的, 而处理慢速中断要特别地长一些. 慢速中断可能十分苛求处理 ...
- 读《Effect Java中文版》
读<Effect Java中文版> 译者序 序 前言 第1章引言 1 第2章创建和销毁对象 4 第1条:考虑用静态工厂方法代替构造函数 4 第2条:使用私有构造函数强化singleto ...
- 计算机网络OSI模型
一. 理想模型-OSI 7层模型 那么数据是如何传输的呢?看下图:上层的Header+DATA作为新的Data再次被封装,到达目的地后就像剥洋葱一样掐头(去尾)最终留下你所要传的数据. 各层功能详细阐 ...
- Java 学习笔记(10)——容器
之前学习了java中从语法到常用类的部分.在编程中有这样一类需求,就是要保存批量的相同数据类型.针对这种需求一般都是使用容器来存储.之前说过Java中的数组,但是数组不能改变长度.Java中提供了另一 ...
- Appium中使用相对路径定位元素Xpath
1.若页面该元素没有ID 2.找出该元素父类,并拷贝出父类的class(类名)和ID 3.点击搜索图标,进行查找 selector内容://android.widget.LinearLayout[@r ...
- Visio图像应用
图像插入: 直接搜索然后插入 CAD是工程绘图. CAD属性设置框 下面是图像编辑: 通过格式中的旋转进行调整 但是CAD格式的图没有格式 图片可以设置题注 图片层次的使用 CAD图片颜色的修改在 图 ...
- axure公式的使用和局部变量简介
什么时候有公式?当前面是值的时候后面都可以用公式 公式怎么用?1.公式里直接写入字符串 2.变量([变量])加上字符串 3.[[]]里面运算 外面字符串 两个中括号里的变量就可以计算或者显示默认值而不 ...
- VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
出现问题的原因: 原因一.出现此问题的原因是Device Guard或Credential Guard与Workstation不兼容. 原因二.Windows系统的Hyper-V不兼容导致. 解决方案 ...
- resin部署安装
Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身也是采用JAVA语法开发,功能近似于t ...
- Spring||IQ
Here's the question about spring 1.Spring概述 Spring 是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应 ...