WPSEC-周计划(三)

这一次来看望某名牌高校——

图表来自网络

底特律邮电大学的CTF题目吧~

(Ps:因本人较懒,所以做题时都是手工+度娘,几乎平昔不采用浏览器以外的工具,如有更好的措施,欢迎留言告知~)

文/韩二伯的小商品铺

Web

1.

签到题

直接查看源代码吧。。

<html>  
<title>key在哪里?</title> 
<head> 
      <meta http-equiv="content-type" content="text/html;charset=utf-8">
      <astyle="display:none">nctf{flag_admiaanaaaaaaaaaaa}</a> 
</head> 
<body> key在哪里? 
</body>  
</html>

Flag:nctf{flag_admiaanaaaaaaaaaaa}

自己因而对考研的阅历影像如此清晰,因为这是自身第一民用生抉择。

md5 collision

直白给了源码,来探视

$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
   echo "nctf{*****************}";
} else {
   echo "false!!!";
}}
else{echo "please input a";}

意识采取的是MD51=MD52来跳出flag,而且还给了个参数a,那么只需要让参数a的值经过MD5加密后与字符串QNKCDZO经过加密后的MD5值相等就好了。加密后意识是0E开头的密文,即PHP解析0E开头的md5漏洞。详情参见:http://blog.csdn.net/bestlzk/article/details/77994272
那么直接在url后增长
?a=s878926199a(自行百度,数不胜数),即http://chinalover.sinaapp.com/web19/?a=s878926199a
Flag就贴出来了。
Flag:nctf{md5_collision_is_easy}

是属于自我自己的挑选。

签到题2

口令是11位数的zhimakaimen,输入会意识这多少个输入框限制输入长度为10位数,本人Firefox浏览器直接按F12(或鼠标单击右键审查元素)找到这一行:

<input value="" name="text1" maxlength="10" 
style="background-image:url··· type="password">

比途中一切各种更令人永生难忘的,是在做决定前与一位讲师的通话。

maxlength=”10″的10改成>=11,再输入就能够付出口令了。

Flag:nctf{follow_me_to_exploit}

顿时他正好在自家的目标院校修读硕士后,我几乎是抱定被拒绝的立意点开了拨号键。

这题不是web

既然不是web,源码和头文件也从未其它指示音讯,就把这张图下载下来,改为txt格式打开,Ctrl+F高速搜索,发现flag在文末。。还确实不是WEB啊
Flag:nctf{photo_can_also_hid3_msg}

“你精晓这里是最好的。”

稀有推进

没啥思路。。。就右键查看源代码,跟随底部链接,依次访nctf{javascript_aaencode}
开拓是乱码,习惯性用转码工具(Alt->查看->文字编码->Unicode)转换一下发觉是一对堆表情,显然是JS加密,间接F12贴进控制台跑一下,Flag就出来了~
Flag:nctf{javascript_aaencode}

“我知道。”

独自二十年

查看源码,点击<a
href=”./search_key.php”>
,Flag直接出来了。。
Flag:nctf{yougotit_script_now}

“你知道这里是最难的。”

php decode

因为PHP环境并未安排好仍旧什么来头,据说eval函数可以推行php代码,但我将他写好放进地方根目录的时候打开会报错,所以也就没做留着以后填坑

“我知道。”

文本包含

LFI漏洞,自行百度补充。
学到了好几猥琐的学问,在服务器端的.php文件无法直接显示,用base64加密(read=convert.base64-encode)后得到密文再解密,就可以观察源码了。

<html>
    <title>asdf</title>

<?php
    error_reporting(0);
    if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag:nctf{edulcni_elif_lacol_si_siht}

?>
</html>

Flag:nctf{edulcni_elif_lacol_si_siht}

“但你也一致清楚,考研只但是是充足多彩拔取之一,考上了也不至于就什么,也许没什么两样。”

独自一百年也没用

和单身二十年一如既往,看源码,点击 <a href=”./index.php”>
结果却跳转到了
/no_key_is_here_forever.php,预计是用了重定向,F12翻看网络,就能发现index.php这个包,果然是302重定向,查看响应没有东西,那么应该在头文件了,果然,毫无意外~
响应头

Server: sae
Date: Sat, 13 Jan 2018 08:17:43 GMT
Content-Type: text/html
Content-Length: 0
Connection: keep-alive
flag: nctf{this_is_302_redirect}
Location: http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php
Via: 1566

Flag: nctf{this_is_302_redirect}

“嗯,我清楚,我知道。”

Download~!

不可能做,留着之后填坑~

“你精晓您一点一滴没必要冒这一个风险,你综合素质很好,没必要多做几年学究。”

COOKIE

先弄领悟COOKIE是个怎么样事物,验证身份用的对啊?那么接下来去看请求包,F12网络,发现请求头和响应头之间的基情:

Host: chinalover.sinaapp.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Cookie: Login=0
Connection: keep-alive
Upgrade-Insecure-Requests: 1
DNT: 1
Cache-Control: max-age=0

Server: sae
Date: Sat, 13 Jan 2018 08:27:49 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Via: 15146
Set-Cookie: Login=0
Content-Encoding: gzip

