16、看源代码发现
用它给的表达式把p1和p2组合,是一段UTF-8,解码得function checkSubmit(){var a=document.getElementById(“password”);if(“undefined”!=typeof a){if(“67d709b2b54aa2aa648cf6e87a7114f1”==a.value)return!0;alert(“Error”);a.focus();return!1}}document.getElementById(“levelQuest”).οnsubmit=checkSubmit;
知道应该输入:67d709b2b54aa2aa648cf6e87a7114f1,得flag。
17、先看网站源码,发现和16差不多,不过用的是Brainfuck?这种奇怪的东西。
。。。找这个的编译器找好久没找到能用的,我再找找先。。。
好吧,今天发现放进Chrome的console回车直接出flag,昨天做错了什么??,不知道什么原理。
18、这道题对我来说好难,把file的值改为index.php只能得到一串的
<\html>
<\title>Bugku-ctf<\/title>这种东西
最后还是通过http://blog.csdn.net/wy_97/article/details/77432002这篇文章知道了有个叫php://filter协议的东西,作用主要用另一种方法比如base64读取resource的内容,因为PHP的特征十分明显,所以被读取的时候可能会被过滤,但是如果用另外一种方式,过滤时就检查不出来是php因此就可以把源码泄露出来了。
因此参照php://filter的用法令file=php://filter/read=convert.base64-encode/resource=index.php,得到:
base64解码得:
出现的格式完整的PHP代码也可以证实以上说法。
想了半天,应该没有其他方法,了吧。
19、这个看源码抓包后没发现什么。所以就应该是密码爆破吧,5位不算很大,有了前几天的经验和学习,大概也知道怎么用脚本跑了,结果密码是13579,得flag:
20、前女友什么鬼???
这个昨天做完了今天就崩了明天补上吧。。记得大致是看到源码,然后利用php函数漏洞绕过?
21、查看源码发现就是要让clicks这个变量=1000000就可以了,通过前面的post方法可以做到。
22、这道题一开始毫无头绪。。。数十分钟后,发现.bak(backup)的秘密,所以说这道题是脑洞题??题目提示备份?
输入在URL末尾加上index.php.bak可以下到一个文件用编辑器打开可以看到代码:
<?php
/**
* Created by PhpStorm.
* User: Norse
* Date: 2017/8/6
* Time: 20:22
*/
include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);
echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
echo $flag."取得flag";
}
?>
和前女友那个差不多,构造?kkeyey1=QNKCDZO&kkeyey2=240610708