【writeup】is_numeric函數矛盾運用
最近在BugkuCTF平臺刷題,遇到‘矛盾’http://120.24.86.145:8002/get/index1.php,感覺蠻有意思的,記錄下思路
目標代碼如下:
$num=$_GET[‘num‘]; if(!is_numeric($num)) { echo $num; if($num==1) echo ‘flag{**********}‘; }
想要得到flag變量num必須是1,但是上一層判斷語句使用is_numeric判斷變量num不能是數字,這是不是很矛盾
下面看下解題思路:
主要是關註獲得flag的那個條件判斷語句,怎麽才能讓這個變量不是1,而讓條件成立呢
由於變量num是直接接入條件的,故可以構建多條件,來成立判斷
eg:if(1=1|1=1) 條件成立
payload:1=1|1,且能通過上層is_numeric函數的判斷
【writeup】is_numeric函數矛盾運用
相關推薦
【writeup】is_numeric函數矛盾運用
php 判斷 eric num 是不是 怎麽 遇到 c函數 back 最近在BugkuCTF平臺刷題,遇到‘矛盾’http://120.24.86.145:8002/get/index1.php,感覺蠻有意思的,記錄下思路 目標代碼如下: $num=$_GET[‘num‘
【PHP】 mysqli_autocommit() 函數
連接 操作 strong function lba row article 保護 sqli //獲取每一篇文章的內容 function getPost($f_parent_id, $f_title, $f_username, $f_board_id,$f_post_tim
Python基礎【day04】:函數介紹、參數調用
位置 方式 tab 端口 調用 alt 調用函數 一次 參數調用 本節內容 函數介紹 函數參數及調用 函數的非固定參數 函數介紹 一、介紹 在我們以往的學習編程的過程當中,碰到的最多的兩張編程方式或者說編程方法:面向過程和面向對象。其實不管是哪一種,其實都是編程的方法論
MT【82】凸函數
ack 來看 ntc title 算術 技術分享 es2017 eight http 評:對於(3)幾何上來看要滿足性質$P$圖像來看必須下凸。這樣區間中點$x=2$處不可能為最大.(4)的形式讓我想起在證明算術幾何平均不等式時歷史上著名的柯西反向歸納證明:MT【82】凸函
【實驗吧】Once More&&【筆記】 PHP 函數漏洞總結
a-z != 百度 col tail alt strlen() 分享 style <?php if (isset ($_GET[‘password‘])) { if (ereg ("^[a-zA-Z0-9]+$", $_GET[‘password‘]) ==
【Python】向函數傳遞列表
urn span () 修改列 定義 been 過程 bottom 怎麽辦 向函數傳遞列表 在實際使用中你會發現,向函數傳遞列表是比較實用的,這種列表可能包含名字、數字、可能更復雜的對象(字典) 假設向一個函數傳遞一堆水果,我們說出我們喜歡所有的水果 def Obj(fru
【12】Python函數學習(中)
python 函數 作用域、局部和全局變量 前向引用:def test(name,age=18,*args,**kwargs): print(name) print(age,args,kwargs) school("Test") #程序執行從上到下的,這裏的school還沒
python全棧開發【補充】map函數和reduce函數的區別
lambda mage 多個 計算 兩個 數值 ima 所有 post ①從參數方面來講:map()函數: map()包含兩個參數,第一個是參數是一個函數,第二個是序列(列表或元組)。其中,函數(即map的第一個參數位置的函數)可以接收一個或多個參數。reduce()函數
【WIP】Swift4 函數
tro strong 任務表 元組 width log class spa pan 創建: 2018/02/19 【任務表】TODO 函數定義的基礎
【原創】QString 函數 replace()indexOf()、 lastindexOf()
qstring == turn ron 開頭 spa 位數 tro -s 1、替換函數 示例: QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); // x == "Say no!" 應用:
【前端】javascript函數
形參 var UNC s函數 一個 lte span rip nbsp 1、關於函數參數——ES6新特性rest rest以類似數組的方式將函數的參數保存下來 function eleDis(...rest) { for (var i=0;i<
【收集】啟動函數
源碼 ffffff 編寫 IT 變量初始化 size 一個 ble star 在編寫Win32應用程序時,都必須在源碼裏實現一個WinMain函數。但Windows程序執行並不是從WinMain函數開始的,首先被執行的是啟動函數相關代碼,這段代碼是編譯器生成的。啟動代碼完成
【Go】Panic函數
與此同時 沒有 異常 caller run 文件 絕對路徑 代碼 pre panic(運行時恐慌)是一種只會在程序運行時才回拋出來的異常。在panic被拋出之後,如果沒有在程序裏添加任何保護措施的話,程序就會在打印出panic的詳情,終止運行。 舉個栗子 pack
MT【260】單調函數
mce .com 分享圖片 分法 del bubuko 函數 定義域 mage 設$f(x)$是定義在$(0,+\infty)$上的單調函數,且對定義域內的任意實數$x$,都有$f(f(x)-\log_2 x)=3$, 求$f(x)-f^{‘}(x)=2$的解所在的區間.
【js】箭頭函數與普通函數的異同
round http 處理 new -c 但是 結果 png urn 普通函數在es5中就有了,箭頭函數是es6中出現的函數形式,當然也可以繼續用es5寫法。 普通函數大家知道: 形式基本一致 來看看箭頭函數: 開發時根據實際情況可以省略一些東西 單條處理可以
【人生苦短 PYTHON當歌】——PYTHON函數式編程03
遞歸 返回 blog div color lam round str python函數 Python遞歸 如果一個函數在內部調
【SQL server基礎】objectproperty()函數
del dex scons 手動更新 asr ble rtu pad sdi SQL Server OBJECTPROPERTY使用方法 OBJECTPROPERTY 返回有關當前數據庫中的模式作用域對象的信息。此函數不能用於不是模式範圍的對象,例如數據定義語言(D
MT【61】含參數二次函數最大最小值
tco pla 最大 back inline 我們 最小 但是 alt 評:此類題目在高考中作為壓軸題也曾考過,一般通性通法都如上面的做法,但是我們如果可以站在包絡的角度,很多問題將變得很清晰:MT【61】含參數二次函數最大最小值
MT【81】含參數三次函數因式分解
分享 png none tle 技術分享 三次 2-2 cnblogs back 解答: 評:這題實質上是對關於$x$的三次函數進行了一個因式分解.這種把$a$看成主元的技巧是初中處理高次的因式分解的常用技巧.如果用三次求導去做計算量比較大,要計算極值.MT【81】含
【逆向知識】裸函數(Naked函數)
code 生成 markdown add mark 定義 程序代碼 驅動程序 main 1 說明 指定裸函數編寫的函數,編譯器生成不帶任何多余代碼。 利用此功能,可以使用內聯匯編程序代碼編寫自己的 prolog/epilog 代碼序列。 裸函數對於編寫虛擬設備驅動程序特別有