CGCTF
0x00- - 前言
寒假也开始刷题了...从简单的南邮大佬开始刷起吧...
0x01- - WEB
001 签到题
页面询问 key在哪里 打开F12 html注释里得到flag
002 md5 collision
明显的弱等于和md5 0e科学计数法漏洞
放一个payload :s1885207154a
003 签到2
要求输入一个口令,却发现输入框限制比要求的少了一位,F12改maxlength即可
004 这题不是WEB
找了一圈啥也没找到,最后下载那个动图扔HEX,图片最后即得Flag
005 层层递进
最喜欢的就是这道题
Bp爬一下这个题目,会发现四个页面,flag就隐藏在404页面的大段注释的js代码(藏头)
006 AAencode
题目名字直接告诉你了,扔AAdecode解码即可
https://tool.zcmzcm.org/aadecode
有个问题是浏览器打开好像乱码了,需要直接下载txt打开。
顺带一提chrome控制台可以直接解码...
007 单身20年
Bp抓包查看302页面即可
010 php decode
放出了源码,本地跑一下就行。
eval函数好像不起作用,换成echo就好了
011 文件包含
本地文件上传漏洞,点击之后明显的看到url:?file=show.php
构造payload直接查看index.php源码即得flag
payload:file=php://filter/read=convert.base64-encode/resource=./index.php
读出源码base64解密
012 单身一百年也没用(感受出题人的恶意..)
依旧抓包
key藏在了302页面响应头中
013 Download~ !
题目打不开了。。。。
014 Cookie
hint给的很足,抓包直接将cookie改为1即可
015 MYSQL
现根据提示进入robots.txt看到源码
可以明显的看到用意:flag存在id=1024内但是输入的id不能是1024
看到intval函数
小数绕过即可
016 GBK Injection
宽字节注入,这题还没搞懂。
017 /x00
明显的%00截断...数组也可以绕过
数组绕过的是strops函数,而%00是绕过了ereg函数
正常payload:nctf=1%00%23biubiubiu
020 bypass again
弱类型 ==
021 变量覆盖
这题也没有做出来,思考的方向错了。
看了别人的题解,post提交后覆盖掉$thepassword_123即可。
022 PHP是世界上最好的语言
也挂掉了...
023 伪装者
以为是改X-forwarded-for,结果没用
024 Header
F12查看head...
025 上传绕过
要求上传php但是只能上传图片格式文件
BP抓包改hex 使用00截断
026 SQL注入1
直接查看了源码,sql查询语句:
$sql="select user from ctf where (user='".$user."') and (pw='".$pass."')";
这里犯了一个错误...没有使用)将语句封闭,导致一直报错。
还有个奇怪的地方
027 pass check
源码给出,要求过掉strcmp函数
数组直接过掉
030 起名字真难
同样给出源码
要求一个key,key的每一个数字的值的acsii不能大于等于1小于等于9,并且要求key = '54975581388'
依旧是弱类型,==会把两个变量转换为相同的类型再进行比较
031 密码重置
一开始以为是get和post的覆盖。。。直接把用户名改为admin 的base64重发就OK了
032 php 反序列化(暂时无法做)
无题目。
033 SQL Injection
打开只有Invalid password!
F12查看页面源码找到提示:使用admin登录
034 综合题
打开一堆fuckjs,扔console给出了一个页面
页面提示tips在脑子里,脑子=head
查看head,tips:history of bash
Linux下history命令会生成.bash_history文件,
查看发现存在一个flagbak的Zip,访问下载,解压得到flag