开局一张图
实战-针对网贷诈骗网站渗透1-1

实战-针对网贷诈骗网站渗透1-1

二.漏洞分析
2.1 第一套源码漏洞分析
2.1.1 Thinkphp日志泄漏
实战-针对网贷诈骗网站渗透1-2
实战-针对网贷诈骗网站渗透1-2

基于Thinkphp3.2.3开发,前后台分离
实战-针对网贷诈骗网站渗透1-3
实战-针对网贷诈骗网站渗透1-3

默认开启Debug、导致泄漏日志SQL信息、异常缓存
实战-针对网贷诈骗网站渗透1-4
实战-针对网贷诈骗网站渗透1-4

构造Payload:App/Runtime/Logs/21_10_16.log
实战-针对网贷诈骗网站渗透1-5
实战-针对网贷诈骗网站渗透1-5

获取泄漏的admin表账号密码
进入后台
实战-针对网贷诈骗网站渗透1-6
实战-针对网贷诈骗网站渗透1-6

实战-针对网贷诈骗网站渗透1-7
实战-针对网贷诈骗网站渗透1-7

2.1.2 数组可控导致RCE
可上传文件名被直接带入数据包中
实战-针对网贷诈骗网站渗透1-8
实战-针对网贷诈骗网站渗透1-8

此处猜测后端将文件名以数组的方式进行控制(在拿到webshell后也证明了这个猜想是正确的)
将可上传的文件名加入php,随后上传拿到Webshell
查看对应配置文件,发现可上传后缀名是在数组当中,此处还可以利用插入闭合数组进行Getshell
实战-针对网贷诈骗网站渗透1-9
实战-针对网贷诈骗网站渗透1-9

payload:siteName=11111’).phpinfo();//
实战-针对网贷诈骗网站渗透1-10
实战-针对网贷诈骗网站渗透1-10

来看看后端如何处理的,因为return array的原因 必须加上字符串连接符”.”
实战-针对网贷诈骗网站渗透1-11
实战-针对网贷诈骗网站渗透1-11

再登陆后台查看Payload是否执行
实战-针对网贷诈骗网站渗透1-12
实战-针对网贷诈骗网站渗透1-12

成功getshell!!!