NCTF Write Up

感谢南邮平台,这段时间比较闲做了些题目,未完待续。

一.WEB

1.签到题:查看源代码


2.md5 collision

 

要求a和给出的字符串不一样,但是md5想通过,对QNKCDZO加密得到md5,是以0e开头的,任何0e开头的md5都是相同的百度一个,传参得到flag

http://www.219.me/posts/2884.html 0e开头的md5小结

 

3.签到题2:查看源代码,maxlength长度改大点


4.这题不是web:另存图片,winhex查看

5.层层递进:查看源代码,network,对name进行排序,发现有一个404,进入网页查看源代码得到flag

 NCTF Write Up_第1张图片

6.AAencode

颜文字解密网站https://tool.zcmzcm.org/aadecode

也可以复制到控制台运行一下

7.单身二十年

打开网页这里找key,bp抓包,send to repeater->go

8.php decode

 NCTF Write Up_第2张图片

将eval改成echo输出得到flag

 NCTF Write Up_第3张图片

9.单身一百年也没用

同单身二十年 bp抓包

10.Cookie

题目已经说了是cookie,而且0==not,修改cookie值为1得到flag

11.Mysql

打开robots.txt

 NCTF Write Up_第4张图片

看代码

 

说明id!=1024

 

Php中的intval是一个取整函数,返回十进制数,题目中有写TIP:sql.php,所以构造sql.php?=1024.x(x自己取一个值就好)

 

关于robots.txt MOCTF也有道类似题目,有兴趣的可以去做做。

12.bypass again

 NCTF Write Up_第5张图片

要求a与b的md5相同,但是a!=b,构造a,b得到flag

 

13.文件包含

关于文件包含,具体的可以看ph大神的博文,链接如下https://www.leavesongs.com/PENETRATION/php-filter-magic.html 

构造file=php://filter/read=convert.base64-encode/resource=index.php,得到一串base64加密的字符串解密得到flag

MOCTF也有道类似的题目,有兴趣的可以去做做练下手。

14./x00

和实验吧一道题目对比来写,我们需要通过get方式来提交nctf,通过ereg限制了提交

NCTF Write Up_第6张图片

有关php中的ereg函数,语法如下:

 
  

int ereg(string pattern, string originalstring, [array regs]);

ereg()函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字母的字符是大小写敏感的,所以我们在做题的时候要注意区分大小写字母,本题要求输入的是数字,而在ereg函数中存在NULL截断漏洞,导致了正则过滤被绕过,所以可以使用%00截断正则匹配,也就是说当遇到%00的时候判断结束。接下来是strpos函数,strops函数是用来查找 "php" 在字符串中第一次出现的位置,本题中即查找biubiubiu的出现,所以我们构造payload例如 ?nctf=1%00%23biubiubiu得到flag。第二种解法数组绕过可以参考https://www.jianshu.com/p/19999fa5ca8b

接下来是实验吧中的类似题目,题目如下啊拉?又是php审计。已经想吐了。 
hint:ereg()函数有漏洞哩;从小老师就说要用科学的方法来算数。

查看源码

NCTF Write Up_第7张图片

除了截断构造,要求password长度要小于8但是要大于9999999,根据hint是科学计数没错了

类似的我们构造payload ?password=1e7%00*-*得到flag

15.变量覆盖

查看source.php发现如下代码

NCTF Write Up_第8张图片

php中的extract() 函数从数组中将变量导入到当前的符号表,这道题目中是extract($_post);即将post参数导入当前的的符号表中,由于extract函数产生了覆盖漏洞,所以我们可以提交post参数比如pass=10086&thepassword_123=10086,让变量的值相同得到flag。

参考文章:http://blog.51cto.com/12332766/2120865

16.Header

这道题很简单查看header就可以得到flag,具体步骤自己做

17.综合题

NCTF Write Up_第9张图片

打开链接发现jsfuck编码,可以用控制台直接解码,得到

打开网页,注意路径,当时把前边的字符串删掉了怎么打开都是404郁闷,后来才发现的应该这样写


进去以后看到这样一句话


脑袋自然是headers

查看headers,找到如下内容

NCTF Write Up_第10张图片
tip:history of bash 百度一下,有这样一句话
NCTF Write Up_第11张图片
所以打开这个文件

看到有个zip继续打开,会自动下载zip文件,打开便可以get到flag。

18.伪装者

NCTF Write Up_第12张图片

更改referer没有用,据说X-Forwarded-For: 127.0.0.1这句话有效,但是自己没有成功。

19.你从哪里来

打开后显示are you from google?问题和18是一样的,添加如下代码referer:https://www.google.com,但是也没有成功,可能是网页原本代码有问题吧。

 



二.CRY

1.Easy:base64

2.keyboard:和实验吧某道题相似,看键盘就好

3.base64全家桶:base64,base32,base12

 NCTF Write Up_第13张图片

 



你可能感兴趣的:(CTF)