南邮CTF-部分题目writeup

 

 

1.签到题

题目非常简单,在审查元素中就可以发现flag

题目传送门:http://chinalover.sinaapp.com/web1/

南邮CTF-部分题目writeup_第1张图片

2.md5 collision

这道题利用了php的弱比较和md5值碰撞

而源码要求a和QNKCDZO的md5值相同,但a和它不相等

QNKCDZO的md5值为:0e830400451993494058024219903391

php在用==做比较的时候会将0e开头的数字视为0

因而只需要让a的md5值为0e开头即可解出,我们赋予a:s878926199a

题目传送门:http://chinalover.sinaapp.com/web19/

源码(PHP)

$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";}

 南邮CTF-部分题目writeup_第2张图片

3.签到2

题目传送门:http://teamxlc.sinaapp.com/web1/02298884f0724c04293b4d8c0178615e/index.php 

南邮CTF-部分题目writeup_第3张图片

题目要求我们输出芝麻开门的口令,审计网站代码时发现maxlength为10,而我们需要输入的值有11位

因此我们既可以使用burp截断后,赋予值,也可以在网站处将maxlength改为11

南邮CTF-部分题目writeup_第4张图片

4.这题不是web

题目传送门:http://chinalover.sinaapp.com/web2/index.html

进去发现只有一张图片,好吧我们下载这张图片

南邮CTF-部分题目writeup_第5张图片

然后我选择使用记事本打开,拉到最后,惊奇的发现了flag..好吧。。真的不是web

南邮CTF-部分题目writeup_第6张图片

5. 层层递进

题目传送门:http://chinalover.sinaapp.com/web3/

进去之后先申代码。。找了好久发现有一个SO.html,在SO里发现了S0.html...好吧再进S0.html,依次发现了SO.htm,S0.htm,好吧这也许就叫做层层递进吧。。终于我们发现了404.html,进去之后在一堆注释里发现了flag...得亏眼睛尖啊。。

南邮CTF-部分题目writeup_第7张图片

开始还手贱点了后退。。。心塞塞的。。

6.单身20年

题目链接:http://chinalover.sinaapp.com/web8/

申代码的时候发现了./search_key.php,点击进去被重定向到no_key_is_here_forever.php

南邮CTF-部分题目writeup_第8张图片

那么用burp抓包->发到中间人->Go,得到flag

南邮CTF-部分题目writeup_第9张图片

7.php decode

题目传送门:https://cgctf.nuptsast.com/challenges#Web

南邮CTF-部分题目writeup_第10张图片

申代码,发现字符串经过了gzinflate和base64_decode的加密,这里只有一层加密,所以只需要把eval改成echo运行就可以了

南邮CTF-部分题目writeup_第11张图片

8.文件包含

题目传送门:http://4.chinalover.sinaapp.com/web7/index.php

南邮CTF-部分题目writeup_第12张图片

可以通过构造file=php://filter/read=convert.base64-encode/resource=index.php

LFI是能够打开并包含本地文件的漏洞,我们使用伪协议来访问 

然后base64解码便可以得到flag

 

9.AAencode

题目传送门:http://homura.cc/CGfiles/aaencode.txt

南邮CTF-部分题目writeup_第13张图片

emmmm,可能是编码问题,撇到乱码恢复

然后打开chrome控制台,回车便可得到flag

 

10.单身100年也没用

题目传送门:http://chinalover.sinaapp.com/web9/

老办法,看代码时发现链接是index.php,但点击之后变成了no_key_is_here_forever.php

所以我们

南邮CTF-部分题目writeup_第14张图片

 

 

11.COOKIE

题目传送门:http://chinalover.sinaapp.com/web10/index.php?id=1

南邮CTF-部分题目writeup_第15张图片

还是抓个包吧。。。

发现coolie :login=0,改成1然后go,得到flag

 

12.MYSQL

题目传送门:http://chinalover.sinaapp.com/web11/

南邮CTF-部分题目writeup_第16张图片

百度百科可以看看robots.txt,大概是搜索引擎能爬啥不能爬啥,那么我们进入看看 

南邮CTF-部分题目writeup_第17张图片

 

