感谢南邮平台,这段时间比较闲做了些题目,未完待续。
一.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
6.AAencode
颜文字解密网站https://tool.zcmzcm.org/aadecode
也可以复制到控制台运行一下
7.单身二十年
打开网页这里找key,bp抓包,send to repeater->go
8.php decode
将eval改成echo输出得到flag
9.单身一百年也没用
同单身二十年 bp抓包
10.Cookie
题目已经说了是cookie,而且0==not,修改cookie值为1得到flag
11.Mysql
打开robots.txt
看代码
说明id!=1024
Php中的intval是一个取整函数,返回十进制数,题目中有写TIP:sql.php,所以构造sql.php?=1024.x(x自己取一个值就好)
关于robots.txt MOCTF也有道类似题目,有兴趣的可以去做做。
12.bypass again
要求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限制了提交
有关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()函数有漏洞哩;从小老师就说要用科学的方法来算数。
查看源码
除了截断构造,要求password长度要小于8但是要大于9999999,根据hint是科学计数没错了
类似的我们构造payload ?password=1e7%00*-*得到flag
15.变量覆盖
查看source.php发现如下代码
php中的extract() 函数从数组中将变量导入到当前的符号表,这道题目中是extract($_post);即将post参数导入当前的的符号表中,由于extract函数产生了覆盖漏洞,所以我们可以提交post参数比如pass=10086&thepassword_123=10086,让变量的值相同得到flag。
参考文章:http://blog.51cto.com/12332766/2120865
16.Header
这道题很简单查看header就可以得到flag,具体步骤自己做
17.综合题
打开链接发现jsfuck编码,可以用控制台直接解码,得到
打开网页,注意路径,当时把前边的字符串删掉了怎么打开都是404郁闷,后来才发现的应该这样写
进去以后看到这样一句话
脑袋自然是headers
查看headers,找到如下内容
看到有个zip继续打开,会自动下载zip文件,打开便可以get到flag。
18.伪装者
更改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