1.TP3.2--框架信息泄露
2.记一次任意文件下载到Getshell
TP3.2--框架信息泄露
搭建环境
获取源码自github,源码官网访问失败。下载
解压缩源码,源码配置数据库连接信息,下载建立表结构。源码
在配置文件中输入数据库信息。下载127源码反码
启动测试。源码
1.日志文件信息泄露
在thinkphp框架下,下载启用DEBUG模式时,源码应用运行时的下载Logs目录下会生成日志文件。通过输入路径直接访问这些日志文件,源码可能引发目录遍历问题。下载
入口文件中定义了DEBUG模式开启。源码
可能泄露的下载信息包括倒数第四行的数据库信息和日志文件名规律。
解决方法:
建议在开发阶段开启DEBUG模式,源码部署环境时关闭index.php中的DEBUG模式。
2.缓存信息泄露
thinkphp提供多种缓存方式,iis部署服务源码如数据缓存、静态缓存和查询缓存。通过F函数和S函数实现数据缓存。
F函数存储的数据位于Application/Runtime/Data目录。
S函数存储的数据位于Application/Runtime/Temp目录。
文件名通过md5算法与数据相结合生成。
解决方法:
设置DATA_CACHE_KEY参数,以避免缓存文件名被猜测。光遇源码网站在config.php文件中添加配置,如'DATA_CACHE_KEY'=>'think'。
这样,文件名将变为md5(thinkdata),使用'think'作为键更难以被猜测。
tp3.2指纹识别
若未更改框架目录,识别结果将显示为特定图案。
记一次任意文件下载到Getshell
任意文件下载是黑白绷带溯源码一种常见的Web攻击技术,旨在窃取服务器上任意文件内容。攻击者利用程序漏洞,通过构造恶意请求,使程序将任意文件发送给攻击者。一旦成功利用漏洞,攻击者即可获取敏感信息。
在日常渗透测试中,应关注每个功能点,温泉授权站源码检查下载功能是否存在漏洞。此漏洞允许获取源码、数据库配置文件及系统敏感文件,为后续渗透测试提供线索。
开始测试时,首先访问首页资料下载页面,尝试点击下载功能。在测试过程中,发现敏感路径并尝试下载index.php文件,成功下载后,寻找ThinkPHP数据库配置文件。
通过搜索ThinkPHP3.2目录结构,最终在/Application/Common/Conf/目录下找到了数据库配置文件config.php。继续尝试连接数据库,获取账号密码。发现数据库端口已开放,成功连接数据库后,查看管理员账号密码。
在获取账号密码后,开始寻找后台入口。目录扫描未找到,转向前台深入查找。经过长时间的尝试,最终发现后台入口隐藏在数据库配置文件中,通过细致检查,成功找到后台。
进入后台后,寻找并记住功能点。使用Webshell上传功能,将jpg文件修改为php后上传,成功上传Webshell但未显示回显。在前台找到刚刚上传的分类,复制下载链接,得到Webshell地址。
至此,完成任意文件下载到Getshell的过程,渗透测试结束。