南邮部分wp

MYSQL

打开robots.txt

鍒お寮€蹇冿紝flag涓嶅湪杩欙紝杩欎釜鏂囦欢鐨勭敤閫斾綘鐪嬪畬浜嗭紵
鍦–TF姣旇禌涓紝杩欎釜鏂囦欢寰€寰€瀛樻斁鐫€鎻愮ず淇℃伅

这一看乱码,放到新建txt文件里,试下其他的编码,最后utf-8可以解出来。
别太开心,flag不在这,这个文件的用途你看完了?
在CTF比赛中,这个文件往往存放着提示信息

没有用的信息。

打开sql.php。
回头看下代码意思。

①首先判断get方式的id是否为空。
②连接数据库,选择数据库。
③id的值经过函数intval处理。
④像数据库查询id为intval处理过后的id值。
⑤判断id是否等于1024,如果是,try again。
⑥如果不是,查询内容。

思路,让经过intval处理后的id值为1024,但是id原始的值不能为1024.

intval()函数漏洞。intval(1024a)结果是1024,intval(1024.1)结果为1024
但是1024a是不行的,因为有个弱比较,1024a会转化为1024,只有小数才行

\x00


解法一:

ereg%00截断?nctf=1%00#biubiubiu,但是#直接输在地址栏里,会变成控制字符,截断后边的内容。

直接对#进行url编码%23,再来看一下就是普通的字符#了。

解法二:
数组绕过。?nctf[]=。ereg和strpos在比较数组的时候会返回null,null和false进行强比较的时候是不相等的,正好绕过。

遗留:http://chinalover.sinaapp.com/index.php

综合题

放到浏览器的控制台运行,发现一个php文件,访问。
1bc29b36f623ba82aaf6724fd3b16718.php
提示:tip在他的脑袋里,其实就是头里,http响应头里。f12,查看网络(network),刷新界面。

tips:history of bash。
百度:.bash_history用来记录历史操作。

我们访问这个文件发现:zip -r flagbak.zip ./*

访问flagbak.zip,下载打开就可以找到flag。

密码重置2

三条提示:①管理员邮箱可以查看页面源代码找到。
②备份文件是.filename.swp
③先看前两步。

访问.index.php.swp,发现没有这个。

随便提交个数据,发现有submit.php,于是访问.submit.php.swp。
发现代码:

大体意思:数据库里面有个token字段,token为0的那一列,储存着flag的值,但是,你会验证你提交的token的值0必须得是十位数还有那个管理员邮箱。

弱比较,token=0000000000即可。
payload:http://nctf.nuptzj.cn/web14/submit.php?emailAddress=admin%40nuptzj.cn&token=0000000000

异性相吸

根据提示,要把明文和你密文字符串进行异或。

异或是二进制之间进行异或,所以要把字符串转化为二进制。

没用python写,因为密文的话有好多不可打印字符。 (一开始头铁,用的工具converter直接进行的转化,能解出flag,但是有好几个字符不对。)

直接用010editor
密文:

明文 :

用python脚本进行异或操作。

这里直接复制到converter就出来了,或者复制到010editor。

md5

python环境3.7,用的hashlib。

猜你喜欢

转载自www.cnblogs.com/zaqzzz/p/9665393.html