国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP intval()函數(shù)詳解,intval()函數(shù)漏洞原理及繞過(guò)思路

這篇具有很好參考價(jià)值的文章主要介紹了PHP intval()函數(shù)詳解,intval()函數(shù)漏洞原理及繞過(guò)思路。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

「作者主頁(yè)」:士別三日wyx
「作者簡(jiǎn)介」:CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
「推薦專欄」:對(duì)網(wǎng)絡(luò)安全感興趣的小伙伴可以關(guān)注專欄《網(wǎng)絡(luò)安全入門(mén)到精通》

intval() 函數(shù)可以獲取變量的「整數(shù)值」。常用于強(qiáng)制類型轉(zhuǎn)換。

語(yǔ)法

int intval( $var, $base )

參數(shù)

  • $var:需要轉(zhuǎn)換成 integer 「變量」
  • $base:轉(zhuǎn)換所使用的「進(jìn)制」

返回值

返回值為 integer 類型,可能是 0 或 1 或 其他integer 值。

  • 0:失敗 或 空array 返回 0
  • 1:非空array 返回 1
  • 其他integer值:成功時(shí) 返回 $var 的 integer 值。

返回值的「最大值」取決于系統(tǒng)

  • 32 位系統(tǒng)(-2147483648 到 2147483647)
  • 64 位系統(tǒng)(-9223372036854775808到9223372036854775807)

一、進(jìn)制自動(dòng)轉(zhuǎn)換

第二個(gè)參數(shù) $base 允許為空。

當(dāng) base 為空時(shí),默認(rèn)值是 0,會(huì)根據(jù) $var 的格式來(lái)調(diào)整轉(zhuǎn)換的進(jìn)制。

  • 如果 $var 以 0 開(kāi)頭,就使用 8進(jìn)制
  • 如果 $var 以0x開(kāi)頭,就使用 16進(jìn)制
  • 否則,就使用 10進(jìn)制

實(shí)例:

# 10的 8進(jìn)制是12
var_dump(intval(012));
# 10的 16進(jìn)制是A
var_dump(intval(0xA));
# 10的 10進(jìn)制是10
var_dump(intval(10));

輸出:

int(10)
int(10)
int(10)

繞過(guò)思路:當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以使用它的 8進(jìn)制/16進(jìn)制來(lái)繞過(guò)。


二、轉(zhuǎn)換數(shù)組

intval() 轉(zhuǎn)換數(shù)組類型時(shí),不關(guān)心數(shù)組中的內(nèi)容,只判斷數(shù)組中有沒(méi)有元素。

  • 「空數(shù)組」返回 0
  • 「非空數(shù)組」返回 1

實(shí)例:

var_dump(intval(array()));
var_dump(intval(array(3,2)));

輸出:

int(0)
int(1)

如果傳入的 $var是數(shù)組中的某個(gè)值時(shí),則當(dāng)做變量來(lái)轉(zhuǎn)換,而不是當(dāng)做數(shù)組類型。

實(shí)例:

$arr1 = array(8,6);

var_dump(intval($arr1[0]));

輸出:

int(8)

繞過(guò)思路:對(duì)于弱比較(a==b),可以給a、b兩個(gè)參數(shù)傳入空數(shù)組,使弱比較為true。


三、轉(zhuǎn)換小數(shù)

intval() 轉(zhuǎn)換小數(shù)類型時(shí),只返回個(gè)位數(shù),不遵循四舍五入的原則。

實(shí)例:

var_dump(intval(12));
var_dump(intval(1.2));
var_dump(intval(1.9));

輸出:

int(12)
int(1)
int(1)

繞過(guò)思路:當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以給它增加小數(shù)位來(lái)繞過(guò)。


四、轉(zhuǎn)換字符串

intval() 轉(zhuǎn)換字符串類型時(shí),會(huì)判斷字符串是否以數(shù)字開(kāi)頭

  • 如果以數(shù)字開(kāi)頭,就返回1個(gè)或多個(gè)連續(xù)的數(shù)字
  • 如果以字母開(kāi)頭,就返回0

單雙引號(hào)對(duì)轉(zhuǎn)換結(jié)果沒(méi)有影響,并且 0 或 0x 開(kāi)頭也只會(huì)當(dāng)做普通字符串處理。

實(shí)例:

var_dump(intval('12abc'));
var_dump(intval("12abc"));
var_dump(intval('abc123'));
var_dump(intval('1a2b3c'));
var_dump(intval('0101'));
var_dump(intval("0x2b"));

輸出:

