寒假第三周CTFwp

0x00 本周做了NCTF的几道题,分享一下wp。
原题链接
1 层层递进 脑洞题:
一开始没思路,后来F12找线索,然后发现了几个比较可疑的文件,发现一个404.html,打开试了一下。

查看源代码,发现有段js被注释了,仔细看看这段js代码。一眼就看出了flag。

nctf{this_is_a_fl4g}


2 AAencode 明显是编码,还做过类似的。console解释即可。
nctf{javascript_aaencode}
3 单身二十年
真信了,点进去没有,返回查看源码,看到了,php的地址,进入可以看到flag。

nctf{yougotit_script_now}
4 你从哪里来
are you from google?
明显让我们构造一个来自谷歌的地址,想到http请求的Referer字段,记录从哪个网址进入当前网址。

但是并没有出来flag。网上搜了一下,一样的做法,比较懵。。。
5 php decode

利用php解码,只要把eval函数换成echo,即可。

得到flag:nctf{gzip_base64_hhhhhh}
6 文件包含 让我点,就点进去了。出来了这个url:
http://4.chinalover.sinaapp.com/web7/index.php?file=show.php

很明显有文件包含在里面。一开始以为会把flag放在其他文件,文件包含来读。但是因为不知道flag包含在哪个文件,摸黑试了几个,但是没用,于是放弃了这个方法。
了解了新的姿势 可以构造php://filter 语句过滤,可以得到index.php的源码(base64加密
)。
file=php://filter/read=convert.base64-encode/resource=index.php


解密得到源码,然后就得到flag了。
asdf - 锐客网

7 单身二十年也没用 在消息头,没意思。

得到flag: nctf{this_is_302_redirect}
8 Download 【寒假第三周CTFwp】
查看源码:

发现下载链接的url:
download.php?url=eGluZ3hpbmdkaWFuZGVuZy5tcDM=

于是想下载download.php看看。
?url=ZG93bmxvYWQucGhw http://way.nuptzj.cn/web6/download.php?url=ZG93bmxvYWQucGhw

看到源码,^_^

又看到一个文件:hereiskey.php ,估计flag就在这里面。
?url=aGVyZWlza2V5LnBocA== http://way.nuptzj.cn/web6/download.php?url=aGVyZWlza2V5LnBocA==

得到flag:nctf{download_any_file_666}
9 cookie 提示0 == no
那么1 == yes
容易想到修改cookie字段Login的值为Login=1;
得到flag。
flag:nctf{cookie_is_different_from_session}
10 MYSQL
写过爬虫的都知道robots协议,百科传送门
"; } else{ echo($query[content]); } } ?>

很明显输入一个id值,由于GET方法,直接在url中输入即可,
id!=1024,
但是where id =’ id′,怀疑i d ′ , 怀 疑 id=intval($_GET[id])==1024,
于是试了一下?id=1024.5,过了。
chinalover.sinaapp.com/web11/sql.php?id=1024.5

the flag is:nctf{query_in_mysql}
11 /x00 源码:
if (isset ($_GET['nctf'])) { if (@ereg ("^[1-9]+$", $_GET['nctf']) === FALSE) echo '必须输入数字才行'; else if (strpos ($_GET['nctf'], '#biubiubiu') !== FALSE) die('Flag: '.$flag); else echo '骚年,继续努力吧啊~'; }

变量nctf 要是数字而且要包含#biubiubiu,很神奇吧,怎么可能呢。。。
其实提示说了,/x00,想到用/x00截断,那么原理是什么呢?
这里ereg有两个漏洞
1. %00截断及遇到%00则默认为字符串的结束
2. 当nctf为数组时它的返回值不是FALSE
所以有两个方法去攻这道题目
1. 令nctf=123%00#biubiubiu
2. 令nctf为数组则,nctf[]=111
附加:
=== 格式也等
!== (0!==false 为true)
所以,这道题的解法就出来了:
1. ?nctf=123%00%23biubiubiu 2. ?nctf[]=12


flag:nctf{use_00_to_jieduan}

    推荐阅读