[RoarCTF 2019]Easy Calc

這題考查的是: 字符串解析特性+目錄讀取+文件內容讀取

字符串解析特性詳解:PHP字符串解析特性 ($GET/$POST參數繞過)(含例題 buuctf easycalc)_參數解析 繞過-CSDN博客
ascii碼查詢表:ASCII 表 | 菜鳥工具 (jyshare.com)

用到的函數有:

print_r()? ?讀取復雜對象,字符串、數組、對象等

chr()? ? ? ? 將ascii碼值轉換為字符

scandir()? 讀取目錄;成功返回文件數組;失敗返回false;目錄必須用引號包裹

file_get_contents()? ? ?將文件內容讀取到字符串中;以二進制流讀取;圖片、字符數據都可用

全是知識盲區啊;又學到了新知識

打開題目發現是一個計算器界面;查看源碼發現設置了waf;具體內容不知道什么情況

通過抓包測試發現了calc.php的一段源碼信息;里面對輸入的一些特殊字符進行了過濾

過濾的字符:空格 ' " \t \r \n ` [ ] $ ^

嘗試輸入num參數進行測試發現只能輸入數字;字母和其他符號都不通過;應該是waf搞的鬼

這里徹底蒙圈了;知識匱乏了;看了大佬的wp發現可以利用字符串解析特性進行繞過

百度了一下php參數的字符串解析特性:1.去掉空白符? 2.將某些字符轉化為下劃線

大佬的文章:PHP字符串解析特性 ($GET/$POST參數繞過)(含例題 buuctf easycalc)_參數解析 繞過-CSDN博客

構造payload:?%20num=phpinfo()

發現成功執行了phpinfo()函數;好了;waf已經繞過了;接下來就是繞過calc.php的過濾操作了

現在不知道flag在哪里;先要讀取一下目錄文件

由于' " 都被過濾了;所以用chr()進行輸入繞過;chr(47)是/

構造payload:print_r(scandir(chr(47)))? ? ? ? ? ?讀取根目錄下的文件信息;然后打印該數組

找到了疑似存放flag的文件名為f1agg

注意:文件名中第二個是數字1;不是l;我在這兒耽擱了好一會兒才發現

構造payload:print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

成功讀取到了flag

10

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

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

相關文章

AI智能雷達名片小程序平臺版源碼系統 帶完整的安裝代碼包以及安裝部署教程

在當今數字化快速發展的時代,人工智能(AI)已滲透到各個領域,尤其是在商務溝通領域,傳統的名片已經不能滿足現代商業的需求。小編給大家分享一款名為“AI智能雷達名片小程序平臺版”的源碼系統,該系統不僅提…

【Linux】將程序的輸出顯示到屏幕,同時寫入到log文件

1. 將程序的輸出顯示到屏幕,同時寫入到log文件 nohup python -u main.py 2>&1 | tee -a log.txt &nohup 放在命令的開頭,表示不掛起(no hang up),也即,關閉終端或者退出某個賬號,進…

知乎引流秘籍:玩轉知乎,掘金百萬流量!

知乎,擁有3億注冊用戶、日新增用戶8萬的超級內容平臺,已然成為流量洼地。如何玩轉知乎,掘金百萬流量?這份1500字的實操指南,為你揭秘! 一、知乎的優勢:流量大、長尾效應強 1. 流量大&#xff…

QA核心競爭力

核心競爭力的三個階段 我們知道,不同的工作和任務所需要的核心能力不同,因而核心競爭力也就不相同。QA 的入門門檻比較低,這也是 QA 這個群體產生恐慌和焦慮的主要原因。這個群體所涉及的技術面和技能棧非常廣,所以整個職業生涯的…

46-全排列(回溯算法)

題目 給定一個不含重復數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 示例 1: 輸入:nums [1,2,3] 輸出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 輸入:nu…

商業銀行移動支付發展探析

一、支付交換標準的迭代      銀行卡支付交換標準基于ISO 8583-1987《產生報文的金融交易卡交換報文規范》為發展基礎, 經過30年的產品及應用變革, 支撐交換標準整體框架的數據格式日益顯現其弊端。新型與傳統業務交織, 衍生出多個技術標…

提升智能客服機器人的語義理解能力:理解用戶的語義和意圖

智能客服機器人的發展已經成為現代服務業的一大亮點。它們不僅能夠提供724小時不間斷的服務,而且能夠處理大量的用戶請求,大大提高了服務效率。然而,盡管智能客服機器人的技術已經取得了顯著的進步,但其語義理解能力仍有待提高。為…

List去除重復數據的五種方式