int(12)
int(12)
int(0)
int(1)
int(101)
int(0)

五、取反~

intval() 函數(shù)支持一些特殊符號(hào)的,比如~取反。

實(shí)例:

var_dump(intval(~10));
var_dump(intval(~~10));

輸出:

int(-11)
int(10)

繞過(guò)思路:當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以兩次取反來(lái)繞過(guò)。


六、算數(shù)運(yùn)算符

intval() 函數(shù)支持算數(shù)運(yùn)算符,如果傳入的 $var參數(shù)包含算數(shù)運(yùn)算符,會(huì)先運(yùn)算,再對(duì)運(yùn)算結(jié)果進(jìn)行轉(zhuǎn)換。

實(shí)例:

var_dump(intval(5*5));
var_dump(intval(5+5));
var_dump(intval(05+5));

輸出:

int(25)
int(10)
int(10)

繞過(guò)思路:當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以使用算數(shù)運(yùn)算符繞過(guò)。

七、浮點(diǎn)數(shù)精度缺失問(wèn)題

由于PHP中的浮點(diǎn)數(shù)是「弱類型」,存在「精度丟失」的問(wèn)題,在轉(zhuǎn)換時(shí)可能會(huì)出現(xiàn)意料之外的情況。

比如下面這個(gè)案例,第一個(gè)輸出34正常,第二個(gè)以為會(huì)輸出58,結(jié)果輸出了57。

實(shí)例:

var_dump(intval(0.34*100.0));
var_dump(intval(0.58*100.0));

輸出:

int(34)
int(57)

三、intval()繞過(guò)思路

最后匯總一下intval()函數(shù)漏洞的繞過(guò)思路:

1)當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以使用它的 8進(jìn)制/16進(jìn)制來(lái)繞過(guò);比如過(guò)濾10,就用012(八進(jìn)制)或0xA(十六進(jìn)制)。
2)對(duì)于弱比較(a==b),可以給a、b兩個(gè)參數(shù)傳入空數(shù)組,使弱比較為true。
3)當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以給它增加小數(shù)位來(lái)繞過(guò);比如過(guò)濾3,就用3.1。
4)當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以給它拼接字符串來(lái)繞過(guò);比如過(guò)濾3,就用3ab。(GET請(qǐng)求的參數(shù)會(huì)自動(dòng)拼接單引號(hào))
5)當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以兩次取反來(lái)繞過(guò);比如過(guò)濾10,就用~~10。
6)當(dāng)某個(gè)數(shù)字被過(guò)濾時(shí),可以使用算數(shù)運(yùn)算符繞過(guò);比如過(guò)濾10,就用 5+5 或 2*5。

粉絲福利

評(píng)論區(qū)留言即可參與抽獎(jiǎng),送《ChatGPT一本通》。

PHP intval()函數(shù)詳解,intval()函數(shù)漏洞原理及繞過(guò)思路

本書(shū)從ChatGPT等自然語(yǔ)言大模型基礎(chǔ)知識(shí)講起,重點(diǎn)介紹了ChatGPT等語(yǔ)言大模型在生活中的實(shí)際應(yīng)用,讓每一個(gè)人都能了解未來(lái)的生活和工作。
本書(shū)分為16章,涵蓋的主要內(nèi)容有人工智能、OpenAI、ChatGPT的介紹、ChatGPT的使用技巧,向大家展現(xiàn)ChatGPT在學(xué)術(shù)教育、商業(yè)管理、新媒體、辦公、求職、法律、電商等不同領(lǐng)域的應(yīng)用,以及ChatGPT當(dāng)下的問(wèn)題、大模型的未來(lái)。
本書(shū)通俗易懂,用最簡(jiǎn)單的語(yǔ)言解釋人工智能的入門(mén)知識(shí),案例豐富,實(shí)用性強(qiáng),適合每一個(gè)想要了ChatGPT等自然語(yǔ)言處理大模型的讀者和進(jìn)階愛(ài)好者閱讀,也適合想要通過(guò)API打造新時(shí)代語(yǔ)言模型應(yīng)用的開(kāi)發(fā)者。

實(shí)用性強(qiáng):本書(shū)通過(guò)實(shí)際案例和操作技巧,使讀者能夠快速上手并靈活運(yùn)用ChatGPT技術(shù),提升職場(chǎng)競(jìng)爭(zhēng)力。
深入淺出:本書(shū)以通俗易懂的語(yǔ)言解釋ChatGPT的原理和應(yīng)用,即使是職場(chǎng)新手也能輕松掌握。
高效學(xué)習(xí):本書(shū)結(jié)構(gòu)緊湊,內(nèi)容精煉,便于讀者快速吸收和理解,無(wú)需花費(fèi)大量時(shí)間。
融合行業(yè)經(jīng)驗(yàn):本書(shū)結(jié)合了作者多年的經(jīng)驗(yàn),為讀者提供了獨(dú)到的見(jiàn)解和實(shí)用建議。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-488566.html

