CTF 入门笔记
站点:http://www.moctf.com/
web1:水题
非常简单的题目,直接F12查看元素即可,在HTML代码中,flag被注释了。

web2:水题
该题的核心 就是通过HTML代码对输入框进行了属性设置,限制输入框不可输入、宽度为4
但题目要求输入moctf,为5宽度;故此,需要删去不可输入的属性,宽度属性改为5
web3:访问限制:
该题的目的是限制访问的浏览器和身份;
第一:要求访问的身份是:NAIVE浏览器,解决方法是改变User-Agent(主要显示浏览器的信息)属性值
通过抓包,将User-Agent属性值变更:

第二:要求访问的身份是:香港记者
变更Accept-Language属性值为 : zh-HK
【 Accept-Language表示浏览器所支持的语言类型 == 表示所在的区域】
web3:机器蛇
发现是一个动态的游戏页面,进入robots.txt页面

发现内容,根据flag提示,进入/flag327a6c4304ad5938eaf0efb6cc3e53dc.php中

web5:php黑魔法
源码:
<?php
$flag="moctf{**************}";
if (isset($_GET['a'])&&isset($_GET['b'])) {
$a=$_GET['a'];
$b=$_GET['b'];
if($a==$b)
{
echo "<center>Wrong Answer!</center>";
}
else {
if(md5($a)==md5($b))
{
echo "<center>".$flag."</center>";
echo "By:daoyuan";
}
else echo "<center>Wrong Answer!</center>";
}
}
else echo "<center>好åƒå°‘了点什么</center>";
?>
代码审计后,发现要求a和b两个不等参数的md5要相同
于是构造url 提供a和b的不等参数值 ?a=240610708&&b=QNKCDZO

web6:要钱
该题有源码:--代码审计
<?php
include "flag.php";
highlight_file(__FILE__); if (isset($_GET['money'])) {
$money=$_GET['money'];
if(strlen($money)<=4&&$money>time()&&!is_array($money))
审计——//money 长度不超过 4 且 值必须大于 time() money不是数组
// time()返回的是当前时间的秒数,
{
echo $flag;
echo "<!--By:daoyuan-->";
}
else echo "Wrong Answer!";
}
else echo "Wrong Answer!";
?>
构造url:?money=1e10
解析:长度小于5,并且数值很大,不是数组 。
web7:登录
SQL注入题目:万能的用户密码:—— admin ‘ -- ' 或者 admin' #

web8:文件包含
发现url中存在问题,

于是利用php伪协议:?file=php://filter/read=convert.base64-encode/resource=flag.php

base64解码后就得到flag http://tool.oschina.net/encrypt?type=3
web9:
-----------------------------------
MISC1:我可是黑客:
直接使用winhex十六进制查看即可,就在最后尾部。
CTF 入门笔记的更多相关文章
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- ES6入门笔记
ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- OpenGLES入门笔记四
原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...
- OpenGLES入门笔记三
在入门笔记一中比较详细的介绍了顶点着色器和片面着色器. 在入门笔记二中讲解了简单的创建OpenGL场景流程的实现,但是如果在场景中渲染任何一种几何图形,还是需要入门笔记一中的知识:Vertex Sha ...
- unity入门笔记
我于2010年4月1日硕士毕业加入完美时空, 至今5年整.刚刚从一家公司的微端(就是端游技术+页游思想, 具体点就是c++开发, directX渲染, 资源采取所需才会下载)项目的前端主程职位离职, ...
随机推荐
- 用户APC的执行过程
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 用户APC的执行过程 一.一个启发式问题 有一个问题,线程什么时候 ...
- Linux gzip: stdin: not in gzip format
在解压tar.gz文件的时候报错 tar -zxvf otp_src_18.3.tar.gz gzip: stdin: not in gzip format tar: Child returned s ...
- Git错误:error:failed to push some refs to 'git@gitee.com:name/project.git'
大家在通过本地仓库上传文件到远程仓库时,会报出 error:failed to push some refs to 'git@gitee.com:name/project.git' 的错误. 解决方法 ...
- golang-基础
1.go的特点 兼具动态语言的开发效率与C,C++,java的性能安全性 ,内置编译器 2.go的安装 go的sdk下载: https://studygolang.com/dl go的IDE下载: ...
- 面向对象OPP
在此之前学习的编程方式均称为面向过程,过程类似于函数,只能执行,没有返回值 面向过程和面向对象 面向过程-->怎么做? 面向对象-->谁来做? 相比函数,面向对象 是更大的封装,根据职 ...
- shiro授权、注解式开发
在ShiroUserMapper.xml中新增内容 <select id="getRolesByUserId" resultType="java.lang.Stri ...
- deepin安装nginx失败记录
问题描述 在deepin系统中,apt install nginx 返回信息报错: nginx 依赖于 nginx-full (<< 1.10.3-1+deb9u2.1~) | nginx ...
- Codeforces Round #599 (Div. 2) A. Maximum Square 水题
A. Maximum Square Ujan decided to make a new wooden roof for the house. He has
- TensorFlow2教程(目录)
第一篇 基本操作 01 Tensor数据类型 02 创建Tensor 03 Tensor索引和切片 04 维度变换 05 Broadcasting 06 数学运算 07 前向传播(张量)- 实战 第二 ...
- 微服务SpringCloud项目架构搭建入门
Spring的微服务框架SpringCloud受到众多公司欢迎,给大家带来一篇框架搭建入门.本次采用的版本是Spring Cloud版本为Finchley.RELEASE. 一.SpringCloud ...