国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

CTF中常見的PHP漏洞介紹(圖文總結)

2020-03-22 19:29:20
字體:
來源:轉載
供稿:網友

本篇文章給大家帶來的內容是關于CTF中常見的PHP漏洞介紹(圖文總結)),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

平常也遇到不少這樣的題目,記性不好很容易忘,于是好好總結一下加深記憶!!!

一. md5()漏洞,php在處理哈希字符串時會利用”!=”或” ==”來對哈希值進行比較,它把每一個以” 0E”開頭的哈希值都解釋為0,所以如果兩個不同的密碼經過哈希以后,其哈希值都是以” 0E”開頭的,那么PHP將會認為他們相同,都是0。

下面舉幾個經md5處理后開頭為0e的例子;
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
下面我們做個實驗試試:
在這里插入圖片描述
結果。。。如我們期望的一樣

在這里插入圖片描述

因此,當md5加密的字符串是可控(即可以控制輸入),就可能造成漏洞!!!

當然,更有趣的是,md5,是不能處理數組的。下面也是實驗:

在這里插入圖片描述
我們傳入兩個不同的數組:

在這里插入圖片描述

會發現雖然有警告,但是仍能繞過,(不想有警告在前面加@符號即可):
在這里插入圖片描述
但是,不知道不知道處理數組會返回什么,因此試驗一下:
在這里插入圖片描述

var_dump()一下:

在這里插入圖片描述

為空!!!說明處理數組的時候,會返回NULL值。

對于 md5(str)==0 有很多繞過方法;總結一下:

開頭為0或0e繞過

數組

只要經md5函數處理后開頭沒有數字都都可以,比如 c9f0f895fb98ab9159f51fd0297e236d ==0成立!!!,用到了html' target='_blank'>字符串轉換成整數!!!,如果開頭沒有數字的話,就只能轉換成0了!!

二.strcmp()函數漏洞,
strcmp()函數用于比較兩個字符串,
strcmp( string$ str1, string$ str2) ;
參數str1第一個字符串.str2第二個字符串。如果str1小于str2返回 如果str1大于str2返回 如果兩者相等,返回0.(注意相等返回0這個特性)

但是如果此函數參數中有一個不合法的參數(對象,數組等),就會報錯并返回0!!!(此漏洞適用于5.3之前的php,本機試了一下。。發現弄不了,不知道怎么回事)
下面以BUGKU代碼審計一道題實例:
在這里插入圖片描述
如圖,根據strcmp漏洞,傳入一個數組試試:
在這里插入圖片描述

傳入數組,導致strcmp錯誤,返回,于是就繞過了!!!
還有另一個函數strcasecmp(),與strcmp()相同,strcmp()區分大小寫,而strcasecmp()不區分,都可用同樣方法繞過。

以上就是CTF中常見的PHP漏洞介紹(圖文總結)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温宿县| 维西| 普陀区| 宁城县| 晋中市| 若尔盖县| 额敏县| 嘉鱼县| 昭通市| 逊克县| 桐柏县| 德清县| 昌黎县| 讷河市| 仙桃市| 玉溪市| 怀安县| 突泉县| 旬阳县| 曲阳县| 扶绥县| 三江| 文登市| 喀什市| 庆云县| 应城市| 沈阳市| 黑水县| 建阳市| 宁陵县| 镇赉县| 虹口区| 三原县| 广元市| 辽阳市| 宁陵县| 曲阳县| 锡林浩特市| 偏关县| 葫芦岛市| 陵川县|