? ? 小白劃水之路--------->求大佬帶
? ? 這段時間終于可以好好享受一下被虐的過程了,這兩天終于是解開了一道題,這道題我猜要考的是命令執(zhí)行,分享一下我被虐的過程吧。
? ? 在平臺中最顯眼的東西就是那個flag的按鈕,不難想到這個文件和站點在同一個目錄下。

????接下來就是想法子搞開這個文件,看看有沒有什么隱藏的內(nèi)容,雖然不知道有沒有但畢竟是一個可實踐的思路。
? ? 有了思路也就有了方向,在界面僅有的幾個按鈕點擊下,收集到的文件都有以下幾項:
1、index.php ->接收兩個參數(shù)
2、flag.php ? ->不接收參數(shù)
3、photos 由index.php接收act=photos時顯示,由pid參數(shù)控制顯示的圖片,共12張圖,ID分別是0-11,存放在一個叫images的文件夾下面。
4、news由index.php接收act=news時顯示,由nid參數(shù)控制顯示的文件,共3個文件ID分別是1-3,這里猜測這三個文件放在一個文件夾下。
? ? 有參數(shù),那就可能存在注入,不過這里是現(xiàn)實圖片和文件,不涉及數(shù)據(jù)庫,所以猜測可能是文件包含、xss注入(DOM型和反射型)、命令執(zhí)行??赡苁俏冶容^菜吧,只能想到這三個。。。。
????首先對xss進行測試


? ? 所以說這里存在過濾條件,而且不回顯,那么xss注入的概率無限減小,放棄。對photos板塊也就不測試了,猜測存在整型數(shù)判斷函數(shù)intval(),數(shù)字長度無法大過9223372036854775807也無法小過-9223372036854775808,能被利用的價值不大。
? ? 所以我想試試文件包含,不過什么試都是一個結(jié)果,后來終于找到了原因,他們過濾大小寫的26字母


? ? 過濾字母不可怕,可以用其他編碼繞過,但在試的時候有的會出現(xiàn)成功,有的又回顯這個界面,在經(jīng)過一番測試之后發(fā)現(xiàn),他們把參數(shù)長度限制在5個字符以內(nèi)


? ? 這樣下來就放棄了編碼繞過的方式,同時放棄文件包含,畢竟這些操作下參數(shù)都會過長。
? ? 剩最后一種操作,命令執(zhí)行。重新整理一下思路:5個字符內(nèi)通過命令回顯flag.php文件。思路是有,不過任務(wù)還是艱巨。在貴人的提醒下,選擇了通配符繞過的方法。
? ? 接下來就是上網(wǎng)搜Linux命令了,先選擇現(xiàn)實文件內(nèi)容的命令,選最短的nl命令,再找最短的能匹配文件內(nèi)容的字符,不用說就是*,然后選擇能實現(xiàn)nl命令的命令通配符,也就是??。所以我們實現(xiàn)nl flag.php的命令就用?? *代替,這里已經(jīng)只用走了四個字符。測試結(jié)果

????可以看到這里回顯出了一個類似目錄的信息,猜測是執(zhí)行了ls flag.php,下面的亂碼也是執(zhí)行了其他條件,也就是說nl flag.php也執(zhí)行了,查看源碼

????由于這是我在比賽期間做的,這里就不現(xiàn)實flag了,有環(huán)境的話也可以復(fù)現(xiàn)一下。