cookie:Login=0,题目给的有Tips啊,0==not,按照程序员的考虑(不要问为啥,嘿嘿嘿),那么1==yes,改之,出Flag.
Flag:nctf{cookie_is_different_from_session}

“我知道,我知道。”

MYSQL

依据提醒进去robots.txt后转码看到如下内容:

别太开心,flag不在这,这个文件的用途你看完了?
在CTF比赛中,这个文件往往存放着提示信息

TIP:sql.php

<?php
if($_GET[id]) {
   mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
  mysql_select_db(SAE_MYSQL_DB);
  $id = intval($_GET[id]);
  $query = @mysql_fetch_array(mysql_query("select content from ctf2 where id='$id'"));
  if ($_GET[id]==1024) {
      echo "<p>no! try again</p>";
  }
  else{
    echo($query[content]);
  }
}
?>

好了,TIP又出去了,进去sql.php探访,什么都未曾,回来看到这一行

 if ($_GET[id]==1024) {
      echo "<p>no! try again</p>";
  }

/sql.php?id=1024后提示try again,换到/sql.php?id=1025后提示no
more。。
虽说不懂原理,可是猥琐的试了一波/sql.php?id=1024.5,哈哈,成功得到Flag~
新生才理解重大是此时

  if ($_GET[id]==1024) {
      echo "<p>no! try again</p>";
  }
  else{
    echo($query[content]);
  }

渴求交付的ID在值上==1024,但又不可能是1024,否则就会try
again。。任意的小数都能够~ ~
Wpsec的基友们记不记得某浪想要的998?同一个道理~

“你领会您但凡选拔了这多少个,虽然后来仍有闪转腾挪的退路,但也可能付出许多机会成本进去。”

/x00

(膜拜大佬,不甘心那道题,看了Writeup恶补一番学问才弄了然,此题writeup直接拖)

“嗯……我知道。”

原文

view-source:

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

ereg详解
strops详解

此地ereg有多少个漏洞
1.%00截断及遭逢%00则默认为字符串的停止
2.当ntf为数组时它的再次来到值不是FALSE

从而有三个章程拿flag
1.令id=1%00%23biubiubiu
2.令nctf为数组,即nctf[]=1

Flag:nctf{use_00_to_jieduan}

“你了解人这一生路那么多,往大了说匆匆几十年,考不考什么的,做不做哪些的,其实也没怎么所谓。”

伪装者

改了X-Forwarded-For没用,不用改Referer,应该是服务器出题目了,看了writeup后发现思路也没错。。自行补充XFF和Referer和UA在HTTP协议中的效能呢。。

“是啊……确实是这般,我掌握。”

Header

直接F12趣味文件,Flag就在其中。

Date: Sun, 14 Jan 2018 10:42:18 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Flag: nctf{tips_often_hide_here}
Content-Length: 132
Connection: close
Content-Type: text/html; charset=UTF-8

Flag:nctf{tips_often_hide_here}

“所以我……”

bypass again

开拓见到

if (isset($_GET['a']) and isset($_GET['b'])) {
if ($_GET['a'] != $_GET['b'])
if (md5($_GET['a']) === md5($_GET['b']))
die('Flag: '.$flag);
else
print 'Wrong.';
}

GET可以接受数组
但md5()不可以加密数组内的多少
,所以令a和b分别为数组,可以绕过,所以在url里进入index.php?a[]=1&b[]=2,即可看到Flag
Flag: nctf{php_is_so_cool}

“但是,老师……”

综合题

一大堆,是jother编码,控制台跑一下出去1bc29b36f623ba82aaf6724fd3b16718.php,贴入URL发现被耍了=
=,TIP在头里,查看头文件发现

Server: sae
Date: Sat, 13 Jan 2018 08:47:08 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
tip: history of bash
Via: 1566
Content-Encoding: gzip

百度一波history of
bash,发现某大佬小说http://blog.csdn.net/pan\_tian/article/details/7715436,拜读完后领会有个东西叫做.bash_history,贴入url发现

