随笔分类 -  CTF

摘要:0x00 打开WEB界面看到如下 进行代码审计,可以得到如下信息: text 要想执行if里面的语句,需要满足isset($text)和file_get_contents($text,'r') "welcome to the zjctf"为True isset($text)用来判断text是否为空, 阅读全文
posted @ 2020-09-10 14:48 she11s 阅读(256) 评论(0) 推荐(0)
摘要:0x00 打开web界面如下 这是一个注入题,并且提示了flag在flag表的flag字段 经过模糊测试,发现如下 输入1 返回 Hello, glzjin wants a girlfriend. 输入2 返回 Do you want to be my girlfriend? 输入其他数字 返回 E 阅读全文
posted @ 2020-09-09 14:28 she11s 阅读(338) 评论(0) 推荐(0)
摘要:0x00 打开WEB界面如下 大致浏览一下网页,在pay.php页面发现如下 这里我们知道了几个获取flag需要满足的条件,查看该界面源码发现如下 通过代码审计和以上条件综合得到如下: 1.必须为CUIT的学生(暂时不知道如何使用) 2.money需要传入100000000 3.password需要 阅读全文
posted @ 2020-09-08 17:56 she11s 阅读(349) 评论(0) 推荐(0)
摘要:0x00 打开WEB界面如下,这是一道上传题目 我们先创建一个文件命名为1.jpg,进行上传得到结果如下 上传成功说明没有对文件头进行过滤,继续向文件中加入如下内容 <?php @eval($_POST['pass']); ?> 上传得到如下结果 上传成功说明没有对文件内容进行过滤,接下来我们修改文 阅读全文
posted @ 2020-09-08 16:19 she11s 阅读(620) 评论(0) 推荐(0)
摘要:0x00 打开WEB界面 提示找到备份,进行跑目录,备份命名一般为www.*,backup,*.bak等 经过跑目录我得到的结果是/index.php.bak 下载打开如下: <?php include_once "flag.php"; if(isset($_GET['key'])) { $key 阅读全文
posted @ 2020-09-08 15:39 she11s 阅读(347) 评论(0) 推荐(0)
摘要:0x00 打开界面,发现是一道上传题 首先我们来测试一下上传的文件类型,新建一个文件命名为1.jpg,进行上传,得到 根据提示我们可以猜测到,对文件头进行了检测,这里我们假设使用的是exif_imagetype函数,在文件里第一行加上GIF89a来绕过,上传得到结果如下 上传成功,说明我们的假设是正 阅读全文
posted @ 2020-09-08 11:30 she11s 阅读(624) 评论(0) 推荐(0)
摘要:0x00 打开web如下,可以看到这是一道上传的题 新建一个文件命名为3.php,进行上传,得到如下结果 发现被过滤了,进行模糊测试,发现php相关拓展名的都已被过滤掉,但是上传其他类型文件时显示不为jpg类型文件(如下),可以知道使用的是exif_imagetype函数{通过文件幻数(文件头)来判 阅读全文
posted @ 2020-09-08 10:37 she11s 阅读(258) 评论(0) 推荐(0)
摘要:0x00 打开web界面看到如下 提示我们已经进行了严格过滤,经过大量的模糊测试,我发现被过滤的词都被去掉后再传给数据库。 这时我们可以采用重写方式来绕过,为验证我们的想法,可以使用如下payload(万能密码): username: admin' oorr 1=1 # password: 123 阅读全文
posted @ 2020-09-08 08:56 she11s 阅读(291) 评论(0) 推荐(0)
摘要:0x00 打开web界面 猜测这里是执行ping命令,所以构造payload如下来测试是否存在命令执行 127.0.0.1&ls 验证了命令执行,构造如下payload来寻找flag 127.0.0.1&find / -name "flag" 得到了flag位置,我们继续构造如下payload来输出 阅读全文
posted @ 2020-08-28 08:23 she11s 阅读(274) 评论(0) 推荐(0)
摘要:0x00 打开网页,在源码中发现了如下 去访问改网页 打开BurpSuite去修改http请求头如下 得到 继续修改 得到 继续修改 得到flag 阅读全文
posted @ 2020-08-28 08:21 she11s 阅读(182) 评论(0) 推荐(0)
摘要:0x00 知识简介 php中的private和protect在序列化时的区别: protected 声明的字段为保护字段,在所声明的类和该类的子类中可见,但在该类的对象实例中不可见。因此保护字段的字段名在序列化时,字段名前面会加上\0的前缀。 ## 这里的 \0 表示 ASCII 码为 0 的字符( 阅读全文
posted @ 2020-08-27 17:35 she11s 阅读(199) 评论(0) 推荐(0)
摘要:0x00 打开网页 直接告诉了一个web shell,连接密码是Syc 打开蚁剑进行连接 结果直接就连接上了,然后进行如下操作直接获得flag 阅读全文
posted @ 2020-08-27 15:20 she11s 阅读(213) 评论(0) 推荐(0)
摘要:0x00 前言 做这道题的时候,我是通过弱口令来获取flag的。看了其他人的做法后决定都试一下,毕竟仅是通过弱口令也学不到什么。 主要有以下三种解法: unicode欺骗 flask session 伪造 条件竞争 0x01 信息收集 拿到一个网站最重要的当然是收集信息,收集到的信息决定了渗透的方向 阅读全文
posted @ 2020-08-27 15:07 she11s 阅读(511) 评论(0) 推荐(0)
摘要:0x00 打开网页 我们去访问一下/?ip=127.0.0.1,结果得到如下 发现返回的结果这不是执行了ping命令吗,猜测这里存在命令执行,我们继续执行如下payload: /?ip=127.0.0.1|ifconfig ## |无论第一个命令是否正确执行都将执行下一个命令 ## &第一个命令执行 阅读全文
posted @ 2020-08-16 12:20 she11s 阅读(399) 评论(0) 推荐(0)
摘要:0x00 打开网页 看到一个超链接,点开看看 看到访问的url包含flag.php,再加上标题include,极有可能flag就在这个文件的代码里 只要以编码方式去包含flag.php,然后再去解码就可以了 所以我们可以构造如下payload: /?file=php://filter/read=co 阅读全文
posted @ 2020-08-16 10:59 she11s 阅读(154) 评论(0) 推荐(0)
摘要:0x00 打开网页 首先试试万能密码 账户:随意 密码:1' or 1=1# 得到一段加密的密文,应该是MD5,结果找了很多网站也没能解开 看来只能通过其他思路了,既然存在万能密码那么肯定存在SQL注入 我们先来构造一个payload: /check.php?username=123&passwor 阅读全文
posted @ 2020-08-16 10:15 she11s 阅读(174) 评论(0) 推荐(0)
摘要:0x00 打开网页如下 打开网站源码,查找信息。 我看到还存在Archive_room.php文件,打开 打开网页源码,查看信息 可以看出点击SECRET按钮就是请求action.php文件,点击SECRET按钮 发现请求的是end.php,页面进行了重定向,而且根据上面的提示说明action.ph 阅读全文
posted @ 2020-08-15 15:54 she11s 阅读(191) 评论(0) 推荐(0)
摘要:0x00 php解析字符串特性解题 打开网页 看这里我们知道这是实现的一个网页计算器,所以不会存在SQL注入。 暂时能想到的没有其他方向了,所以我们去查找更多信息。 查看网站源代码,对代码进行观察 看到下面这一行 <!--I've set up WAF to ensure security.--> 阅读全文
posted @ 2020-08-14 11:36 she11s 阅读(224) 评论(0) 推荐(0)
摘要:0x00 打开网页发现 分别打开 /flag.txt: /welcome.txt: /hints.txt: 还有一点需要注意的是: /file?filename=/hints.txt&filehash=32aaa29a01b1b5a672bda72c1313619e 就如上面访问文件的时候都需要fi 阅读全文
posted @ 2020-08-10 08:37 she11s 阅读(157) 评论(0) 推荐(0)
摘要:打开网页如下 全页面就一个猫,没有任何输入的地方,去其他地方搜索一下信息 打开网页源码,在网页源码中发现了这个 $cat=$_GET['cat']; ##get请求 echo $cat; if($cat=='dog'){ ##关键字为dog的时候输出 echo 'Syc{cat_cat_cat_ca 阅读全文
posted @ 2020-08-09 08:07 she11s 阅读(142) 评论(0) 推荐(0)