最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

BMZCTF-ezeval 和 [WUSTCTF2020]樸實無華1 - supz

2022-03-30 13:38 作者:rkvir逆向工程學(xué)院  | 我要投稿

作者?| 楓澗

編輯?| 楌橪


日常練習(xí):BMZCTF-ezeval / [WUSTCTF2020]樸實無華1;

BMZCTF-ezeval
源代碼:

分析:我們通過POST方式,向cmd提交內(nèi)容,然后cmd經(jīng)過htmlsmecialchars()過濾,再使用str_ireplace()經(jīng)過黑名單black_list再過濾一次,最后eval()來執(zhí)行cmd參數(shù)的內(nèi)容;

其中,str_ireplace(find,replace,string, count)函數(shù);就是做替換的函數(shù),可以指定替換內(nèi)容中的哪一部分,比如:


然后對于這道題,我們發(fā)現(xiàn)array里面過濾了很多函數(shù),乍一看暫時想不到利用的方法,但其實我們很容易就可以繞過。分享以下兩種解法:

1.PHP里面,可以用'.'來進(jìn)行前后內(nèi)容的拼接;

2.可以考慮對一個東西進(jìn)行編碼嘗試;

也就是對應(yīng)的:

?cmd=(s.y.s.t.e.m)(cat /flag); //黑名單system分成用'.'來進(jìn)行拼接的;?cmd=hexbin(73797374656d)(cat /flag); //對照ascii碼表把system每個字母的ascii碼值連在一起;

于是先用ls /得到flag的位置,再去cat獲取flag:



這道題嘗試用echo以及exec,但是由于htmlspecialchars對實體符號的限制,暫時利用不了,也可能我想的不夠全面,后面再看看有沒有其它利用方法;

[WUSTCTF2020]樸實無華1
打開題目,就一個hack me,嘗試看看存不存在robots.txt,果然存在東西,訪問/fAke_f1agggg.php


結(jié)果給了個假的flag,那包里邊應(yīng)該會存在內(nèi)容,嘗試抓包看一下;


我們可以看到藏了個/fl4g.php,訪問一下得到源代碼;

一共有3個level的過濾:

1. level_1:

分析:level_1是針對intval()的過濾,當(dāng)我們的intval()括號內(nèi)是一個string的數(shù)字和字符串混合內(nèi)容時,則返回的是這串內(nèi)容的第一位數(shù)字,而當(dāng)我們對這個字符型的內(nèi)容進(jìn)行加減乘除操作的時候,這串字符則會對應(yīng)地轉(zhuǎn)換為int或者double類型;
比如:

滿足了我們的num既要小于2020,還要在加1后大于2021,那么我們便可以通過?num=1e10來繞過,得到:

2. level_2

分析:level_2是php弱類型比較;(感覺還帶了點(diǎn)md5碰撞問題的樣子),這里我們需要知道'=='兩個等號做比較的時候,會先將左右兩邊的內(nèi)容轉(zhuǎn)換為同一種類型的內(nèi)容再進(jìn)行比較。而在php中,如果有一串內(nèi)容以0e開頭,那么這串內(nèi)容會以科學(xué)計數(shù)法的形式表示,而0的次方就是0。所以,我們的思路就是通過找到一個0e開頭的值,且md5加密后的內(nèi)容也是0e開頭的,使得條件為真。
那么找到了滿足條件的值:0e215962017,拼在level_1的poc后邊兒?num=1e10&md5=0e215962017得到:

3. level_3

分析:最終是先通過strstr()過濾了空格,再通過str_ireplace()過濾cat參數(shù),空格和這種簡單過濾字符串的繞過很簡單,舉幾個例子:

OK,回到這個題,我們先ls一下,看到了flag的那一坨名字:

最后結(jié)合上方的例子,可以得到一下幾種poc(為了方便看,我就把那一長串名字簡寫成flag):

?num=1e10&md5=0e215962017&get_flag=ca""t%09flag

?num=1e10&md5=0e215962017&get_flag=ca\t%09flag

?num=1e10&md5=0e215962017&get_flag=ca""t<flag< code="">?num=1e10&md5=0e215962017&get_flag=ca""t$IFS$9flag?num=1e10&md5=0e215962017&get_flag=ca""t$IFS$1flag?num=1e10&md5=0e215962017&get_flag=ca""t${IFS}$1flag

最終拿到flag:


BMZCTF-ezeval 和 [WUSTCTF2020]樸實無華1 - supz的評論 (共 條)

分享到微博請遵守國家法律
乌兰察布市| 育儿| 招远市| 长顺县| 石台县| 屏南县| 黔东| 陆良县| 沙河市| 安阳市| 庆元县| 陕西省| 岳池县| 缙云县| 梅河口市| 隆尧县| 仪征市| 兴文县| 乾安县| 阿拉尔市| 靖宇县| 洛川县| 安福县| 兴安盟| 滦南县| 常德市| 万州区| 江津市| 满洲里市| 眉山市| 崇阳县| 金湖县| 荣昌县| 呼和浩特市| 米林县| 屏山县| 库车县| 麻阳| 黑水县| 开平市| 务川|