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十六进制查看即可,就在最后尾部。