1、使用 LinkedHashSet 刪除 arraylist 中的重復數據 LinkedHashSet 是在一個 ArrayList 刪除重復數據的最佳方法。LinkedHashSet 在內部完成兩件事: 刪除重復數據 保持添加到其中的數據的順序 Java 示例使用 LinkedHashSet 刪除 arraylist 中的重復項。在給定的示例…

【Linux雜貨鋪】調試工具gdb的使用

目錄 🌈前言🌈 📁背景介紹 📁 使用 list [行號] / [函數名] run/r break/b [行號] / [函數名] info break disable break enable break delete break [斷點編號] next/n step/s continue/c finish print/p [變量…

06 vim工具

目錄 概念模式基本操作配置 1. 概念 vim是一個歷史悠久的,多模式的編輯器,是vi的升級版。和ide不同,編輯器僅能編寫文本,不能運行代碼,現階段的代碼編譯的各個過程會分開按步驟執行 2. 模式 vim有很多種模式,想要編…

方格分割644--2017藍橋杯

1.用dfs解決,首先這題的方格圖形就很像一個走迷宮的類型,迷宮想到dfs,最中心點視為起點,起點有兩個小人在這個方格里面對稱行動,直到走出迷宮(一個人走出來了另一個人就也走出來了,而走過的點會…

Vmware Esxi 部署Mac OS虛擬機

Vmware Esxi在創建虛擬機的時候是有Mac OS選項的,但是實際創建時,選擇ISO開機后一直反復引導,是有問題的,原因是需要先解鎖,需要在ESXI主機上修改配置并重啟。 首先找到管理-服務-TSM-ssh,點擊啟動&#x…

華納云:linux中tftp命令使用無效怎么解決

如果在Linux中使用TFTP命令時遇到問題,可能是由于以下幾種原因導致的,你可以嘗試以下方法解決: 檢查TFTP服務器是否正確配置:首先確保你正在連接的TFTP服務器已經正確配置并正在運行。你可以使用網絡工具(如ping命令)檢查與TFTP服…

★【二叉搜索樹(中序遍歷特性)】【 ★遞歸+雙指針】Leetcode 98. 驗證二叉搜索樹

★【二叉搜索樹(中序遍歷特性)】【 ★遞歸雙指針】Leetcode 98. 驗證二叉搜索樹 二叉搜索樹 98. 驗證二叉搜索樹解法1 笨 中序遞歸遍歷為一個數組 然后判斷數組是不是升序排列就可以★解法2 不使用數組 遞歸法 ---------------🎈&#x1f38…

【力扣】無重復字符的最長子串,滑動窗口 + 哈希集合

無重復字符的最長子串原題地址 方法一:滑動窗口(雙指針) 哈希集合 考慮找出字符串s的所有的無重復字符的子串,求出這些子串長度的最大值即可。 使用下標 [left,right] 來維護子串。我們只需要找到每一個 left 對應的所有 righ…

php PhpSpreadsheet 讀取日期變數字問題解決

問題描述: 使用PhpSpreadsheet 讀取表格數據,日期格式讀取后變成數字,如下圖: 解決方案: $cell $sheet->getCell(H . $row)->getValue(); $toTimestamp \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimes…

騰軒科技傳媒探討網絡整合營銷推廣的策略和效果

在當今高度信息化的商業環境中,整合營銷推廣(IMC)已經成為了品牌營銷策略的核心。它旨在通過多種渠道和平臺,將一致、連貫的品牌信息傳達給目標受眾,從而增強品牌知名度和忠誠度。騰軒科技傳媒將深入探討整合營銷推廣的…

【airtest】自動化入門教程(一)AirtestIDE

目錄 一、下載與安裝 1、下載 2、安裝 3、打開軟件 二、web自動化配置 1、配置chrome瀏覽器 2、窗口勾選selenium window 三、新建項目(web) 1、新建一個Airtest項目 2、初始化代碼 3、打開一個網頁 四、恢復默認布局 五、新建項目&#xf…

模擬算法題練習(一)

模擬算法介紹: 模擬算法通過模擬實際情況來解決問題,一般容易理解但是實現起來比較復雜,有很多需要注意的細節,或者是一些所謂很“麻模“的東西。 模擬題一般不涉及太難的算法,一般就是由較多的簡單但是不好處理的部…

【算法】最小生成樹—Prim算法與Kruskal算法

Prim算法和Kruskal算法都是解決最小生成樹問題的經典算法。最小生成樹是原圖的最小連通子圖,它包含原圖的全部結點,且保持圖連通的所有邊代價和最小。一個連通圖可能有多個最小生成樹。 一、Prim算法 含義 Prim算法,也被稱為普里姆算法&…