以题目的尿性,id=1024不会轻易出现,那么我们试试1024.1

南邮CTF-部分题目writeup_第18张图片

 

13.x00

题目传送门:http://teamxlc.sinaapp.com/web4/f5a14f5e6e3453b78cd73899bad98d53/index.php

南邮CTF-部分题目writeup_第19张图片

方法一:00截断?nctf=2%00%23biubiubiu

方法二:利用数组让判断成立?nctf[]=1

南邮CTF-部分题目writeup_第20张图片

14.by pass again

题目传送门:http://chinalover.sinaapp.com/web17/index.php

南邮CTF-部分题目writeup_第21张图片

两种方法,一:a不能等于b,但md5值相同

a=QNKCDZO b=s878926199a;

南邮CTF-部分题目writeup_第22张图片

二:利用数组a[]=1 b[]=2;

南邮CTF-部分题目writeup_第23张图片

15.变量覆盖

题目传送门:http://chinalover.sinaapp.com/web18/index.php

南邮CTF-部分题目writeup_第24张图片

 

构造让thepassword_123=pass的值

16.上传绕过

题目传送门:http://teamxlc.sinaapp.com/web5/21232f297a57a5a743894a0e4a801fc3/index.html

南邮CTF-部分题目writeup_第25张图片

随便先上传一个文件

南邮CTF-部分题目writeup_第26张图片

我们试着上传一个.php文件

emmmm,用burp抓包

南邮CTF-部分题目writeup_第27张图片

修改一下 

南邮CTF-部分题目writeup_第28张图片

把空格的20改为00 

得到flag

 

 

 

17.sql注入1

题目传送门:http://chinalover.sinaapp.com/index.php

南邮CTF-部分题目writeup_第29张图片

看看source

南邮CTF-部分题目writeup_第30张图片

发现了这一句 

 构造万能密码admin')#,得到flag

南邮CTF-部分题目writeup_第31张图片

18.GBK injection

题目传送门:http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1

南邮CTF-部分题目writeup_第32张图片

先试试’

南邮CTF-部分题目writeup_第33张图片

宽字节注入,我们试试%df‘

南邮CTF-部分题目writeup_第34张图片

报错了,看来注入点找对了,那么开始注入

先用order by语句来看看有几列

然后试试union select语句?id=-1%df%27%20union%20select%201,2%20%23

南邮CTF-部分题目writeup_第35张图片

看来只有2能用,查看一下使用的数据库?id=-1%df%27%20union%20select%201,concat_ws(char(32),database())%20%23

 

得到数据库,那么查看表名

报错了。。忘了'会被转义成\'了。。使用16进制发现还是错的。。emmmm,检查发现where后面的database应该改成table_schema.... 

id=-1%df%27%20union%20select%201,group_concat(char(32),table_name,char(32))%20from%20information_schema.tables%20where%20table_schema=0x7361652d6368696e616c6f766572%20%23好啦

有了这个的话,猜解一下有没有flag这一列

 

依次到ctf4      ?id=1%df%27%20and%20exists(select%20flag%20from%20ctf4)%20%23

成了,激动人心的提取flag(也没啥激动的。。。构造语句进行注入得到flag?id=-1%df%27%20union%20select%201,group_concat(char(32),flag,char(32))from%20ctf4%23

南邮CTF-部分题目writeup_第36张图片

 19.pass check

题目传送门:http://chinalover.sinaapp.com/web21/

先看看题目提示

南邮CTF-部分题目writeup_第37张图片

如果pass变量存在,那么当pass和pass1相同时输出flag,strcmp希望我们输入一个字符串,那我们试试数组

南邮CTF-部分题目writeup_第38张图片

得到flag

20.起名字真难

题目传送门:http://chinalover.sinaapp.com/web12/index.php

照常,先看看提示

南邮CTF-部分题目writeup_第39张图片

emmm   ord函数的作用是返回ASCII值,然后函数的作用是number不能有1-9的,而且number要等于54975581388

php的==会把16进制数解析成10进制。。动手试试。。。

这个flag不想抹/

21.

 

你可能感兴趣的:(南邮CTF-部分题目writeup)