WPSEC-周计划(3)

此次来看看某老牌高校——

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

Stack Overflow

不会做,留着之后搞~

文本包罗

LFI漏洞,自行百度补充。
学到了好几无聊的文化,在服务器端的.php文件不能够直接体现,用base6四加密(read=convert.base6四-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=”./search_key.php”>
,Flag直接出来了。。
Flag:nctf{yougotit_script_now}

Hello,RE!

签到题2

口令是11位数的zhimakaimen,输入会意识那个输入框限制输入长度为10位数,本身Firefox浏览器直接按F1贰(或鼠标单击右键审查成分)找到那一行:

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

单身一百余年也没用

和单身二10年一如既往,看源码,点击 <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}

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}

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

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}

原文

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有多少个漏洞
一.%00截断及蒙受%00则私下认可为字符串的终止
贰.当ntf为数组时它的再次来到值不是FALSE

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

Flag:nctf{use_00_to_jieduan}

Crypto

maxlength=”十”的10改成>=11,再输入就能够提交口令了。

Flag:nctf{follow_me_to_exploit}

Download~!

无法做,留着其后填坑~

Pwn

Re

那题不是web

既然如此不是web,源码和头文件也从不其余提醒消息,就把那张图下载下来,改为txt格式打开,Ctrl+F高速搜索,发现flag在文末。。还真的不是WEB啊
Flag:nctf{photo_can_also_hid3_msg}

伪装者

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

异性相吸

领到码错误,未来填坑吧

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能够承受数组
但md五()无法加密数组内的数码
,所以令a和b分别为数组,能够绕过,所以在url里参加index.php?a[]=1&b[]=2,即可看到Flag
Flag: nctf{php_is_so_cool}

Misc

签到题

一贯查看源代码吧。。

<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}

php decode

因为PHP环境未有布署好只怕怎么来头,听大人说eval函数能够实施php代码,但自笔者将他写好放进本土根目录的时候打开会报错,所以也就没做留着以后填坑

When did you born?

领到码错误。。

稀有推进

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

马那瓜邮政和邮电通讯高校的CTF标题吧~

(Ps:因小编较懒,所以做题时都以手工业+度娘,差不多一贯不接纳浏览器以外的工具,如有越来越好的章程,欢迎留言告知~)

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经过加密后的MD⑤值相等就好了。加密后发觉是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}

Web

综合题

一大堆,是jother编码,控制台跑一下出去1bc29b36f623ba82aaf6724fd3b16718.php,贴入UTucsonL发现被耍了=
=,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

百度1波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}

/x00

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

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在值上==拾二四,但又不可能是10贰四,不然就会try
again。。任意的小数都足以~ ~
Wpsec的基友们记不记得某浪想要的9九8?同三个道理~

easy!

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

Keyboard

难题正是键盘,看提醒也是键盘,那么就从键盘入手,会发觉样子是字母areuhack,
题材也说了拉长nctf{}。。
Flag:nctf{areuhack}

相关文章