站点: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 入门笔记的更多相关文章

  1. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  2. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  3. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  4. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  5. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  6. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  7. OpenGLES入门笔记四

    原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...

  8. OpenGLES入门笔记三

    在入门笔记一中比较详细的介绍了顶点着色器和片面着色器. 在入门笔记二中讲解了简单的创建OpenGL场景流程的实现,但是如果在场景中渲染任何一种几何图形,还是需要入门笔记一中的知识:Vertex Sha ...

  9. unity入门笔记

    我于2010年4月1日硕士毕业加入完美时空, 至今5年整.刚刚从一家公司的微端(就是端游技术+页游思想, 具体点就是c++开发, directX渲染, 资源采取所需才会下载)项目的前端主程职位离职, ...

随机推荐

  1. SAP OB52会计年度变式

    Var.(Posting Period Variant) 记帐区间变式,每个公司代码对应一个记帐期间变式,多个公司代码可以使用一个相同的记帐期间变式 A(Performance Assistant) ...

  2. 使用Settings sync同步VS Code配置

    使用Settings sync同步VS Code配置 因为要在多台电脑上使用VSCode,想要简单地管理VSCode地配置,不用每次手动去一一配置,保持多个开发环境的同步,于是使用Settings s ...

  3. 激活windows操作系统的命令行指令

    1.开始菜单中搜索命令提示符,右键管理员运行 2.为了避免激活的失败,首先卸载已经过期的密钥 输入以下命令:slmgr.vbs /upk 回车确认之后会弹出提示“已成功卸载了产品密钥” 3.下一步是将 ...

  4. android binder 进程间通信机制1-binder 驱动程序

    以下内容只大概列个提纲,若要明白其中细节,还请看源码: 申明:本人菜鸟,希望得到大神指点一二,余心足已 binder 设备:/dev/binder binder 进程间通信涉及的四个角色: Clien ...

  5. 踩坑---vue-cli搭建的项目中localhost不能访问

    只需要在config文件夹里面的index.js文件里面的module.exports下面的dev中的 host:'localhost' 改为 host:'0.0.0.0' ,然后重启服务器

  6. 201871010113-刘兴瑞《面向对象程序设计(java)》第十六周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...

  7. acwing 848 有向图的拓扑序列

    地址 https://www.acwing.com/problem/content/description/850/ 题目描述给定一个n个点m条边的有向图,图中可能存在重边和自环. 请输出任意一个该有 ...

  8. 关于group by的用法 原理

    转载: https://blog.csdn.net/u014717572/article/details/80687042. 写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉grou ...

  9. Oracle讨论Java 13版本

    JDK 13提高了应用程序性能,添加了两种语言功能预览,以及更多JDK 13  根据Oracle Java Team的说法,JDK 13致力于通过提高Java SE平台和JDK的性能,稳定性和安全性来 ...

  10. SqlServer PIVOT行转列

    PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合. 测试数据 INSERT INTO [TestRows2Columns] ...