还是半夜睡不着,打开靶机开始操作。今天看了文件下载和目录穿越漏洞想结合以及防御方法。半夜来进行操作一波。复现一下漏洞,这个网上的文章页比较的少!!!
开始操作起来!!!
进入到页面,开始找细节,然后看了前面的提示操作,我前面也是以为要使用contentbases这个参数来进行访问。
没有找到我想要的东西
然后加上我前面说的那个参数没有找到的操作????我就在仔细去看,是要使用什么rpc/set_all发送带../序列的那个参数来进行操作的
然后我去百度知道了rpc这个是远程过程调用的协议。说简单一点就是可以进行远程访问的操作
然后我在构造pyload像下面一样:我来解释一下pyload是怎么构造的,我自己的理解不完全对,但是我感觉是这样的,不要全相信我!!哈哈哈哈
pyload: ip:port/rpc/dir?path=/
rpc是远程访问然后接函数或者访问的路径
?path=/是指定访问的目录为根目录下面的东西
我们可以利用这个来判断是否存在目录穿越漏洞,访问正常就存在反之不存在
下面进行靶场:
最后找到我们想要的flag 在切换其他的目录找到
这个漏洞复现也让我收获了东西,就比如这个rpc这个远程调用的协议,以及验证目录穿越该怎么来进行的操作pyload该怎么来写
然后我们在说说目录穿越的出现还可能又任意文件下载漏洞,2个漏洞同时出现
漏洞修复:
第一:过滤.的操作导致用户不能回溯上级目录也就是不能使用../../../
第二:使用严格的正则对用户的输入输出参数进检查
第三:更改配置文件比如php.ini中配置文件open_basedir限定文件访问的范围