zip -r flagbak.zip ./*

重复下载,发现被毁损不可以解压。。常规思路,改为txt格式发现Flag~
Flag:nctf{bash_history_means_what}

“你先别说话,所以自己提出你考。真的,孩子,所以我反而指出你去试一试。不因为另外,这么些动机已经在您内心头生了根了,我也不问你是由于什么来头,你能给本人打那个电话就能印证很多。我指出您试一试,试了,哪怕试错了,顶多后悔两年,你如此年轻,以后有很四个两年;但假使你怂了,等你三四十岁,总有晚上梦回的少时,你总会记挂,总会想到另一种可能,却是被您亲手堵死的或许,你或许会后悔终身。我指出你试一试,我鼓励你试一试,不图其余,给协调个交待。”

Re

2.

Hello,RE!

你知道人是想不到的动物,总是会做出一些不三不四的支配,和奇妙的选项。它们可能让人大跌眼镜,它们或者不被领悟,甚至是遭来广大风言风语、非议、甚至是讽刺和作弄。

因为工具的不般配。。RE的题就没做。。

在这么些采用偷偷,都明码实价地标明好您所要承担的代价,无关好坏,甚至无所谓对与错,有些东西放在那里,你伸手,伸手就是你的气数,不伸手,也无可厚非,只是另一种命局。

Pwn

但凡此一切归到一起,在底下这句话面前都不重大:它们是你的精选,是只属于您的精选。

When did you born?

领到码错误。。

什么人也不敢保证它们会使你活得更好,或者更烂,但唯一可以确定的是:它们定义了你活过。

Stack Overflow

不会做,留着将来搞~

本人在当年夏季某个午后,坐在电脑前,觉得很热。我跑出门买了个冰棍,吃掉,按理说会凉快一点,其实并不曾。

Crypto

因为过往的奔走,让自家更热了,哪怕冰棍吃进肚子里,缓解了一些,但体温也只有是回到到出发前的情事。

easy!

Base64解密,秒出。。
Flag:nctf{this_is_base64_encode}

诸如此类一看,前后都是均等的,一样的热;这么一看,吃冰糕也是从未有过意思的,何苦啊?

Keyboard

题材就是键盘,看指示也是键盘,那么就从键盘入手,会发现样子是字母areuhack,
题材也说了充足nctf{}。。
Flag:nctf{areuhack}

但要么不同等,那多少个过程中,多了一点东西。

异性相吸

领取码错误,将来填坑吧

这一点东西是如何?很简单:我晓得冰棍是怎么味了。

Misc

人生何尝不是这样,不停地面对龃龉,甚至是创制抵触,解决顶牛,不停地做出抉择,然后享受采用得来的裨益,或是为此承担一点必然的代价,不停地走着走着,最后都归属尘土。

全副领取码错误。。就先放着吧

你只要只从理论上来看,前后都是一模一样的,并从未什么样两样。

但终归是不同的,不同在如何?不同在,你经历了,你给了温馨一个交代,你来过,你活过。

一生的含义,归根到底,就在这边。

你不会记得您哪次摔跤时的难堪和困窘,别人也映像不深,who care
呢?但您总会因为这天,你害怕摔跤,拒绝了同伙出门游玩的特邀,没捉到一只蝉,而感到遗憾和难过。

3.

本人见过一段最暖和的对话,是这般的:

“新年快乐啊。”

“新年快乐。”

“听说您打算毕业后打算去香港。”

“哈哈,对呀,就要陷入北漂了。”

“挺好的,真的挺好的。”

“我清楚自己那些决定很愚蠢,反正……就摸索啊,撞了南墙再回头。”

“这就是你的脾气。”

“是呀,我一忙起来就像假小子,也没个女子的规范,他们都觉着我有点,太过度执拗了,我也知晓没必要如此嘛,就是有一点点不甘心呗,嘿嘿。”

“没什么,没什么比坐在台下当观众更悠闲的了,但品头论足的观众怎样也得不到,毕竟他们如何也没做。你可以的。”

“我知道自家卓殊,我也了然自家不出彩,我还并未您决定,我只是自不量力一下,我清楚自家这么说挺傻的。”

“听着,听着,不需要跟我说客套话,不要客气,也不用在话里给协调留余地,听着:你很厉害,自从你做了那些决定你就比咱们决心。去呢,别回头,我们不但不笑话你,我们反而期望你能成,你成了,就一定于给我们见到了另一种可能。你不属于这里的,你竟敢的走,替我们开出一条路来。还有,你就是挺好的。”

4.

“大家那么些领读营叫什么名字好?”

“读的都是经典,就叫精华内容领读营吧。”

“多少天?”

“100天。”

“有点长,能撑得住呢?”

“嗯,我有把握。”

“这您恐怕要天天都得做两遍直播,连续直播100次,无法失误的。”

“不,不是100次,是200次,天天早上一段社科类理论的小音频,上午一回经济学经典的解读直播。”

“仍旧非凡,这样太难了,一方面经典当中可与实际结合的事物少,另一方面现在的人要么不爱读经典,喜欢干货,要么总认为温馨不需要养成习惯,想起来时候自己翻翻就行了。”

“是有难度,但总挑容易的事做,挺没意思。一来,我可以尽最大努力让我们感受到经典的力量,与实际充足结合。二来,都说现在的中国人沉不下心读书,我不这样认为。”

“这就把100个社科理论和100部影片的门类删掉呢,就冲大家这个教授大家的书目领读,完全够了。”

“不可能删,这是本身直接以来的愿望,我想让我们不仅有情感和感性,也想一起作育起一份理性来。”

“太难了,而且有高风险,搞不佳,只有几人申请。”

“假诺唯有一个人报名,我接下去的100多天,就只为这个人做分享,做直播。”

……

“多少人了?”

“360多,还真成了。”

“早着吧,先天是第多少个学习日?”

“第七个。”

“平时签到得来的反映咋样?”

“概括来说:每一日,都有获取。”

……

“累不累?”

“忙,但不认为累。”

“现在忙成这样,后悔不?”

“一点也不。”

“哥们嘴挺硬。”

“心比嘴硬,我感觉自我和那360六个人,天天都活着。”

End.