到了這里,關(guān)于PHP intval()函數(shù)詳解,intval()函數(shù)漏洞原理及繞過(guò)思路的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 文件上傳漏洞(2), 文件上傳實(shí)戰(zhàn)繞過(guò)思路, 基礎(chǔ)篇

    準(zhǔn)備一句話木馬文件 mm.php 一, 前端繞過(guò) p1 瀏覽器禁用js 先把 mm.php 后綴名修改為 mm.jpg , 點(diǎn)擊提交后, 用 burp 截取請(qǐng)求, 將數(shù)據(jù)包中的文件名修改回 mm.php 再提交. 二, 類型MIME繞過(guò) p2 使用 burp 修改 Content-Type: image/jpeg 三, 黑名單繞過(guò) p3 后端禁止上傳.asp|.aspx|.php|.jsp后綴文件. apac

    2024年02月08日
    瀏覽(60)
  • PHP反序列化漏洞-魔術(shù)方法繞過(guò)

    一、__wakeup()魔法函數(shù)繞過(guò): 在PHP中,__wakeup()是一個(gè)魔術(shù)方法,用于在反序列化對(duì)象時(shí)自動(dòng)調(diào)用。 當(dāng)反序列化字符串中的對(duì)象屬性個(gè)數(shù)大于實(shí)際屬性個(gè)數(shù)時(shí) ,可以利用這個(gè)漏洞進(jìn)行繞過(guò)。 觸發(fā)條件: PHP版本為5.6.25或早期版本,或者PHP7版本小于7.0.10。 反序列化字符串中的對(duì)

    2024年01月18日
    瀏覽(48)
  • CTF必看~ PHP反序列化漏洞6:絕妙_wakeup繞過(guò)技巧

    CTF必看~ PHP反序列化漏洞6:絕妙_wakeup繞過(guò)技巧

    作者:Eason_LYC 悲觀者預(yù)言失敗,十言九中。 樂(lè)觀者創(chuàng)造奇跡,一次即可。 一個(gè)人的價(jià)值,在于他所擁有的??梢圆粚W(xué)無(wú)術(shù),但不能一無(wú)所有! 技術(shù)領(lǐng)域:WEB安全、網(wǎng)絡(luò)攻防 關(guān)注WEB安全、網(wǎng)絡(luò)攻防。我的專欄文章知識(shí)點(diǎn)全面細(xì)致,邏輯清晰、結(jié)合實(shí)戰(zhàn),讓你在學(xué)習(xí)路上事半

    2024年02月08日
    瀏覽(26)
  • 文件上傳漏洞(1), 文件上傳繞過(guò)原理

    一, 前端校驗(yàn)上傳文件 添加 Javascript 代碼,然后在 form 表單中 添加 onsubmit=\\\"returb checkFile()\\\" 繞過(guò)前端: 1. 在瀏覽器設(shè)置中禁用js 通常不建議使用這種方式, 因?yàn)榍岸薺s中可能存在很多其他js的功能, 例如ajax請(qǐng)求. 2. 用burpsuite等工具修改請(qǐng)求. 因?yàn)榍岸薺s對(duì)文件類型做了限制, 那么將

    2024年02月08日
    瀏覽(18)
  • 【網(wǎng)絡(luò)安全 --- 任意文件上傳漏洞靶場(chǎng)闖關(guān) 6-15關(guān)】任意文件上傳漏洞靶場(chǎng)闖關(guān),讓你更深入了解文件上傳漏洞以及繞過(guò)方式方法,思路技巧

    【網(wǎng)絡(luò)安全 --- 任意文件上傳漏洞靶場(chǎng)闖關(guān) 6-15關(guān)】任意文件上傳漏洞靶場(chǎng)闖關(guān),讓你更深入了解文件上傳漏洞以及繞過(guò)方式方法,思路技巧

    ? 首先分享一個(gè)自己做的很不錯(cuò)的網(wǎng)路安全筆記,內(nèi)容詳細(xì)介紹了許多知識(shí) 超詳細(xì)的網(wǎng)絡(luò)安全筆記 分享一個(gè)非常詳細(xì)的網(wǎng)絡(luò)安全筆記,是我學(xué)習(xí)網(wǎng)安過(guò)程中用心寫(xiě)的,可以點(diǎn)開(kāi)以下鏈接獲取: 超詳細(xì)的網(wǎng)絡(luò)安全筆記?編輯https://m.tb.cn/h.5JdFcih?tk=OuVrWRl9vMx%20CZ3457 https://m.tb.cn/

    2024年02月07日
    瀏覽(29)
  • 第27天:安全開(kāi)發(fā)-PHP應(yīng)用&TP框架&路由訪問(wèn)&對(duì)象操作&內(nèi)置過(guò)濾繞過(guò)&核心漏洞

    第27天:安全開(kāi)發(fā)-PHP應(yīng)用&TP框架&路由訪問(wèn)&對(duì)象操作&內(nèi)置過(guò)濾繞過(guò)&核心漏洞

    1.TP框架-開(kāi)發(fā)-配置架構(gòu)路由MVC模型 參考:https://www.kancloud.cn/manual/thinkphp5_1 配置架構(gòu)-導(dǎo)入使用 路由訪問(wèn)-URL訪問(wèn) 數(shù)據(jù)庫(kù)操作-應(yīng)用對(duì)象 文件上傳操作-應(yīng)用對(duì)象 前端頁(yè)面渲染-MVC模型 1.TP框架-安全-不安全寫(xiě)法版本過(guò)濾繞過(guò) 1.內(nèi)置代碼寫(xiě)法 不合要求的代碼寫(xiě)法-ThinkPHP5-自寫(xiě) 2.框架

    2024年04月25日
    瀏覽(30)
  • CTF筆記:PHP函數(shù)is_numeric()繞過(guò)

    CTF筆記:PHP函數(shù)is_numeric()繞過(guò)

    在做CTF過(guò)程中遇到的is_numeric()函數(shù),作用是判斷輸入是不是數(shù)字或數(shù)字字符串。 思路1:數(shù)值-非數(shù)值 原題是[極客大挑戰(zhàn) 2019]BuyFlag,判斷代碼如下: 密碼是404,但是不能輸入數(shù)字,所以要考慮繞過(guò)的問(wèn)題,這里記錄解題思路。 上網(wǎng)搜了一下,可以借助url編碼中的空字符,例

    2024年02月08日
    瀏覽(23)
  • PHP反序列化漏洞原理

    1、原理: 序列化與反序列化是保證數(shù)據(jù)一致性的過(guò)程。 2、產(chǎn)生: 序列化與反序列化的過(guò)程中,用戶可控 如果反序列化的參數(shù)受到攻擊者的控制,就會(huì)產(chǎn)生漏洞。攻擊者可以通過(guò)修改參數(shù)個(gè)數(shù)等方式來(lái)控制反序列化過(guò)程,從而導(dǎo)致代碼執(zhí)行、SQL注入、目錄遍歷等不可控后果。

    2024年01月16日
    瀏覽(24)
  • PHP文件上傳漏洞原理以及防御姿勢(shì)

    PHP文件上傳漏洞原理以及防御姿勢(shì)

    0x00 漏洞描述 ? 在實(shí)際開(kāi)發(fā)過(guò)程中文件上傳的功能時(shí)十分常見(jiàn)的,比如博客系統(tǒng)用戶需要文件上傳功能來(lái)上傳自己的頭像,寫(xiě)博客時(shí)需要上傳圖片來(lái)豐富自己的文章,購(gòu)物系統(tǒng)在識(shí)圖搜索時(shí)也需要上傳圖片等,文件上傳功能固然重要,但是如果在實(shí)現(xiàn)相應(yīng)功能時(shí)沒(méi)有注意安全

    2024年02月02日
    瀏覽(23)
  • php代碼審計(jì),php漏洞詳解

    php代碼審計(jì),php漏洞詳解

    大多數(shù)漏洞的形成原因主要都是未對(duì)輸入數(shù)據(jù)進(jìn)行安全驗(yàn)證或?qū)敵鰯?shù)據(jù)未經(jīng)過(guò)安全處 理,比較嚴(yán)格的數(shù)據(jù)驗(yàn)證方式為: 對(duì)數(shù)據(jù)進(jìn)行精確匹配 接受白名單的數(shù)據(jù) 拒絕黑名單的數(shù)據(jù) 對(duì)匹配黑名單的數(shù)據(jù)進(jìn)行編碼 在 PHP 中可由用戶輸入的變量列表如下,我們應(yīng)該對(duì)這些輸入變

    2024年02月13日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包