其实就是慕测安恒杯
6月18日的夏季预赛线上赛,9月22日更新babysql,10月12日更新findpwd、服务发现、babylogin
10月23更新秋季预赛题目
夏季预赛
根据ip查dns解析记录
题目原意是让我们用cmd的nslookup命令,我直接上dns反查网站查的
到这个网站查dns解析https://www.boip.net/ipv4/
flag为this-is-flag
编辑器泄露
题目提示编辑器泄露,fuzz后下载到了login.php.swp
,用vim -r login.php.swp
恢复得到源码,看到明文账号密码,
用账号密码登录login.php得到flag,flag{b4ckup_1s_normal}
babywaf
fuzz后发现 < 被过滤了,构造post file=.<./.<./.<./.<./.<./flag 提交得到flag,flag{To0_young_2_simple!}
综合渗透
题目提示让我们复现exp,该站用的是finecms
百度得到此cms的一个上传漏洞,构造html文件如下,上传一个phtml
后缀的一句话上去,菜刀连接在/flag
得到flag,flag{o1d_bug_t0_send_point!}
|
|
babysql
这道题到最后也没做出来,报错注入注,过滤了union
和column_name
还有*
,不知道字段名是啥
参考了http://www.wupco.cn/?p=3764
从该文章中可以得知这道注入题的核心代码如下
可以看出通过desc
语句判断table是否存在,再执行下一个sql语句
DESC的语法如下
构造payload如下
python脚本如下
得到error_flag
表的字段名为flag_you_will_never_know
再使用报错注入查询即可拿到flag
服务发现
nmap扫描后发现rsync
开放
rsync空口令
findpwd
题目提示了开发者用的ide是netbean,查看ide工作空间的文件
|
|
可以看到1.sql
和f1ndmyp4ssw0rdnineverno.php
两个文件
f1ndmyp4ssw0rdnineverno.php是个输入邮箱找回密码的页面
下载1.sql
,这里就可以猜测可能是注入
构造
其中0xxxxxxx
是你自己的邮箱的hex,提交后收到flag邮件
babylogin
题目给了源代码,关键语句如下
可以看出session
可控,而且存在==
弱类型,True=="xxxxxxx"
恒成立
用如下代码构造payload
最后抓登陆的包,加一个参数__session
值为eyJ1aWQiOjEsImhhc2giOnRydWV9
就能跳转到admin.php
php的锅
改天写好了
秋季预赛
都是php就不好玩了呀
题目地址: http://118.178.18.181:57016/index.pl?file=test.txt
perl写的,直接读取index.pl
就能拿到flag
查询ip
夏季预赛的题,直接nslookup
mac就是好用
题目地址: http://118.178.18.181:57013/
下载http://118.178.18.181:57013/.DS_store
,cat一下,发现s h o w m e f l a g . p h p
字样
访问
拿到flag
人,才是最大的漏洞
题目地址: http://114.55.36.69:57012/
经典登录框注入,构造
拿到flag
sqlmap没有卵用
题目地址: http://118.178.18.181:57019/
右键源代码提示source.php
,union和from前面只能存在字母,不能有空格,构造\N
绕过,(我也不知道为啥只有\N
可以,小写n的不行)
都是php就不好玩了呀
题目地址: http://118.178.18.181:57016/index.pl?file=test.txt
构造代码注入,这里要把含有flag的用base64编码
can u read me,do u understand me?
题目地址: http://114.55.36.69:57018/
XXE,直接读取flag.php,读取出来的源码是phpjiami过的,可以去花钱解也可以直接用工具解
还记得找回密码的功能嘛
题目地址: http://114.55.36.69:57014/
给了源码
payload
这里主要是利用了空格会被分割成多个收件人